EM 算法未知分布 Qi 的推导过程

EM 算法引入未知分布 Q i ( z ( i ) ) Q_i(z^{(i)}) 后, Jensen 不等式等号成立的条件是变量 X 为常量,据此得到一个等式:

P ( x i , z i θ ) Q i ( z ( i ) ) = c c \frac{P(x^i,z^i;\theta)}{Q_i(z^{(i)})}=c,c为常数

如何根据这个等式推导出 Q i ( z ( i ) ) Q_i(z^{(i)}) 是一个关于隐数据 z i z^i 的条件概率的呢?下面就是整个推导过程。

(1)已知: P ( x i , z i θ ) Q i ( z ( i ) ) = c c \frac{P(x^i,z^i;\theta)}{Q_i(z^{(i)})}=c,c为常数
(2)所以: P ( x i , z i θ ) = c Q i ( z ( i ) ) P(x^i,z^i;\theta)=c*Q_i(z^{(i)})
(3)已知: Q i ( z ( i ) ) Q_i(z^{(i)}) 是一个概率分布
(4)所以: z Q i ( z ( i ) ) = 1 \sum\limits_{z}Q_i(z^{(i)})=1 ,概率总和为 1
(5)对 (2)式两边分别求和得到

z P ( x i , z i θ ) = z c Q i ( z ( i ) ) = c [ z Q i ( z ( i ) ] = c c \sum\limits_{z}P(x^i,z^i;\theta)=\sum\limits_{z}c*Q_i(z^{(i)})=c*[\sum\limits_{z}*Q_i(z^{(i)}]=c,c 是常数

即: z P ( x i , z i θ ) = c \sum\limits_{z}P(x^i,z^i;\theta)=c
(6)根据 (1)进行转换,将 c 替换为 (5),得到 : Q i ( z ( i ) ) = P ( x i , z i θ ) z P ( x i , z i θ ) Q_i(z^{(i)})=\frac{P(x^i,z^i;\theta)}{\sum\limits_{z}P(x^i,z^i;\theta)}
(7)已知样本 x i x^i 和它对应的隐状态 z i z^i ,根据全概率公式有: P ( x i ; θ ) = z P ( x i , z i θ ) P(x^i;\theta)=\sum\limits_{z}P(x^i,z^i;\theta)
(8)将(6)的分母换成(7),就得到未知分布是关于隐数据 z j z^j 的条件概率

Q i ( z ( i ) ) = P ( x i , z i θ ) z P ( x i , z i θ ) = P ( x i , z i θ ) P ( x i ; θ ) = P ( z i x i ; θ ) Q_i(z^{(i)})=\frac{P(x^i,z^i;\theta)}{\sum\limits_{z}P(x^i,z^i;\theta)}=\frac{P(x^i,z^i;\theta)}{P(x^i;\theta)}=P(z^i|x^i;\theta)

搞清楚推导过程后,我们来看看 EM 算法的基本过程:

  1. 初始化分布参数 θ \theta
  2. E 步:用第一步的初始化参数 θ \theta 计算 Q i Q_i ,它的本质是一个条件概率,即对于当前样本 X i X_i ,它由第 k 个组件生成的概率,即 P ( Z i = k X i ) = P ( Z i = k ) P ( X i Z i = k ) P ( X i ) P(Z_i=k|X_i)=\frac{P(Z_i=k)*P(X_i|Z_i=k)}{P(X_i)}
  3. M 步:将 Q i Q_i 带入最大似然函数中,得到关于参数的表达式,求使得该表达式达到最大的 θ \theta 的值,作为下一轮迭代的初始值。
  4. 重复 2、3 步,直到收敛。
发布了234 篇原创文章 · 获赞 494 · 访问量 37万+

猜你喜欢

转载自blog.csdn.net/wojiushiwo945you/article/details/100927915
今日推荐