1 EM算法简介
最大期望算法(Expectation Maximization Algorithm,又译期望最大化算法),是一种迭代算法,用于含有隐变量(hidden variable)的概率参数模型的最大似然估计或极大后验概率估计。
在统计计算中,最大期望(EM)算法是在概率(probabilistic)模型中寻找参数最大似然估计或者最大后验估计的算法,其中概率模型依赖于无法观测的隐藏变量(Latent Variable)。最大期望经常用在机器学习和计算机视觉的数据聚类(Data Clustering)领域。
未观测变量的学名是“隐变量”(latent variable)。EM算法是常用的估计参数隐变量的利器,它是一种迭代式的方法,其基本思想是:若参数θ已知,则可根据训练数据推断出最优隐变量Z的值(E步);反之,若Z的值已知,则可以方便地对参数θ做极大似然估计(M步)。
于是,以初始值θ0为起点,可迭代执行以下步骤直至收敛:
- 基于θt推断隐变量Z的期望,记为Zt;
- 基于已观测变量X和Zt对参数θ做极大似然估计,记为θt+1
2 抛硬币例子
我们现在考虑两个抛硬币的例子:
"给定两个硬币A和B,随机抛掷后正面朝上概率分别记为 p'和'q'。每次随机选择一个硬币并投掷。有以下观察序列:H A H A T B T A T B H B H B T A H B H A T A T A H A H B H A T B,从给定数据估计出'p'和'q'的值"。
我们很容易计算出p:
![1531909-f98bf8ca4962052b.png](https://i-blog.csdnimg.cn/blog_migrate/29b97aa3609c9c3dd94a8ec992c28db3.webp?x-image-process=image/format,png)
相似地可以计算出q:
![1531909-09e4bff25fc8e0c6.png](https://i-blog.csdnimg.cn/blog_migrate/2b97da4c651cc65bea374a01cb651382.webp?x-image-process=image/format,png)
这很容易,因为计算未知参数所需的所有信息都是可获得的。但是,如果硬币上的标签(A和B)被隐藏起来,不知道每次投掷哪个硬币。鉴于A和B硬币同样可能被选中,那我们如何估计未知参数'p'和'q'?
我们将尝试通过多次迭代计算来解决问题。在每次迭代中,我们有两个步骤,'E'步骤和'M'步骤。
“E”步骤(期望):
- 首先初始化p和q的值(初始猜测)。
- 我们不是说掷硬币来自特定的硬币,而是说它以概率为'x'来自硬币A,来自硬币B概率'1-x'。
- 计算每枚硬币的正反面期望数量。
“M”步骤(最大化):
- 从“E”步骤计算步骤3中每个硬币的正反面期望的对数似然,类似于MLE计算。
- 最大似然估计出隐变量,并重新估计p和q的新值
- 使用新的p和q值重复“E”步骤,直到它收敛为止。
让我们举一个例子,其中进行了5次实验并且在每次实验中进行了10次抛掷。(使用两个硬币)。
![1531909-2cf2d89967b972ed.png](https://i-blog.csdnimg.cn/blog_migrate/8cf789afc12b43e635bdd640d04d5a0b.webp?x-image-process=image/format,png)
我们从对未知参数进行初始化猜测,假设p = 0.6和q = 0.5。让我们进行第一轮实验。将此观察序列称为'S',我们想要估计观察'S'来自硬币A的可能性是多少,即P(A | S)。回想贝叶斯定理:
![1531909-786fb3da655d82d7.png](https://i-blog.csdnimg.cn/blog_migrate/2982c520e684d1620acb1313fae8c019.webp?x-image-process=image/format,png)
P(A)是选择硬币A的概率,它是0.5(因此是P(B)),因为我们知道每个硬币具有相同的被选择的概率。P(S|A)是观察的概率,因为它来自硬币A,即使用二项分布,我们推断它是:
![1531909-8f651867699d6bf6.png](https://i-blog.csdnimg.cn/blog_migrate/f46b6170934b08823dbf65c9ffb75b1a.webp?x-image-process=image/format,png)
同样地有,
![1531909-580cc85bf5c502a3.png](https://i-blog.csdnimg.cn/blog_migrate/c277aa38248d69f0f4304557be994fff.webp?x-image-process=image/format,png)
P(S)是观察序列的概率。由于观察可以来自硬币A或硬币B或两者,因此:
![1531909-bb53be174506b77c.png](https://i-blog.csdnimg.cn/blog_migrate/e99309ec0274bf6082182f079e5a03d0.webp?x-image-process=image/format,png)
然后可以得到:
![1531909-60b3d7db53176b91.png](https://i-blog.csdnimg.cn/blog_migrate/54d493960207829c7e18b5a023936125.webp?x-image-process=image/format,png)
将初始猜测的值代入p = 0.6和q = 0.5,得到P(A | S)= 0.45,因此P(B | S)= 1-P(A | S)= 0.55。
![1531909-f9802c3519f47956.png](https://i-blog.csdnimg.cn/blog_migrate/bc5ad4ace5ff8645569b4f09625ec2e0.webp?x-image-process=image/format,png)
因此,给定观察序列S,它来自硬币A的概率是0.45并且来自硬币B的概率是0.55。因此,来自硬币A正面期望数量 = 5 * 0.45并且反面期望数量= 5 * 0.45,类似地,来自硬币B的正面的期望数量= 5 * 0.55并且反面期望数量= 0.5 * 0.55。对其他四个实验重复相同的期望(E)步骤,我们得到硬币A 正面期望总数= 21.3和反面期望总数= 8.6,类似于硬币B,正面期望总数= 11.7,反面期望总数= 8.4
因此,对未知参数p和q的新估计是:
![1531909-c75dbe5afa9c37a9.png](https://i-blog.csdnimg.cn/blog_migrate/c90e73faaaa9686ab588e0c8d5adc075.webp?x-image-process=image/format,png)
和
![1531909-c142fe83d59c7b6e.png](https://i-blog.csdnimg.cn/blog_migrate/22aefb40e45bedd12747d9226ddf2a58.webp?x-image-process=image/format,png)
上一步是“M”步骤或最大化步骤。我们重复上述EM步骤,直到'p'和'q'的值收敛。在这个例子中,'p'和'q'的值在大约10步中收敛到最终值p = 0.8和q = 0.52。
![1531909-17b2a96b19fccfec.png](https://i-blog.csdnimg.cn/blog_migrate/1b549f35d09e6a67d899d77cc80a70fb.webp?x-image-process=image/format,png)
以上是EM算法应用的一个非常简单的例子。它用于表明给定具有缺失数据(含有隐变量)的参数估计问题,EM算法可以通过生成对丢失数据的可能猜测来迭代地解决该问题,然后通过使用这些猜测来最大化观察的可能性。除了简单的投掷硬币示例之外,EM已成功用于训练隐藏状态的HMM,EM也用于 聚类应用 和 半监督学习
3 EM算法推导
上面是EM算法的一个简单感性的例子,下面我们看看如何用数学推导EM算法。在引入EM算法之前,我们先了解一些基础知识。
3.1 凸函数(Convex Functions)
定义1 假设f是在区间I = [a, b]的一个实数函数,当满足以下条件时,可以说f在区间是凸函数,
![1531909-671d440622c9b1fc.png](https://i-blog.csdnimg.cn/blog_migrate/ec9cf6a55f1c01f33965458f21bfa170.webp?x-image-process=image/format,png)
此时,∀x1, x2 ∈ I, λ ∈ [0, 1]
定义2 如果-f是凸函数,那么f是凹函数.
定理1 如果f(x)在区间[a,b]上二阶可导,并且f''(x) ≥0,那么f(x)在[a,b]上是凸函数
证明
![1531909-8917dbf77a35ecff.png](https://i-blog.csdnimg.cn/blog_migrate/eb5c34b4594349380dc6edfa0a20d619.webp?x-image-process=image/format,png)
![1531909-bbfb467c4d43f1a6.png](https://i-blog.csdnimg.cn/blog_migrate/5fa63cf8983c1e0adc3585774e69a681.webp?x-image-process=image/format,png)
结论1 在(0, ∞),-ln(x)为凸函数,ln(x)为凹函数
证明
![1531909-438134c5e2d991a2.png](https://i-blog.csdnimg.cn/blog_migrate/f222a0a9eaa04b908e7c871fa6622ad1.webp?x-image-process=image/format,png)
3.2 Jensen’s 不等式
在区间I上,f是一个凸函数,有x1, x2, . . . , xn∈I,λ1, λ2, . . . , λn ≥ 0,
![1531909-11bed6fa67a0b82e.png](https://i-blog.csdnimg.cn/blog_migrate/4cd8c06c140c7dcc1c9fa8bd8b903336.webp?x-image-process=image/format,png)
那么有
![1531909-b3161db108a749db.png](https://i-blog.csdnimg.cn/blog_migrate/7ed44517f0d3bc179432edc30d4fd0d3.webp?x-image-process=image/format,png)
证明
![1531909-aaa43d2126c32794.png](https://i-blog.csdnimg.cn/blog_migrate/1d813721ed62399c9e06a9edef5600f0.webp?x-image-process=image/format,png)
![1531909-1c84a557318a73d2.png](https://i-blog.csdnimg.cn/blog_migrate/f4689b24965964d17c14697995a89100.webp?x-image-process=image/format,png)
因为ln(x)为凹函数,那么有
![1531909-668f221ba8272d12.png](https://i-blog.csdnimg.cn/blog_migrate/2309207d3c117f2cb40a859b8f225f49.webp?x-image-process=image/format,png)
结论2 Jensen's不等式同时也证明了算数平均要大于等于几何平均
![1531909-bcb3fe9b3d7bb2cc.png](https://i-blog.csdnimg.cn/blog_migrate/fa1500183061355da7894134c0920b6b.webp?x-image-process=image/format,png)
证明
![1531909-eb3e9e5235544af6.png](https://i-blog.csdnimg.cn/blog_migrate/bc0e14523e2cf683358ceadc177ccdd2.webp?x-image-process=image/format,png)
3.3 EM推导
![1531909-42509154ff9776c2.png](https://i-blog.csdnimg.cn/blog_migrate/4a8e68bbe2a35c1adee13a3a5890d76c.webp?x-image-process=image/format,png)
![1531909-bbc830c228403043.png](https://i-blog.csdnimg.cn/blog_migrate/21ef126d79b8d00b7387a10e12d32dad.webp?x-image-process=image/format,png)
![1531909-711b49843d4eed21.png](https://i-blog.csdnimg.cn/blog_migrate/1bd08bbbf4c4d0b8e4e69c06e1b99ebe.webp?x-image-process=image/format,png)
![1531909-33553c9174c8f786.png](https://i-blog.csdnimg.cn/blog_migrate/b11e7873e80f9b96232914a04b015d37.webp?x-image-process=image/format,png)
![1531909-6764b5adafd64a78.png](https://i-blog.csdnimg.cn/blog_migrate/f912bedb95b52c69af9af26f882e6bd6.webp?x-image-process=image/format,png)
![1531909-796e81045f16d0d3.png](https://i-blog.csdnimg.cn/blog_migrate/2e6c65fff0a5e6b2863836b3e54f6c56.webp?x-image-process=image/format,png)
![1531909-06807004057b6439.png](https://i-blog.csdnimg.cn/blog_migrate/cd2150a8c93e064dd9fbc0a225c13390.webp?x-image-process=image/format,png)
![1531909-e56060d26df62c75.png](https://i-blog.csdnimg.cn/blog_migrate/55d6a0696f3ec1c26cd7bef0b8b4305c.webp?x-image-process=image/format,png)
![1531909-6890f2a074d643d7.png](https://i-blog.csdnimg.cn/blog_migrate/c21ffc88d91c13c3c7b092bfd87f0b0f.webp?x-image-process=image/format,png)
待续。