视频地址:https://www.bilibili.com/video/BV1aE411o7qd?p=46
笔记地址:https://www.yuque.com/books/share/f4031f65-70c1-4909-ba01-c47c31398466/nl8l9l
P60 EM算法1 - 收敛性证明
EM算法核心思想:是具有隐变量的混合模型的参数估计。本节主要证明了分步迭代更新参数θ时,新的θt+1一定会使X取的比上一步θt更高的置信度P(X|θ),这样算法才能保证收敛。
前置知识:首先要理解什么是含有隐变量的混合模型。我们之前处理的都是数据满足单一分布的情况,如下图(1)所示,我们列出数据集X的极大似然P(X|θ)之后直接求导,即可求出(1)中正态分布的参数,也就得到了模型。但是如(2)所示,当整体模型(虚线)是由多个子模型叠加而成的,整体模型就是由多个模型的多个参数共同表示的,这时当我们对其中一个模型的参数求导,剩下的式子中仍有多个参数还是无法求解。这时一个简单的想法就是:对于某个样本xi我们分别把它放在不同子模型的分布中求概率,再把概率加起来。这样我们就不用直接求整体模型了,而是把整体模型解耦成一个个简单的子模型,我们又能用前边的直接求导计算的方法了。这个所谓的xi属于哪个子模型其实就是隐变量z,z其实就是子模型的类别。因为我们要求出所有子模型的概率之后再加起来,所以也就把P(X|θ)变成了 ∫ P(X,z|θ) dz。这里还有一个问题就是:如(2)所示,不同分布对应的数据量可能不同,数据量越多形成的分布肯定越准确,我们也应该给予这个分布更高的权重。那么究竟应该给每个分布多大权重呢?我们用一个分布P(z|X,θ)来表示,它的意思就是在已知样本为X和模型参数为θ的情况下,分布为z的权重。所以最终我们单分布的似然函数P(X|θ)就变成了含隐变量z的多模型概率加权叠加 ∫ P(X,z|θ)· P(z|X,θ) dz。
前置知识可以参考徐亦达EM算法
https://www.bilibili.com/video/BV1Wp411R7am?p=1
①:根据极大似然估计列出优化目标P(X|θ),我们要找的θ就是能让目标取得最大值的θ。从第一个argmax到第二个argmax,参考前置知识的解释。
②:我们要验证的就是:分步迭代更新参数θ时,新的θt+1一定会使X取的比上一步θt更高的置信度P(X|θ)。
③:将P(X|θ)用贝叶斯公式写成跟隐变量z有关的形式,只不过右边贝叶斯公式把除法写成了log减法。我们要优化的目标还是P(X|θ),通过变形出的右边减法式子分别推导。
④:右边式子的第一项根据我们对θ的定义即可得证。因为log函数是凸函数,第二项化简的过程中要用到凸优化的定理: E(logX)<=log(E(X))。E(logX)是对多个xi求log之后再算均值,对应于图中我们算了log(a)和log(b)之后,在两点之间连接直线上c点对应的值,求期望就类似于线性拟合。log(E(X))则是先找到a和b两个点的期望c点,然后求log©。log©还在曲线上,[log(a)+log(b)]/2在直线上,对于凸函数来说,显然E(logX)<=log(E(X))。
P61 EM算法2 - 公式导出之ELBO+KL divergence
本节内容:是用KL divergence推导出①中θ的迭代公式。可以看到EM算法包含 E-step 和 M-step,E就是Expectation或者说数据真实分布的下界ELBO(evidence of lower bound),就是求出 ∫ P(X,z|θ)· P(z|X,θ(t)) dz,这个式子不是一个值,而是一个θ的函数。M就是Maximization,最大化上边的θ函数。本节推导其实和上一节收敛性的推导一样,只不过这里是对一个预设的分布q(z)积分,上一节是直接告诉了按P(z|x,θ)积分。这里的ELBO就是上一节的Q(θ,θ(t)),这里的KL(q(z)||P(z|x,θ))就是上一节的H(θ,θ(t))。这里q(z)=P(z|x,θ)的条件是根据KL(q(z)||P(z|x,θ))=0这个条件求出的。可以看出EM优化算法和梯度下降优化算法的不同,梯度下降是直接在原函数上求最大值,EM是不断提高下界的最大值。
P62 EM算法3 - 公式导出之ELBO+Jensen不等式
本节内容:如①所示,还是在优化P(X|θ)= ∫ P(X,z|θ) dz的过程中构造了隐变量z的分布q(z),然后利用②jensen不等式推出q(z)=P(z|X,θ),依然是一个对下界的优化。
P64 EM算法5 - 广义EM
本节内容:广义EM优化的目标就是概率生成模型,也即先从分布q(z)中挑出一个子模型,再优化子模型的参数θ。如GMM、HMM都是这种概率生成模型,两者的主要区别是挑选子模型的分布q(z)不同,GMM是离散概率分布,HMM是前向依赖的马氏链。GMM和HMM挑好子模型之后,直接从子模型中发射出(emit)样本即可。所以我们可以看到概率生成模型主要优化的对象有分布q(z)和参数θ。像最早期我们优化单变量高斯模型的MLE时那样,先固定一个变量θ去优化q,再代入上一步找到的最优q去优化θ,这样交替迭代直至收敛。前边的狭义EM只不过是假定了q(z)=P(z|X,θ),但实际上后验概率P(z|X,θ)很多时候并不能求出来,这就需要用后边的变分推断和蒙特卡洛方法去近似这个后验概率。
P65 EM算法6 - EM的变种
本节内容:像EM算法这样,先固定一部分变量去优化另一部分,再固定另一部分去优化这一部分,这样交替进行直至收敛的方法其实叫做 坐标上升法SMO。上图方框中①表示梯度下降法优化的曲线,②表示坐标上升法优化的曲线,可以看出在二维参数空间中,②每次只沿着一条轴优化,也即是固定一部分参数优化另一部分参数的意思,在某一个方向上是固定的。