朴素贝叶斯是基于概率的分类器。
条件概率
A,B表示两个独立的事件,概率P(A|B)表示事件B发生的情况下,事件A发生的概率。即:
P(A|B)=P(AB)/P(B)
在应用中,常常知道P(A|B),来求P(B|A);即比较容易知道一种情况的概率,以此来请另一种情况的概率:
P(A|B)=P(B|A)P(A)/P(B)
这就是贝叶斯公式
朴素贝叶斯分类
上面的贝叶斯公式只是最简单的原理。在分类时常常有多个特征,假设有特征
F1
,
F2
, …,
Fn
(特征之间相互独立),C表示类别,贝叶斯公式可以为:
P(C|F1,F2,...,Fn)=P(C)P(F1,F2,...,Fn|C)P(F1,F2,...,Fn)
公式表示,包含特征 F1 , F2 , …, Fn 的元素是C类别的概率。分母是固定的,展开分子项
P(C)P(F1,F2,...,Fn|C)=P(C)P(F1,C)P(F2,...,Fn|C,F1)=P(C)P(F1,|C)P(F2|C,F1)P(F3|C,F1,F2)...P(Fn|C,F1,F2,...Fn−1)
因为特征F之间相互独立,朴素意味着“条件独立”
P(Fi|C,Fj)=P(Fi|C)
。
上面的公式可以简化为
P(C)P(F1,F2,...,Fn|C)=P(C)P(F1|C)P(F2,|C)...P(Fn|C)=P(C)∏inP(Fi|C)
朴素贝叶斯分类是要计算特征
F1
,
F2
, …,
Fn
的元素是其他类别的概率,找出最大类别的概率,即
classify(f1,...,fn)=argmaxP(C=c)∏P(Fi=fi|C=C)
例子
性别 | 身高(英尺) | 体重(磅) | 脚的尺寸(英寸) |
---|---|---|---|
男 | 6 | 180 | 12 |
男 | 5.92 (5’11”) | 190 | 11 |
男 | 5.58 (5’7”) | 170 | 12 |
男 | 5.92 (5’11”) | 165 | 10 |
女 | 5 | 100 | 6 |
女 | 5.5 (5’6”) | 150 | 8 |
女 | 5.42 | (5’5”) | 130 |
女 | 5.75 (5’9”) | 150 | 9 |
身高、体重、脚的大小都为连续变量。处理连续变量,常常假设其符合高斯分布。例如对于属性x,可以计算器均值和方差,假设变量x的均值为 μ ,方差为 σ2 。那么
P(x=v|X)=12πσ2−−−−√e−(v−μ)22σ2
经过计算,可以得到
性别 | 均值(身高) | 方差(身高) | 均值(体重) | 方差(体重) | 均值(脚的尺寸) | 方差(脚的尺寸) |
---|---|---|---|---|---|---|
男性 | 5.855 | 3.5033e-02 | 176.25 | 1.2292e+02 | 11.25 | 9.1667e-01 |
女性 | 5.4175 | 9.7225e-02 | 132.5 | 5.5833e+02 | 7.5 | 1.6667e+00 |
给出一组参数:
性别 | 身高(英尺) | 体重(磅) | 脚的尺寸(英尺) |
---|---|---|---|
sample | 6 | 130 | 8 |
求sample性别?在求解时,比较这组参数为男的概率和为女的概率,取较大者即可。
P(男|身高,体重,脚的尺寸)= P(男)P(身高|男)P(体重|男)P(脚的尺寸|男)/P(身高,体重,脚的尺寸)
P(女|身高,体重,脚的尺寸)= P(女)P(身高|女)P(体重|女)P(脚的尺寸|女)/P(身高,体重,脚的尺寸)
在这组参数中,比较分母即可,假设P(男) = P(女) = 0.5