更多机器学习方法总结请到我这个博客链接
文章目录
最大期望算法(Expectation-Maximization,EM)
EM算法就是在概率模型中寻找参数极大似然估计或者最大后验概率估计的算法,其概率模型依赖于无法观测的隐性变量。主要有两个步骤:
1、计算期望,利用对隐性变量的最大估计值,计算其最大似然估计值。
2、最大化期望,通过在第一步计算的最大似然估计值来计算参数值,找到的参数估计值用来计算下一轮的第一步,构成循环。
10.1 EM算法
10.1.1 EM算法与“鸡生蛋蛋生鸡问题”
EM算法就是为了解决最大似然估计中更复杂的情况下的算法(比如出现了隐变量)。当我们知道了概率结果,就可以通过极大似然估计来估计概率分布的参数。但如果我们只知道了概率结果,但不知道该结果时由哪一个概率分布(隐变量Z)对应的,自然没法直接估计出参数。总结就是:
- 最大似然估计和EM算法都是根据实现结果求解概率分布的最佳参数θ;
- 但最大似然估计中知道每个结果对应哪个概率分布(我知道哪个概率分布实现了这个结果)
- 而EM算法面临的问题是:我不知道哪个概率分布实现了该结果。
因此出现了EM算法。
10.1.2 EM求解思想及算法流程
Y:观测变量数据(已知数据)
Z:非观测变量数据(隐变量)
完全数据:
P
(
Y
,
Z
∣
θ
)
P(Y,Z|\theta)
P(Y,Z∣θ)
不完全数据:
P
(
Y
∣
θ
)
P(Y|\theta)
P(Y∣θ)
如果隐变量Z已知,就可以通过极大似然估计求解参数。
算法思想如下:
1. 随机初始化参数
θ
\theta
θ
2.(E步)根据观测数据和当前的参数,计算未观测数据(隐变量Z)的条件概率分布期望。
3.(M步)经过上一步得到Z之后,根据极大似然估计,计算最优的
θ
i
\theta^i
θi
4.反复重复2,3,直到收敛。
算法流程:
迭代停止的条件:
∣
∣
θ
(
i
+
1
)
−
θ
(
i
)
∣
∣
<
ε
1
o
r
∣
∣
Q
(
θ
(
i
+
1
)
−
Q
(
θ
(
i
)
)
)
∣
∣
<
ε
1
||\theta^{(i+1)}-\theta^{(i)}||<\varepsilon_1\ \ \ \ or \ \\ ||Q(\theta^{(i+1)}-Q(\theta^{(i)}))||<\varepsilon_1
∣∣θ(i+1)−θ(i)∣∣<ε1 or ∣∣Q(θ(i+1)−Q(θ(i)))∣∣<ε1
10.1.3 EM算法的导出 (为什么可以实现极大似然估计)
EM算法是如何近似实现对观测数据的极大似然估计?
通过极大化不完全数据Y关于参数
θ
\theta
θ的似然函数:
在隐变量给出之后,就可以通过逐步迭代了来优化极大似然估计参数
θ
\theta
θ,在每一步迭代中,我们希望:
L
(
θ
)
>
L
(
θ
i
)
L(\theta)>L(\theta^{i})
L(θ)>L(θi)
两者差为:
根据Jason不等式:
有:
令:
则有:
则选择:
逐步得到:
由此说明,通过期望最大可以近似求解最优参数。
10.1.5 EM在非监督学习的应用
生成模型:根据数据学习联合分布 P ( X , Y ) P(X,Y) P(X,Y),在结合先验概率。计算出后验概率。
在非监督数据中,可以认为X就是观测数据,Y就是非观测数据(无标签),非监督的训练数据认为是由联合分布产生的数据。EM的特点就是,即使有未观测数据(无标签),依然可以参数估计。
10.2 EM算法的收敛
疑问:
- EM得到参数估计序列是否收敛?
- 收敛的话,是否会陷入区域最优?
收敛定理1:
收敛定理2:
10.3 高斯混合模型(Gaussian mixture model, GMM)(EM的重要应用)
EM算法的一个重要应用是高斯混合模型的参数估计。高斯混合模型应用广泛,在许多情况下,EM算法是学习高斯混合模型(Gaussian misture model)的有效方法
10.3.1 高斯混合模型介绍
(高斯分布就正态分布,也叫常态分布)
高斯分布混合模型概括起来就是有多个高斯模型加权后的线性组合模型
10.3.2 高斯混合模型参数估计的EM算法
(看的头大,不想总结了,晚上找一篇总结好的吧)
这篇就很不错,来自:高斯混合模型详解
10.4 EM算法的推广
EM算法还可以解释为F函数(F function)的极大-极大算法(maximizationmaximization algorithm),基于这个解释有若干变形与推广,如广义期望极大(generalized expectation maximization,GEM)算法。下面予以介绍
10.4.1 F函数的极大-极小算法
头大,有时间再看