1.贝叶斯决策论
在所有相关概率都已知的情况下,对每个样本 x x x,选择能使后验概率 P ( c ∣ x ) P(c|x) P(c∣x)最大的类别标记。要从训练集中估计出后验概率,两个办法:1.判别式模型:通过给定数据,直接建模 P ( c ∣ x ) P(c|x) P(c∣x)预测 c c c。2.生成式模型:先对联合概率 P ( x , c ) P(x,c) P(x,c)建模,再通过 P ( c ∣ x ) = P ( x , c ) / P ( x ) P(c|x)=P(x,c)/P(x) P(c∣x)=P(x,c)/P(x)计算。但是求P(x,c)很困难,难以从有限样本中得到,不符合大数定理。
下面三种方法都是为了求解P(x,c),但是区别在于假设条件不同。极大似然假设类条件概率具有某种概率分布形式,需要自定义;朴素贝叶斯假设所有属性相互独立;半朴素贝叶斯假设每种属性最多依赖一个其它属性。
2.极大似然估计
假定类条件概率具有某种概率分布形式,再根据训练样本对概率分布函数进行估计。同时假设其具有确定形式且只被参数向量 θ c \theta_c θc唯一确定.
对数似然: L L ( θ c ) = l o g P ( D c ∣ θ c ) = ∑ x ∈ D C l o g P ( x ∣ θ c ) LL(\theta_c)=logP(D_c|\theta_c)=\sum_{x\in D_C}{logP(x|\theta_c)} LL(θc)=logP(Dc∣θc)=x∈DC∑logP(x∣θc) ,找出使之最大的 θ c \theta_c θc即可。(假设 θ c \theta_c θc是定值)
3.朴素贝叶斯分类器
假设所有属性相互独立,分类器表达式: h n b = m a x P ( c ) ∏ i = 1 d P ( x i ∣ c ) h_{nb}=max P(c)\prod_{i=1}^{d}P(x_i|c) hnb=maxP(c)i=1∏dP(xi∣c)
但问题在于若某属性没有数据,则 ∏ i = 1 d P ( x i ∣ c ) \prod_{i=1}^{d}P(x_i|c) ∏i=1dP(xi∣c)将等于0,抹杀正确答案,所以使用拉普拉斯修正:
P ( c ) = ∣ D c ∣ + 1 ∣ D ∣ + N P(c)=\frac{|D_c|+1}{|D|+N} P(c)=∣D∣+N∣Dc∣+1
P ( x i ∣ c ) = ∣ D c , x i ∣ + 1 ∣ D c ∣ + N i P(x_i|c)=\frac{|D_{c,x_i}|+1}{|D_c|+N_i} P(xi∣c)=∣Dc∣+Ni∣Dc,xi∣+1
4.半朴素贝叶斯分类器
假设每种属性最多依赖一个其它属性
h n b ∝ P ( c ) ∏ i = 1 d P ( x i ∣ c , p a i ) h_{nb}\propto P(c)\prod_{i=1}^{d}P(x_i|c,pa_i) hnb∝P(c)i=1∏dP(xi∣c,pai)
确定相关属性最直接的办法是直接设依赖于同一个属性,为“超父”;或者在最大生成树算法基础上将依赖关系简化为树形结构。
若假设依赖属性不止一个,如果训练数据非常充分泛化性有所提升;否则会陷入高阶联合概率的困难中。