图像算法五 —— EM算法

文章目录

  • 5. EM 算法
    • EM算法简介
    • EM算法流程
    • 部分常见问题
      • EM算法收敛程度取决于什么?
      • EM算法是否一定收敛?
      • 如果EM算法收敛,能否保证收敛到全局最大值?
    • EM算法应用

5. EM 算法

EM算法简介

EM(Expectation-Maximum)算法,也称为期望最大化算法

EM算法是最常见的隐变量估计方法,在机器学习中有极广泛的用途,例如常被用用来学习:高斯混合模型(GMM)的参数;隐式马尔科夫算法(HMM);LDA主题模型的主分推断等。

EM算法是一种迭代优化策略,由于它的计算方法中每一次迭代都分两步,一个为期望步(E步),一个为极大步(M步),所以算法被称为EM算法。

EM算法受缺失思想的影响,最初是为了解决数据缺失情况下的参数估计问题。

基本思想是:

  • 首先根据已经给出的观测数据,估计出模型参数的值;
  • 然后再依据上一步估计出的参数值,估计缺失数据的值;
  • 再根据估计出的缺失数据,加上之前已经观测到的数据,重新再对参数值进行估计;
  • 最后反复迭代,直到最后收敛,迭代结束。

EM算法流程

输入: 观察到的数据 x = ( x 1 , x 2 , ⋯   , x n ) x = (x_1, x_2, \cdots, x_n) x=(x1,x2,,xn),联合分布 p ( x , z ; θ ) p(x, z; \theta) p(x,z;θ),条件分布 p ( z ∣ x ; θ ) p(z|x; \theta) p(zx;θ),最大迭代次数 J J J

输出: 模型参数 θ \theta θ

算法步骤:

(1) 随机初始化模型参数 θ \theta θ的初值 θ 0 \theta_0 θ0

(2) j = 1 , 2 , ⋯   , J j = 1, 2, \cdots, J j=1,2,,J 开始EM算法迭代:

  • E步:计算联合分布的条件概率期望:

Q i ( z i ) = p ( z i ∣ x i , θ j ) Q_i(z_i) = p(z_i|x_i, \theta_j) Qi(zi)=p(zixi,θj)

l ( θ , θ j ) = ∑ i = 1 n ∑ z i Q i ( z i ) l o g p ( x i , z i ; θ ) Q i ( z i ) l(\theta, \theta_j) = \sum_{i=1}^{n}\sum_{z_i}Q_i(z_i)log\frac{p(x_i, z_i; \theta)}{Q_i(z_i)} l(θ,θj)=i=1nziQi(zi)logQi(zi)p(xi,zi;θ)

  • M步:极大化 l ( θ , θ j ) l(\theta, \theta_j) l(θ,θj),得到 θ j + 1 \theta_{j + 1} θj+1

θ j + 1 = a r g m a x l ( θ , θ j ) \theta_{j+1} = argmaxl(\theta, \theta_j) θj+1=argmaxl(θ,θj)

  • 如果 θ j + 1 \theta_{j+1} θj+1已经收敛,则算法结束否则继续进行E步和M步进行迭代。

部分常见问题

EM算法收敛程度取决于什么?

EM算法对初始值敏感,聚类结果随不同的初始值而波动较大。总的来说,EM算法收敛的优劣成都很大程度上取决于其初始参数

EM算法是否一定收敛?

EM算法可以保证收敛到一个稳定点,即EM算法一定是收敛的

如果EM算法收敛,能否保证收敛到全局最大值?

EM算法可以保证收敛到一个稳定点,但是不能保证收敛到全局的极大值点,因为它是局部最优的算法。

当然,如果我们的优化函数 l ( θ , θ l ) l(\theta, \theta_l) l(θ,θl)是凸的,则EM算法可以保证收敛到全局最大值,这点和梯度下降这样的迭代算法相同。

EM算法应用

  • K-Means聚类:
    • K-Means聚类时,每个聚类簇的质心是隐含数据。
    • 假设K个初始化质心,即EM算法的E步
    • 计算得到每个样本最近的质心,并把样本聚类到最近的这个质心,即EM算法的M步。
    • 重复这个E步和M步,直到质心不再变化为止。
  • 高斯混合模型(GMM)

你可能感兴趣的:(#,图像算法,算法,机器学习,概率论)