当前位置: 首页 > news >正文

多项分布 (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

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

http://www.cnnetsun.cn/news/3482073.html

相关文章:

  • browser-agent测试策略:确保你的AI代理稳定可靠的完整方案
  • 《1688开放平台基础API真免费?QPS 10的限制怎么破(附GuardedClient源码)》
  • YOLOv8固体废物识别系统:从环境配置到功能测试完整指南
  • Spring Cloud Gateway集成Sa-Token实现微服务鉴权
  • AI Agent 开发实战(02):Claude Code 接入 DeepSeek
  • oec-hardware安全测试:硬件安全兼容性验证的完整指南 [特殊字符]️
  • SSE实时通信深度解析:连接数限制、断线重连与消息去重实战
  • RT-Thread PIN设备驱动开发与GPIO控制实践
  • Win Application Framework (WAF)消息与对话框服务:MessageService与FileDialogService
  • Path of Building PoE2:流放之路2角色构建计算引擎技术深度解析
  • 如何快速部署Ogar服务器?Linux与Windows系统完整教程
  • 如何快速搭建前后端分离博客?blog45/blog新手入门教程
  • 5个实用案例带你精通react-gsap-enhancer:从悬停效果到复杂动画序列
  • 老款Mac mini再利用指南:Python开发环境与家庭媒体中心配置
  • e2core插件开发教程:用Rust编写你的第一个安全插件
  • Verb实战案例:用Emacs构建完整的RESTful API测试工作流
  • Golang定时器原理与高性能实践指南
  • Android嵌套RecyclerView性能优化全解析
  • financial与其他金融库对比:为什么选择零依赖的TypeScript解决方案
  • STM32定时器基础与应用:从配置到实战
  • Warp11/Warp源码解析:Go语言实现S3基准测试的核心原理
  • GPT 5.6全面开放:新特性解析与开发实战指南
  • Android SDK版本管理:BoM机制原理与实践
  • 本地部署大模型+知识库实战指南:Dify+Ollama+PostgreSQL落地全流程
  • FastAPI多线程优化实践与性能提升指南
  • Android开发者进阶:优质技术博客资源指南
  • 技术周刊的价值、生产流程与运营策略
  • 从Prompt到DSPy:大模型应用开发的技术演进与实战
  • CANN asc-devkit SIMT整型rhadd函数
  • 猫抓插件:从网页中“抓取“视频音频资源的终极方案