朴素贝叶斯算法中的拉普拉斯平滑,是为了缓解先验概率为零的情况。在贝叶斯估计中,使用狄利克雷分布作为先验分布,来估计多项分布中的参数值,即可得到拉普拉斯平滑。证明如下:
一、狄利克雷分布
引入狄利克雷分布的定义,若随机向量符合狄利克雷分布,即 ,其中
,设
,则
的概率密度函数为:
下面计算随机向量 的分量
的期望。我们通过计算
来代替,这仍然不失一般性。
的概率密度函数为:
的期望为:
故,
二、多项分布
引入多项分布的定义,若随机向量满足多项分布,即 ,其中
,则
的分布律为:
在多项分布参数的贝叶斯估计中,使用狄利克雷分布作为先验分布。设 为狄利克雷分布的概率密度函数,
为多项分布的分布律,则后验分布为:
由于多项分布的后验分布也是狄利克雷分布,故狄利克雷分布是多项分布的共轭分布。由此可得多项分布参数 的贝叶斯估计值为:
三、拉普拉斯平滑
设 为数据集中的样本,
为样本特征向量,
为分类变量。
为数据集样本数,
为分类个数,
表示第
个分类,
表示数据集中第
个分类的样本数。现在要根据数据集来估计分类的先验概率
。
由于 ,所以这是一个多项分布的参数估计问题。使用上面已经证明的多项分布参数的贝叶斯估计,并设
,则:
根据数据集估计特定分类下特征值的先验概率,其实就是在该分类的子数据集中进行多项分布的参数估计。按照上面相同的方法,设 为特征个数,
为第
个特征包含的值个数,
为第
个特征的第
个值,
为第
个分类的数据集中第
个特征取第
个值的样本数,则:
这就证明了朴素贝叶斯算法中的拉普拉斯平滑。