假设有n种可能的类别标记Y={c1,c2,⋯,cn},λij是将一个真实标记cj的样本分为ci所产生的损失。
R(ci ∣ x)=j=1∑nλijP(ci ∣ x)
该式反映了将样本x分类到ci产生的风险。
h∗(x)=c∈YargminR(c ∣ x)
- XhY
即映射h可以使每个样本的的条件风险都最小,此时的h∗称为贝叶斯最优分类器,R(h∗)称为贝叶斯风险。
该式还反映了通过机器学习产生的模型精度的理论上限。
当目标是最小化分类错误率时
λij={01i=ji=j
R(c ∣ x)=1−P(c ∣ x)
h∗(x)=c∈YargmaxP(c ∣ x)
与决策树、SVM、BP神经网络等判别式模型不同贝叶斯分类器属于生成式模型。
P(c ∣ x)=P(x)P(x,c)=P(x)P(c)⋅P(x ∣ c)
先验概率 |
后验概率 |
证据 |
似然(类条件概率) |
P(c) |
P(c ∣ x) |
P(x) |
P(x ∣ c) |
令Dc表示训练集中第c类样本的集合,则θc对于Dc似然为
P(Dc ∣ θc)=x∈Dc∏P(x ∣ θc)
上式连乘易造成下溢,故改写成对数似然
LL(θc)=logP(Dc ∣ θc)=x∈Dc∑logP(x ∣ θc)
则极大似然θ^为
θ^=θcargmaxLL(θc)
在连续属性情形下,假设p(x ∣ c)∼N(μc,σc2),即正态分布
⎩⎪⎪⎪⎨⎪⎪⎪⎧μ^c=∣Dc∣1x∈Dc∑xσ^c2=∣Dc∣1x∈Dc∑(x−μ^c)(x−μ^c)T
该方法估计结果的准确性严重依赖所假设的概率分布是否符合潜在的真实数据的分布。
P(c ∣ x)=P(x)P(c)⋅P(x ∣ c)=P(x)P(c)i=1∏dP(xi ∣ c)
- d:属性数目
- xi:第i个属性的取值
属性条件独立性假设。
Ca+ |
Mg+ |
Na+ |
Cl- |
Type |
低 |
高 |
高 |
高 |
冰川水 |
高 |
低 |
高 |
高 |
冰川水 |
低 |
高 |
低 |
低 |
冰川水 |
高 |
高 |
低 |
低 |
冰川水 |
低 |
低 |
低 |
低 |
湖泊水 |
高 |
低 |
低 |
低 |
湖泊水 |
低 |
高 |
高 |
低 |
湖泊水 |
高 |
低 |
高 |
低 |
湖泊水 |
低 |
高 |
高 |
低 |
? |
P(Ca+=低,Mg+=高,Na+=高,Cl=低 ∣∣∣ Type=冰川水)×P(冰川水)
==(21×43×42×62)×84=321P(Ca+=低 ∣∣∣ Type=冰川水)P(Mg+=高 ∣∣∣ Type=冰川水)P(Na+=高 ∣∣∣ Type=冰川水)P(Cl−=低 ∣∣∣ Type=冰川水)P(冰川水)××××
P(Ca+=低,Mg+=高,Na+=高,Cl=低 ∣∣∣ Type=湖泊水)×P(湖泊水)
==(21×41×42×64)×84=481P(Ca+=低 ∣∣∣ Type=湖泊水)P(Mg+=高 ∣∣∣ Type=湖泊水)P(Na+=高 ∣∣∣ Type=湖泊水)P(Cl−=低 ∣∣∣ Type=湖泊水)P(湖泊水)××××
故(Ca+=低,Mg+=高,Na+=高,Cl=低)为冰川水。
hnb=c∈YargmaxP(c)i=1∏dP(xi ∣ c)
先验概率
P(c)=∣D∣∣Dc∣
似然(离散)
P(xi ∣ c)=∣Dc∣∣Dc,xi∣
似然(连续)
P(xi ∣ c)=2πσc,i1exp(−2σc,i2(xi−μc,i)2)
若某个属性值在训练集中没有与某个类同时出现过,则直接计算会出现问题,为了避免其它属性携带的信息被训练集中未出现的属性值抹去,在估计概率时需要进行拉普拉斯修正。
P(xi ∣ c)=∣Dc∣+Ni∣Dc,xi∣+1
一般情况下,属性条件独立性假设很难成立,尝试对该条件进行一定的放松,得到半朴素贝叶斯分类器学习方法。