第九章:EM算法及其推广
EM算法及其收敛性:
EM算法就是 含 有 隐 变 量 的 概 率 模 型 参 数 的 极 大 似 然 估 计 法 \color{red}{含有隐变量的概率模型参数的极大似然估计法} 含有隐变量的概率模型参数的极大似然估计法或极大后验概率估计法;因为这样的概率模型时是无法求得解析解的,只能通过迭代的方式计算出近似值,而EM算法就可以理解为这样的一种求解参数值的 迭 代 算 法 \color{red}{迭代算法} 迭代算法, 将 极 大 化 观 测 数 据 Y 关 于 参 数 θ 的 对 数 似 然 函 数 的 问 题 转 变 为 求 解 Q 函 数 关 于 参 数 θ 的 极 值 的 问 题 \color{blue}{将极大化观测数据Y关于参数\theta的对数似然函数的问题转变为求解Q函数关于参数\theta的极值的问题} 将极大化观测数据Y关于参数θ的对数似然函数的问题转变为求解Q函数关于参数θ的极值的问题
选择参数初值:
θ ( 0 ) , 开 始 迭 代 , E M 算 法 对 初 值 是 敏 感 的 , 对 于 不 同 的 初 值 , 最 终 得 到 的 参 数 估 计 也 会 不 同 \theta^{(0)},开始迭代,\color{red}{EM算法对初值是敏感的,对于不同的初值,最终得到的参数估计也会不同} θ(0),开始迭代,EM算法对初值是敏感的,对于不同的初值,最终得到的参数估计也会不同
E步:求解的Q函数是与对数最大似然函数等效的一个表达式,每次迭代求解Q函数(最大似然函数的下界关于 θ \theta θ的表达式即省略掉极大化过程中对于 θ \theta θ而言是常数的那些项后)的极值,就相当于增大最大似然函数
计算Q函数:完全数据(Y,Z)的对数似然函数关于给定观测数据Y和当前参数 θ ( i ) \theta^{(i)} θ(i)下对未观测数据Z的条件概率分布的期望
Q ( θ , θ ( i ) ) = E Z [ l o g P ( Y , Z ∣ θ ) ∣ Y , θ ( i ) ] = ∑ Z l o g P ( Y , Z ∣ θ ) P ( Z ∣ Y , θ ( i ) ) \color{red}{Q(\theta,\theta^{(i)})=E_Z[logP(Y,Z|\theta)|Y,\theta^{(i)}]}=\sum_ZlogP(Y,Z|\theta)P(Z|Y,\theta^{(i)}) Q(θ,θ(i))=EZ[logP(Y,Z∣θ)∣Y,θ(i)]=∑ZlogP(Y,Z∣θ)P(Z∣Y,θ(i))
θ ( i ) \theta^{(i)} θ(i)是第i次迭代参数 θ \theta θ的估计值;Y为观测数据,Z为未观测数据
M步:
求解使得Q函数最大的那个 θ \theta θ,更新为 θ ( i + 1 ) = θ \theta^{(i+1)}=\theta θ(i+1)=θ, 每 一 次 迭 代 都 会 使 似 然 函 数 L ( θ ) = l o g P ( Y ∣ θ ) = l o g [ ∑ Z P ( Y ∣ Z , θ ) P ( Z ∣ θ ) ] 增 大 或 者 达 到 局 部 极 大 . \color{red}{每一次迭代都会使似然函数L(\theta)=logP(Y|\theta)=log[\sum_ZP(Y|Z,\theta)P(Z|\theta)]增大或者达到局部极大.} 每一次迭代都会使似然函数L(θ)=logP(Y∣θ)=log[∑ZP(Y∣Z,θ)P(Z∣θ)]增大或者达到局部极大.
重复EM,直至 θ \theta θ值收敛;(可以证明,EM算法中 的 对 数 似 然 函 数 序 列 L ( θ ( i ) ) 和 参 数 估 计 序 列 θ ( i ) 是 收 敛 的 , 但 是 θ ( i ) 只 能 保 证 收 敛 到 L ( θ ( i ) ) 的 稳 定 点 , 而 不 一 定 是 极 大 值 点 , 所 以 初 值 的 选 择 就 很 重 要 \color{red}对数似然函数序列L(\theta^{(i)})和参数估计序列\theta^{(i)}是收敛的,但是\theta^{(i)}只能保证收敛到L(\theta^{(i)})的稳定点,而不一定是极大值点,所以初值的选择就很重要 对数似然函数序列L(θ(i))和参数估计序列θ(i)是收敛的,但是θ(i)只能保证收敛到L(θ(i))的稳定点,而不一定是极大值点,所以初值的选择就很重要
在高斯混合学习模型中的应用:
输入:观测数据 y i y_i yi,高斯混合模型: P ( y ∣ θ ) = ∑ k = 1 K α k ϕ ( y ∣ θ k ) , ϕ ( y ∣ θ k ) 为 高 斯 分 布 概 率 密 度 函 数 P(y|\theta)=\displaystyle\sum_{k=1}^K\alpha_k\phi(y|\theta_k),\phi(y|\theta_k)为高斯分布概率密度函数 P(y∣θ)=k=1∑Kαkϕ(y∣θk),ϕ(y∣θk)为高斯分布概率密度函数
输出:高斯混合模型参数
θ
=
(
α
1
,
α
2
,
.
.
.
α
k
;
θ
1
,
θ
2
,
.
.
.
θ
k
)
,
其
中
θ
k
=
(
μ
k
,
σ
k
2
)
,
为
高
斯
分
布
的
参
数
\theta=(\alpha_1,\alpha_2,...\alpha_k;\theta_1,\theta_2,...\theta_k),其中\theta_k=(\mu_k,\sigma_k^2),为高斯分布的参数
θ=(α1,α2,...αk;θ1,θ2,...θk),其中θk=(μk,σk2),为高斯分布的参数
-
初始化参数 θ \theta θ
-
E步:计算分模型 k k k对观测数据 y i y_i yi的响应度 E ( γ j k ∣ y , θ ) : 当 前 模 型 参 数 下 , 第 j 个 观 测 来 自 第 k 个 分 模 型 的 概 率 大 小 \color{red}{E(\gamma_{jk}|y,\theta):当前模型参数下,第j个观测来自第k个分模型的概率大小} E(γjk∣y,θ):当前模型参数下,第j个观测来自第k个分模型的概率大小
γ ^ j k = α k ϕ ( y j ∣ θ k ) ∑ k = 1 K α k ϕ ( y j ∣ θ k ) , j = 1 , 2 , . . . , N ; k = 1 , 2 , . . . , K \hat\gamma_{jk}=\frac{\alpha_k\phi(y_j|\theta_k)}{\displaystyle\sum_{k=1}^K\alpha_k\phi(y_j|\theta_k)},j=1,2,...,N;k=1,2,...,K γ^jk=k=1∑Kαkϕ(yj∣θk)αkϕ(yj∣θk),j=1,2,...,N;k=1,2,...,K可知能够求得一个N*K的响应度矩阵;
-
M步:计算新一轮的迭代模型参数:
μ
^
k
=
∑
j
=
1
N
γ
^
j
k
y
j
∑
j
=
1
N
γ
^
j
k
,
σ
^
k
2
=
∑
j
=
1
N
γ
^
j
k
(
y
j
−
μ
k
)
2
∑
j
=
1
N
γ
^
j
k
,
α
^
k
=
∑
j
=
1
N
γ
^
j
k
N
;
k
=
1
,
2
,
.
.
.
,
K
\hat\mu_k=\frac{\displaystyle\sum_{j=1}^N\hat\gamma_{jk}y_j}{\displaystyle\sum_{j=1}^N\hat\gamma_{jk}},\hat\sigma_k^2=\frac{\displaystyle\sum_{j=1}^N\hat\gamma_{jk}(y_j-\mu_k)^2}{\displaystyle\sum_{j=1}^N\hat\gamma_{jk}},\hat\alpha_k=\frac{\displaystyle\sum_{j=1}^N\hat\gamma_{jk}}{N};k=1,2,...,K
μ^k=j=1∑Nγ^jkj=1∑Nγ^jkyj,σ^k2=j=1∑Nγ^jkj=1∑Nγ^jk(yj−μk)2,α^k=Nj=1∑Nγ^jk;k=1,2,...,K
5. 重复2、3直至收敛
EM算法的推广
EM算法还可以解释为 F 函 数 的 极 大 − 极 大 算 法 , 而 G E M 算 法 就 是 基 于 这 个 解 释 的 若 干 变 形 和 推 广 \color{red}{F函数的极大-极大算法,而GEM算法就是基于这个解释的若干变形和推广} F函数的极大−极大算法,而GEM算法就是基于这个解释的若干变形和推广具体参见《统计学习方法》