ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

机器学习之贝叶斯分类

2019-03-18 22:49:50  阅读:306  来源: 互联网

标签:... F2 机器 打喷嚏 分类 感冒 贝叶斯 建筑工人 Fn


朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的基础上得出的分类方法。朴素贝叶斯法实现简单,学习与预测效率高,是一种常用的方法。当样本中的各个变量独立时,朴素贝叶斯法所得出的分类结果准确率是最高的。但是这个条件比较苛刻,在实际情况中各个变量往往具有相关性。即使如此,当变量之间相关性较低时,贝叶斯分类依然有较好的分类性能。
下边结合李航老师的统计学习方法以及一些网站用例子来直接理解贝叶斯分类。

1.病人分类

医院早上收了6个病人,信息如下表

症状 职业 疾病
打喷嚏 护士 感冒
打喷嚏 农夫 过敏
头痛 建筑工人 脑震荡
头痛 建筑工人 感冒
打喷嚏 教师 感冒
头痛 教师 脑震荡

问来了一个打喷嚏的建筑工人,患感冒的几率是多大。

根据贝叶斯定理
P(AB)=P(BA)P(A)P(B)P(A|B) = \frac{P(B|A)*P(A)}{P(B)}P(A∣B)=P(B)P(B∣A)∗P(A)​
P()=P()P()P()P(感冒|打喷嚏,建筑工人) = \frac{P(打喷嚏,建筑工人|感冒)*P(感冒)}{P(打喷嚏,建筑工人)}P(感冒∣打喷嚏,建筑工人)=P(打喷嚏,建筑工人)P(打喷嚏,建筑工人∣感冒)∗P(感冒)​
其中打喷嚏、建筑工人这两个特征可以看成是独立的,所以P()=P()P()=0.50.33=0.166P(打喷嚏,建筑工人) = P(打喷嚏)*P(建筑工人)=0.5*0.33=0.166P(打喷嚏,建筑工人)=P(打喷嚏)∗P(建筑工人)=0.5∗0.33=0.166
而从表得知P(感冒)=0.5。
P()=P()P()=0.660.33=0.218P(打喷嚏,建筑工人|感冒)=P(打喷嚏|感冒)*P(建筑工人|感冒)\\=0.66*0.33=0.218P(打喷嚏,建筑工人∣感冒)=P(打喷嚏∣感冒)∗P(建筑工人∣感冒)=0.66∗0.33=0.218
因此最后的结果为0.218*0.5/0.166=66%
同理,可以根据这个公式计算该病人得过敏和脑震荡的几率,取最大值为最终的判断。

2.贝叶斯分类器公式

设样本有N个特征,分别为F1,F2...FnF_1,F_2...F_nF1​,F2​...Fn​,有M个分类标签C1,C2...CMC_1,C_2...C_MC1​,C2​...CM​,则贝叶斯分类器就是求以下算式的最大值
P(CF1,F2...Fn)=P(F1,F2...FnC)P(C)P(F1,F2....Fn)P(C|F_1,F_2...F_n)=\frac{P(F_1,F_2...F_n|C)*P(C)}{P(F_1,F_2....F_n)}P(C∣F1​,F2​...Fn​)=P(F1​,F2​....Fn​)P(F1​,F2​...Fn​∣C)∗P(C)​
而对于每一个C1...CMC_1...C_MC1​...CM​,分母都是一样的,因此只要求分子最大值就可以了。
贝叶斯分类再假设样本中每个特征都是独立的,因此
P(F1,F2...FnC)=P(F1C)P(F2C)....P(FnC)P(F_1,F_2...F_n|C)=P(F_1|C)*P(F_2|C)....P(F_n|C)P(F1​,F2​...Fn​∣C)=P(F1​∣C)∗P(F2​∣C)....P(Fn​∣C)
对于每一个CKk{1,2...M}C_K \quad k\in\{1,2...M\}CK​k∈{1,2...M}求得每一个P(F1,F2...FnCK)P(F_1,F_2...F_n|C_K)P(F1​,F2​...Fn​∣CK​)的值,取最大值时K作为此样本的分类即可

3 另一个例子

在这里插入图片描述
由以上训练样本及标签确定一个贝叶斯分类器。样本为1个2维向量,其中X(1){1,2,3},X(2){S,M,L}X^{(1)}\in\{1,2,3\},X^{(2)}\in\{S,M,L\}X(1)∈{1,2,3},X(2)∈{S,M,L},标签Y{1,1}Y\in\{-1,1\}Y∈{−1,1}。并且求样本x={2,S}x=\{2,S\}x={2,S}的标签。

因为标签为-1,1,因此要求样本x的标签,即求P(Y=1|X=(2,S))和P(Y=-1|X=(2,S))。
P(Y=1X=(2,S))=P(X=(2,S)Y=1)P(Y=1)=P(X1=2Y=1)P(X2=SY=1)P(Y=1)=2636915=145\begin{aligned} P(Y=1|X=(2,S)) &= P(X=(2,S)|Y=1)*P(Y=1)\\ &=P(X_1=2|Y=1)*P(X_2=S|Y=1)*P(Y=1)\\ &=\frac{2}{6}*\frac{3}{6}*\frac{9}{15}=\frac{1}{45} \end{aligned}P(Y=1∣X=(2,S))​=P(X=(2,S)∣Y=1)∗P(Y=1)=P(X1​=2∣Y=1)∗P(X2​=S∣Y=1)∗P(Y=1)=62​∗63​∗159​=451​​
同理求得P(Y=1X=(2,S))=115P(Y=-1|X=(2,S))=\frac{1}{15}P(Y=−1∣X=(2,S))=151​,因此此样本标签记为-1。

标签:...,F2,机器,打喷嚏,分类,感冒,贝叶斯,建筑工人,Fn
来源: https://blog.csdn.net/a136522541/article/details/88650226

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有