期望最大化算法EM
EM算法的目标就是找到具有潜在变量模型的最大似然解。设随机变量的所有观测数据为,所有这些数据用矩阵表示,其中第i行就是前面集合中的第i个列向量的转置。类似地,将随机变量与上述随机变量观测值一一对应的取值构成的集合记为。所有模型的参数记为,因此对数似然函数为
一个关键现象: 潜在变量求和位于求对数内部,这就造成了计算的不便。即使联合分布属于指数族,但是求和形式的存在得到的结果也不会是指数族。
假设上述的都是已知的,那么我们称是完整的数据集,如果潜在的变量的取值无法获取,则称观测数据是不完整的。如图9.5所示。
- 图左:数据用二维点表示,数据用绘制在二维点上颜色表示。都可以观测到,是完整的数据
- 图中:数据用二维点表示,无法获取其它信息。这里的粉色仅仅用于二维数据点的展示,不具有区分性
一个假设: 完整数据集的对数似然函数形式为,假设对这个似然函数进行最大化是容易的。
在实际的应用中,我们没有完整的数据集,只有不完整的数据。我们关于潜在变量的取值的知识仅来源于后验概率分布,(其实还要依赖关于变量的先验分布,实际问题中都会做一个初始假设,比如服从均值分布或者高斯分布。)由于我们不能使用完整数据的对数似然函数,因此考虑在潜在变量的后验概率分布下,使用它的期望值来代替[注1]。 它的期望表示如下:
这里的期望,对应EM算法的E步骤,接下来的M步骤就是最大化这个期望。正好与EM算法名称所表达相符。
在E步骤中,使用当前参数值寻找潜在变量的后验概率分布.然后,使用这个后验概率分布计算完整数据对数似然期望[注2]。
在M步骤中,最大化下式
来确定修正后的参数。在上述定义中,对数操作时直接作用与联合概率分布,并没有像公式(9.29)那样作用于和式。而且根据上述假设,对于这个式子的最大化是容易的。一般的EM算法总结如下:
- 选择参数的一个初始设置
- E步骤。计算后验概率及期望
- M步骤。计算,由下式给出。
- 检查对数似然函数或者参数的收敛性。如果不满足收敛条件,则
[注1]
如何理解原文中“由于我们不能使用完整数据的对数似然函数,因此我考虑在潜在变量的后验概率分布下,使用它的期望代替。”它的期望表示如下:
开始的困惑:不是不能使用完整数据的对数似然函数吗?为什么期望公式还是对取对数操作(上述的它是指联合变量的分布的似然函数)。我的理解:对函数取对数操作是不依赖函数自变量,函数自变量的取值仅仅是影响最后的结果,但不影响取对数操作本身。举个最简单的例子。函数, 对这个函数取对数,可以得到。这里并没有因为不知的取值,而影响到取对数操作本身,但是的取却影响最终的结果。
[注2]
文中提到,在潜在变量的后验分布下,使用联合变量分布的似然函数的期望,来代表完整数据的对数似然。这个期望
是一个关于参数的函数
问题:为什么EM算法还可以求解最大后验概率解?
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)