贝叶斯分类器是基于概率的计算,即如果有一个样本待预测,各属性已知,那么我们就找出符合这些属性的类别概率,把概率最大的作为该样本的label。
如何计算符合这些属性的类别概率(后验概率)呢?在概率与统计中,有一个定理,P(Y,X) = P(X)P(Y|X) = P(Y)P(X|Y),
如果我们把X看作属性,把Y看作分类结果label,那么我们想要得到的就是在属性X已知的情况下,各类别P(Y|X)的概率,并从中选取最大的Y的label作为预测结果。
而 P(Y|X) = P(Y)P(X|Y) / P(X),后面的三个变量可以基于样本数据得出,因此可以求解。
这还没有结束,因为从有限的数据集中得出的概率有可能是错误的,比如投一个硬币,会得到正反面,投了10次,3次正面,7次反面,那么正面的概率是0.3,但是实际上正面的概率应该是0.5啊,因此从有限的样本中计算出来的概率并不准确。
怎么办? 我们假设这些样本得到的数据也服从一个分布,引入一个分布的参数θ,这时问题转化为求解一个θ,使目前我们从有限样本中得到的条件概率最大化,即得到极大似然估计。
如果预测的样本属性在训练集中没出现怎么办?这样由样本集计算出来的概率不就是0了吗?于是引入拉普拉斯平滑修正。
基于各属性完全独立的假设,成为朴素贝叶斯分类器;
但现实中属性不可能都是完全独立的,引入半朴素贝叶斯分类器,它假设有一部分属性是依赖的。引入独依赖估计ODE,即除了结果之外最多可以依赖一个其他属性。简单的独依赖是超父属性独依赖SPOD