19.2 期望最大化
我们介绍的第一个最大化下界的算法是期望最大化(expectation maximization,EM)算法。在潜变量模型中,这是一个非常常见的训练算法。在这里我们描述Neal and Hinton(1999)所提出的EM算法。与大多数我们在本章中介绍的其他算法不同的是,EM并不是一个近似推断算法,而是一种能够学到近似后验的算法。
EM算法由交替迭代,直到收敛的两步运算组成。
E步(expectation step):令θ(0)表示在这一步开始时的参数值。对任何我们想要训练的(对所有的或者小批量数据均成立)索引为i的训练样本ν(i),令q(h(i)|ν)=p(h(i)|ν(i);θ(0))。通过这个定义,我们认为q在当前参数θ(0)下定义。如果我们改变θ,那么p(h|ν;θ)将会相应地变化,但是q(h|ν)还是不变并且等于p(h|ν;θ(0))。
M步(maximization step):使用选择的优化算法完全地或者部分地关于θ最大化
这可以被看作通过坐标上升算法来最大化。在第一步中,我们更新分布q来最大化,而在另一步中,我们更新θ来最大化。
基于潜变量模型的随机梯度上升可以被看作一个EM算法的特例,其中M步包括了单次梯度操作。EM算法的其他变种可以实现多次梯度操作。对一些模型族来说,M步甚至可以直接推出解析解,不同于其他方法,在给定当前q的情况下直接求出最优解。
尽管E步采用的是精确推断,我们仍然可以将EM算法视作是某种程度上的近似推断。具体地说,M步假设一个分布q可以被所有的θ值分享。当M步越来越远离E步中的θ(0)时,这将会导致和真实的log p(ν)之间出现差距。幸运的是,在进入下一个循环时,E步把这种差距又降到了0。
EM算法还包含一些不同的见解。首先,它包含了学习过程的一个基本框架,就是我们通过更新模型参数来提高整个数据集的似然,其中缺失变量的值是通过后验分布来估计的。这种特定的性质并非EM算法独有的。例如,使用梯度下降来最大化对数似然函数的方法也有相同的性质。计算对数似然函数的梯度需要对隐藏单元的后验分布求期望。EM算法另一个关键的性质是当我们移动到另一个θ时,我们仍然可以使用旧的分布q。在传统机器学习中,这种特有的性质在推导大M步更新时候得到了广泛的应用。在深度学习中,大多数模型太过于复杂以至于在最优大M步更新中很难得到一个简单的解。所以EM算法的第二个特质,更多为其所独有,较少被使用。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论