码迷,mamicode.com
首页 > 编程语言 > 详细

EM算法

时间:2015-06-24 16:00:38      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:

《统计学习方法》第9章 EM算法及其推广

EM算法是一种迭代算法,用于含有隐含变量(hidden variable)的概率模型参数的极大似然估计,或极大后验概率估计

EM算法的每次迭代由两步组成:

  • E步,求期望(expectation);
  • M步,求极大(maximization)。

所以这一算法成为期望极大算法(expectation maximization algorithm),简称EM算法。

1. EM算法的引入

概率模型有时既含有观测变量(observable variable),又含有隐变量或潜在变量(latent variable)。如果概率模型的变量都是观测变量,那么给定数据,可以直接用极大似然估计法,或贝叶斯估计发估计模型参数。但是,当模型含有隐变量时,就不能简单地使用这些估计方法。EM算法就是含有隐变量的概率模型参数的极大似然估计法,或极大后验概率估计法。我们在这里只讨论极大似然估计,极大后验概率估计与其类似。

1.1 EM算法

首先介绍一个使用EM算法的例子。

三硬币模型 假设有3枚硬币,分别记作A,B,C。这些硬币正面出现的概率分别是a, b, c。进行如下抛硬币试验:先掷硬币A,根据其结果选出硬币B或硬币C,正面选硬币B,反面选硬币C;然后掷选出的硬币,掷硬币的结果,出现正面记作1,出现反面记作0;独立地重复n次试验(这里,n=10),观测结果如下:

1, 1, 0, 1, 0, 0, 1, 0, 1, 1

假设只能观测到掷硬币的结果,不能观测掷硬币的过程。问如何估计三硬币正面出现的概率,即三硬币模型的参数。

三硬币模型可以写作

$P(y|\theta)=\sum_{z}{P(y,z|\theta)}=\sum_{z}{P(z|\theta)P(y|z,\theta)}=ab^y(1-b)^{1-y}+(1-a)c^y(1-c)^{1-y}$

这里,随机变量y是观测变量,表示一次试验观测的结果是1或0;随机变量z是隐变量,表示未观测到的掷硬币A的结果;$\theta=(a,b,c)$是模型参数。这一模型是以上数据的生成模型

将观测数据表示为$Y=(Y_1,Y_2,…,Y_n)^T$,未观测数据表示为$Z=(Z_1,Z_2,…,Z_n)^T$,则观测数据的似然函数为:

$P(Y|\theta)=\sum_{Z}{P(Z|\theta)P(Y|Z,\theta)}$

EM算法

标签:

原文地址:http://www.cnblogs.com/qwertWZ/p/4597804.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!