1.概述
- 贝叶斯分类算法是一大类分类算法的总称
- 贝叶斯分类算法以样本可能属于某类的概率来作为分类依据
- 朴素贝叶斯分类算法是贝叶斯分类算法中最简单的一种
注:朴素的意思是条件概率独立性,此处要想真正理解,需要有概率论的基础知识
P(A|x1x2x3x4)=p(A|x1)*p(A|x2)p(A|x3)p(A|x4)则为条件概率独立
P(xy|z)=p(xyz)/p(z)=p(xz)/p(z)*p(yz)/p(z)
2.算法思想
朴素贝叶斯的思想是这样的:
如果一个事物在一些属性条件发生的情况下,事物属于A的概率 > 属于B的概率,则判定事物属于A
通俗来说比如,你在街上看到一个黑人,我让你猜这哥们哪里来的,你十有八九猜非洲。为什么呢? 在你的脑海中,有这么一个判断流程:
1.这个人的肤色是黑色 <特征>
2.黑色人种是非洲人的概率最高 <条件概率:黑色条件下是非洲人的概率>
3.没有其他辅助信息的情况下,最好的判断就是非洲人
这就是朴素贝叶斯的思想基础。
再扩展一下,假如在街上看到一个黑人讲英语,那我们是怎么去判断他来自于哪里?下面提取特征:
肤色: 黑
语言: 英语
黑色人种来自非洲的概率:
80%
黑色人种来自于美国的概率:
20%
讲英语的人来自于非洲的概率:
10%
讲英语的人来自于美国的概率:
90%
在我们的自然思维方式中,就会这样判断:
- 这个人来自非洲的概率:
80% * 10% = 0.08
- 这个人来自美国的概率:
20% * 90% =0.18
我们的判断结果就是:此人来自美国!
其蕴含的数学原理如下:
p(A|xy)=p(Axy)/p(xy)=p(Axy)/p(x)p(y)=p(A)/p(x)*p(A)/p(y)* p(xy)/p(xy)=p(A|x)p(A|y)
3. 算法要点
3.1 算法步骤
- 分解各类先验样本数据中的特征
- 计算各类数据中,各特征的条件概率(比如:特征1出现的情况下,属于A类的概率p(A|特征1),属于B类的概率p(B|特征1),属于C类的概率p(C|特征1)…)
- 分解待分类数据中的特征(特征1、特征2、特征3、特征4…)
- 计算各特征的各条件概率的乘积,如下所示:
判断为A类的概率:p(A|特征1)*p(A|特征2)*p(A|特征3)*p(A|特征4)
…
判断为B类的概率:p(B|特征1)*p(B|特征2)*p(B|特征3)*p(B|特征4)
…
判断为C类的概率:p(C|特征1)*p(C|特征2)*p(C|特征3)*p(C|特征4)
…
… - 结果中的最大值就是该样本所属的类别
3.2 算法应用举例
大众点评、淘宝等电商上都会有大量的用户评论,比如:
序号 | 评论 | 标志 |
1 | 衣服质量太差了!!!!颜色根本不纯!!! | 0 |
2 | 我有一有种上当受骗的感觉!!!! | 0 |
3 | 质量太差,衣服拿到手感觉像旧货!!! | 0 |
4 | 上身漂亮,合身,很帅,给卖家点赞 | 1 |
5 | 穿上衣服帅呆了,给点一万个赞 | 1 |
6 | 我在他家买了三件衣服!!!!质量都很差! | 0 |
其中1/2/3/6是差评,4/5是好评
现在需要使用朴素贝叶斯分类算法来自动分类其他的评论,比如:
a. 这么差的衣服以后再也不买了
b. 帅,有逼格
……
3.3 算法应用流程
1.分解出先验数据中的各特征(即分词,比如“衣服”“质量太差”“差”“不纯”“帅”“漂亮”,“赞”……)
2.计算各类别(好评、差评)中,各特征的条件概率(比如 p(“衣服”|差评)、p(“衣服”|好评)、p(“差”|好评) 、p(“差”|差评)……)
3.分解出待分类样本的各特征(比如分解a: “差” “衣服” ……)
4.计算类别概率
P(好评) = p(好评|“差”) *p(好评|“衣服”)*……
P(差评) = p(差评|“差”) *p(差评|“衣服”)*……
5.显然P(差评)的结果值更大,因此a被判别为“差评”