期望最大化
期望最大化算法(EM)是机器学习中用来求解参数的一种迭代式方法,能收敛到局部最优,不保证全局最优。EM算法是MM算法(Minorize-Maximization algorithm)的特例之一。可以解决的典型的参数估计问题有高斯混合模型、隐马尔科夫模型等。
1. 最大似然视角
1.1 Jensen不等式
Jensen不等式描述如下:
若 f(x) 是区间 (a,b) 上的凸函数,则对任意的 x1,x2,x3,...,xn∈(a,b) ,有不等式:
f(nx1+x2+x3+...+xn)≥nf(x1)+f(x2)+f(x3)+...+f(xn)(1.1) 当且仅当 x1=x2=x3=...=xn 时,等号成立。如果 f(x) 为凹函数,则 ≥ 号取反。
也可以表示为:
f(E(X))≥E(f(X))(1.2) 1.2 最大似然估计
最大似然估计(Maximum Likelihood Estimation, MLE)属于概率论中点估计,也是机器学习中参数估计的重要方法。
假设数据为 X=(x1,x2,x3,...,xN),数据在某个概率模型下出现的概率为
P(X∣θ)=p(x1∣θ)p(x2∣θ)p(x3∣θ)...p(xN∣θ)(1.3) 要估计一个合适的参数 θ,确保 P(X∣θ) 取得最大值。因为 p(xi)∈[0,1],P(X) 连乘的性质会导致其值接近无穷小,难以计算,所以在 P(X∣θ) 之前加一个对数操作,把连乘转化成连加,再通过求导数求极值的方法进行参数估计。
L(X∣θ)=logP(X∣θ)=i∑Nlogp(xi∣θ)(1.4) 期望最大化中引入了无法观测的隐变量 Z, Z 的作用是在某种程度上影响了生成可观测数据 X 的概率模型。EM算法推导如下:
L(X∣θ)=logP(X∣θ)=i∑Nlogz∑P(xi,zj∣θ)=i∑Nlogz∑Q(zj)Q(zj)P(xi,zj∣θ) ≥i∑Nz∑Q(zj)logQ(zj)P(xi,zj∣θ)(1.5) 其中 (1.5) 是由Jensen不等式推导而来,为了使等号成立,得到一个更加紧凑的边界,假设:
Q(zj)P(xi,zj∣θ)=C(1.6) 推导公式得:
Q(zj)P(xi,zj∣θ)=C⇒P(xi,zj∣θ)=C⋅Q(zj)⇒z∑P(xi,zj∣θ)=z∑C⋅Q(zj)⇒P(xi∣θ)=C=Q(zj)P(xi,zj∣θ)⇒Q(zj)=P(xi∣θ)P(xi,zj∣θ) Q(zj)=P(zj∣xi,θ)(1.7) 由此可得期望最大化的E-Step和M-Step。EM算法的迭代过程也是不断提高 L(X∣θ) 函数下界的过程,直到函数收敛,但是不保证收敛到全局最优解。
E-Step: Q(zj)=p(zj∣xi,θ)
M-Step: θ=argθmaxi∑Nz∑Q(zj)logQ(zj)P(xi,zj∣θ)
期望最大化算法的收敛性的证明为:
L(θt+1)≥Qit(zj)logQit(zj)p(xi,zj∣θt+1)(1.8) ≥Qit(zj)logQit(zj)p(xi,zj∣θt)(1.9) 其中公式 (1.8) 由Jensen不等式得证,公式 (1.9) 由M步的极大值求解得证。
可以把EM算法迭代求解的过程看过是坐标上升算法,E步固定 θ 求 Q ,M步固定 Q 求 θ。
2. 相对熵视角
2.1 相对熵
相对熵(relative entropy),又称为Kullback-Leibler散度,用来衡量两个概率分布之间的差异程度,非对称。
设 P(x),Q(x) 是随机变量 X 上的两个概率分布,则在离散和随机变量情形下,定义如下
KL(P∣∣Q)=∑P(x)logQ(x)P(x)(2.1) KL(P∣∣Q)=∫P(x)logQ(x)P(x)(2.2) 且 KL(P∣∣Q)≥0。
相对熵详细的讲解,请看变分推断 (opens new window)。
2.2 变分推断
变分推断中,依然最大化似然估计 L(X∣θ)。
L(X∣θ)=logP(X∣θ)=logP(Z∣X,θ)P(X,Z∣θ)=logP(X,Z∣θ)−logP(Z∣X,θ)+logQ(Z)−logQ(Z) =logP(X,Z∣θ)−logQ(Z)−logQ(Z)P(Z∣X,θ)(2.3) 得到 (2.3) 式之后,对两边同时针对 Q(Z) 取期望。
∫Q(z)logP(X∣θ)=∫Q(z)logP(X,Z∣θ)−∫Q(z)logQ(Z)−∫Q(z)logQ(Z)P(Z∣X,θ)⇒logP(X∣θ)=∫Q(z)logP(X,Z∣θ)−∫Q(z)logQ(Z)+∫Q(z)logP(Z∣X,θ)Q(Z) ⇒logP(X∣θ)=ELBO+KL(Q∣∣P)(2.4) 其中:
ELBO=∫Q(z)logP(X,Z∣θ)−∫Q(z)logQ(Z)KL(Q∣∣P)=∫Q(z)logP(Z∣X,θ)Q(Z), Evidence Lower Bound是 logP(X∣θ) 的下界,简称为ELBO。可以通过不断的提高下界的方式来最大化似然估计。
假设:
Q(Z)=C⋅P(Z∣X,θ)(2.5) 这个假设的含义是用一个概率分布 Q(Z) 来表示 P(Z∣X,θ) ,当两者相等时, KL(Q∣∣P) 是一个常数。优化的目标变成了最大化ELBO。这个假设与上一节的Jensen不等式一样。(KL距离和Jensen不等式内在一定具有某种联系)
则有:
logP(X∣θ)=ELBO+constantlogP(X∣θ)=∫Q(z)logP(X,Z∣θ)−∫Q(z)logQ(Z)+constantlogP(X∣θ)=∫zQ(z)logp(X,z∣θ)−∫zQ(z)logQ(z)logP(X∣θ)=∫zQ(z)logQ(z)logp(X,z∣θ) =∫x∫zQ(z)logQ(z)logp(x,z∣θ)(2.6) 到此,从相对熵角度的推导就和最大似然角度的推导取得相同结论。(Jensen不等式和相对熵必定具有联系,使得两者有等价性)。