以下是多项式朴素贝叶斯模型参数最大似然估计(MLE)的完整推导过程:
1. 似然函数定义
首先明确参数与数据结构:
- 数据集:包含 m 个文档的集合 {(x(1),y(1)),...,(x(m),y(m))}
- x(i) 表示第 i 篇文档(含 ni 个词汇的序列)
- xj(i) 表示第 i 篇文档的第 j 个词汇
- y(i) 为文档类别标签(如1=垃圾邮件,0=非垃圾邮件)
- 模型参数:
- ϕy=P(y=1):文档属于垃圾邮件的先验概率
- ϕk∣y=1=P(xj=k∣y=1):垃圾邮件中出现词典第 k 个词汇的概率
单篇垃圾邮件文档的概率为词汇概率的乘积:
P(x(i)∣y(i)=1)=∏j=1niP(xj(i)∣y(i)=1)=∏j=1niϕxj(i)∣y=1
整个数据集的似然函数为各文档概率的乘积:
L(ϕ)=∏i=1mP(x(i),y(i))=∏i=1mP(x(i)∣y(i))P(y(i))
2. 对数似然函数转换
为简化计算,取对数似然函数 ℓ(ϕ)=logL(ϕ):
ℓ(ϕ)=∑i=1mlogP(x(i)∣y(i))+∑i=1mlogP(y(i))
目标为最大化 ϕk∣y=1 相关项,只需关注 y(i)=1 的文档:
ℓ′=∑i=1m1{y(i)=1}∑j=1nilogϕxj(i)∣y=1
按词典索引 k 重组表达式(设 Nk 为垃圾邮件中词汇 k 的总出现次数):
ℓ′=∑k=1dNki=1∑m1{y(i)=1}j=1∑ni1{xj(i)=k}logϕk∣y=1=∑k=1dNklogϕk∣y=1
3. 拉格朗日约束优化
在概率归一化约束条件下最大化 ℓ′:
∑k=1dϕk∣y=1=1
引入拉格朗日乘子 λ 构建目标函数:
L=∑k=1dNklogϕk∣y=1−λ(∑k=1dϕk∣y=1−1)
4. 求导解参数
对特定参数 ϕv∣y=1 求偏导并令其为零:
∂ϕv∣y=1∂L=ϕv∣y=1Nv−λ=0⇒Nv=λϕv∣y=1
对全部词汇求和推导 λ:
∑v=1dNv=λ∑v=1dϕv∣y=1=λ⋅1
其中 λ 表示垃圾邮件总词汇量:
λ=∑v=1dNv=∑i=1m1{y(i)=1}nij=1∑ni1=∑i=1m1{y(i)=1}ni
代入解得参数估计式:
ϕv∣y=1=λNv=∑i=1m1{y(i)=1}ni∑i=1m∑j=1ni1{xj(i)=v∧y(i)=1}
结论:词汇 v 在垃圾邮件中的最大似然概率估计,等于其在所有垃圾邮件中的出现总次数除以垃圾邮件的词汇总量。