多项分布 (Multinomial Distribution) 的极大似然估计

📅 2026/7/18 9:49:36 👁️ 阅读次数 📝 编程学习
多项分布 (Multinomial Distribution) 的极大似然估计

多项分布参数的极大似然估计

1. 问题设定

假设有KKK个类别,每个类别出现的概率为p1,p2,…,pKp_1, p_2, \dots, p_Kp1,p2,,pK,满足:

  • pk⩾0p_k \geqslant 0pk0
  • ∑k=1Kpk=1\sum\limits_{k=1}^K p_k = 1k=1Kpk=1

进行NNN次独立试验,记NkN_kNk为类别kkk出现的次数,那么:

  • ∑k=1KNk=N\sum\limits_{k=1}^K N_k = Nk=1KNk=N

观测数据为向量x=(x1,x2,…,xK)\boldsymbol{x} = (x_1, x_2, \dots, x_K)x=(x1,x2,,xK)

2. 多项分布的概率函数

多项分布的概率质量函数为:
P(x∣p)=N!x1! x2!⋯xK! p1x1p2x2⋯pKxK P(\boldsymbol{x} \mid \boldsymbol{p}) = \frac{N!}{x_1! \, x_2! \cdots x_K!} \, p_1^{x_1} p_2^{x_2} \cdots p_K^{x_K}P(xp)=x1!x2!xK!N!p1x1p2x2pKxK

3. 似然函数

似然函数为:
L(p)=N!∏k=1KNk!∏k=1KpkNk L(\boldsymbol{p}) = \frac{N!}{\prod_{k=1}^K N_k!} \prod_{k=1}^K p_k^{N_k}L(p)=k=1KNk!N!k=1KpkNk

通常最大化对数似然函数:
ℓ(p)=log⁡L(p)=∑k=1KNklog⁡pk+常数 \ell(\boldsymbol{p}) = \log L(\boldsymbol{p}) = \sum\limits_{k=1}^K N_k \log p_k + \text{常数}(p)=logL(p)=k=1KNklogpk+常数

4. 约束优化问题

去掉与参数p\boldsymbol{p}p无关的常数项,最大化
ℓ(p)=∑k=1KNklog⁡pk \ell(\boldsymbol{p}) = \sum\limits_{k=1}^K N_k \log p_k(p)=k=1KNklogpk
约束条件

  • ∑k=1Kpk=1\sum\limits_{k=1}^K p_k = 1k=1Kpk=1
  • pk⩾0p_k \geqslant 0pk0

使用拉格朗日乘数法,引入拉格朗日函数:
L(p,λ)=∑k=1KNklog⁡pk+λ(1−∑k=1Kpk) \mathcal{L}(\boldsymbol{p}, \lambda) = \sum\limits_{k=1}^K N_k \log p_k + \lambda \left( 1 - \sum\limits_{k=1}^K p_k \right)L(p,λ)=k=1KNklogpk+λ(1k=1Kpk)

5. 求导并令导数为零

pkp_kpk求偏导:
∂L∂pk=Nkpk−λ=0⇒pk=Nkλ \frac{\partial \mathcal{L}}{\partial p_k} = \frac{N_k}{p_k} - \lambda = 0 \quad \Rightarrow \quad p_k = \frac{N_k}{\lambda}pkL=pkNkλ=0pk=λNk

λ\lambdaλ求偏导:
∂L∂λ=1−∑k=1Kpk=0 \frac{\partial \mathcal{L}}{\partial \lambda} = 1 - \sum\limits_{k=1}^K p_k = 0λL=1k=1Kpk=0

代入pk=Nk/λp_k = N_k / \lambdapk=Nk/λ
∑k=1KNkλ=1⇒Nλ=1⇒λ=N \sum\limits_{k=1}^K \frac{N_k}{\lambda} = 1 \quad \Rightarrow \quad \frac{N}{\lambda} = 1 \quad \Rightarrow \quad \lambda = Nk=1KλNk=1λN=1λ=N

6. 极大似然估计解

因此:
p^kMLE=NkN,k=1,…,K \hat{p}_k^{\text{MLE}} = \frac{N_k}{N}, \quad k=1,\dots,Kp^kMLE=NNk,k=1,,K

即每个类别的概率的极大似然估计就是该类别出现的频率。

7. 结论

多项分布的参数pkp_kpk的极大似然估计为:
p^k=NkN \boxed{\hat{p}_k = \frac{N_k}{N}}p^k=NNk

其中N=∑k=1KNkN = \sum\limits_{k=1}^K N_kN=k=1KNk

这个结果直观且符合“频率是概率的极大似然估计”的思想。