EM 算法引入未知分布
Qi(z(i)) 后, Jensen 不等式等号成立的条件是变量 X 为常量,据此得到一个等式:
Qi(z(i))P(xi,zi;θ)=c,c为常数
如何根据这个等式推导出
Qi(z(i)) 是一个关于隐数据
zi 的条件概率的呢?下面就是整个推导过程。
(1)已知:
Qi(z(i))P(xi,zi;θ)=c,c为常数
(2)所以:
P(xi,zi;θ)=c∗Qi(z(i))
(3)已知:
Qi(z(i)) 是一个概率分布
(4)所以:
z∑Qi(z(i))=1,概率总和为 1
(5)对 (2)式两边分别求和得到
z∑P(xi,zi;θ)=z∑c∗Qi(z(i))=c∗[z∑∗Qi(z(i)]=c,c是常数
即:
z∑P(xi,zi;θ)=c
(6)根据 (1)进行转换,将 c 替换为 (5),得到 :
Qi(z(i))=z∑P(xi,zi;θ)P(xi,zi;θ)
(7)已知样本
xi 和它对应的隐状态
zi,根据全概率公式有:
P(xi;θ)=z∑P(xi,zi;θ)
(8)将(6)的分母换成(7),就得到未知分布是关于隐数据
zj 的条件概率
Qi(z(i))=z∑P(xi,zi;θ)P(xi,zi;θ)=P(xi;θ)P(xi,zi;θ)=P(zi∣xi;θ)
搞清楚推导过程后,我们来看看 EM 算法的基本过程:
- 初始化分布参数
θ
- E 步:用第一步的初始化参数
θ 计算
Qi ,它的本质是一个条件概率,即对于当前样本
Xi ,它由第 k 个组件生成的概率,即
P(Zi=k∣Xi)=P(Xi)P(Zi=k)∗P(Xi∣Zi=k) 。
- M 步:将
Qi 带入最大似然函数中,得到关于参数的表达式,求使得该表达式达到最大的
θ 的值,作为下一轮迭代的初始值。
- 重复 2、3 步,直到收敛。