文章目录
- 背景
-
- 极大似然估计
- 隐变量
- 高斯混合模型
- EM算法
-
-
- 合理性分析
-
- 相关好文章
背景
EM算法(期望最大化算法,Expectation-Maximization Algorithm)是一种迭代优化算法,用于在含有隐变量的概率模型中估计最大似然参数。
这是概括性的定义,下面我会解释其中的名词并用具体例子来引入EM算法。
极大似然估计
先复习一下极大似然函数估计,我们假设数据满足某个分布(例如正态分布 N ( μ , σ 2 ) N(\mu, \sigma^2) N(μ,σ2)),但我们不知道其中的参数( μ , σ \mu, \sigma μ,σ),于是我们需要从已知的数据中去拟合或估计出这些参数。
进行极大似然估计的一般过程为(以正态分布为例):
(1)确定概率模型
p ( x i ; μ , σ 2 ) = 1 2 π σ 2 exp ( − ( x i − μ ) 2 2 σ 2 ) p(x_i;\mu, \sigma^2) = \frac{1}{\sqrt{2\pi\sigma^2}} \exp \left( -\frac{(x_i - \mu)^2}{2\sigma^2} \right) p(xi;μ,σ2)=2πσ21exp(−2σ2(xi−μ)2)
(2)确定似然函数,并取负对数得到负对数似然
L ( μ , σ 2 ) = ∏ i = 1 n p ( x i ; μ , σ 2 ) = ∏ i = 1 n 1 2 π σ 2 exp ( − ( x i − μ ) 2 2 σ 2 ) l ( μ , σ 2 ) = − ln L ( μ , σ 2 ) = n 2 ln ( 2 π σ 2 ) + 1 2 σ 2 ∑ i = 1 n ( x i − μ ) 2 L(\mu, \sigma^2) = \prod_{i=1}^np(x_i;\mu,\sigma^2)=\prod_{i=1}^n \frac{1}{\sqrt{2\pi\sigma^2}} \exp\left(-\frac{(x_i - \mu)^2}{2\sigma^2}\right) \\ l(\mu, \sigma^2) = -\ln L(\mu, \sigma^2) = \frac{n}{2} \ln(2\pi\sigma^2) + \frac{1}{2\sigma^2} \sum_{i=1}^n (x_i - \mu)^2 L(μ,σ2)=i=1∏np(xi;μ,σ2)=i=1∏n2πσ21exp(−2σ2(xi−μ)2)l(μ,σ2)=−lnL(μ,σ2)=2nln(2πσ2)+2σ21i=1∑n(xi−μ)2
(3)计算极值点, θ ^ = ( μ , σ 2 ) \hat{\theta}=(\mu, \sigma^2) θ^=(μ,σ2)是待估计的参数
θ ^ = arg min μ , σ 2 l ( μ , σ 2 ) \hat{\theta} = \arg\min_{\mu, \sigma^2} l(\mu, \sigma^2) θ^=argμ,σ2minl(μ,σ2)
如果方程简单,可以解析求解,即导数为0,得到似然方程。
如果方程复杂,可能需要数值方法(如梯度下降、牛顿法)。
隐变量
什么是隐变量?考虑以下情景:
现在有一个蛋糕集,里面有巧克力蛋糕和草莓蛋糕,用 k i = 0 , 1 k_i = 0, 1 ki=0,1来表示。假设它们分别满足分布 N ( μ 1 , σ 1 2 ) N(\mu_1, \sigma_1^2) N(μ1,σ12)和 N ( μ 2 , σ 2 2 ) N(\mu_2, \sigma_2^2) N(μ2,σ22),然而,我们并不知道某个蛋糕具体是巧克力做的还是草莓做的。换句话说,我们需要估计出所有的 k i k_i ki以及参数 μ 1 , σ 1 , μ 2 , σ 2 \mu_1, \sigma_1, \mu_2, \sigma_2 μ1,σ1,μ2,σ2。这里 k i k_i ki就是隐变量,即无法直接观测的变量。
这里就产生了一个“鸡生蛋,蛋生鸡”问题:
(1)要想估计模型参数 μ 1 , σ 1 , μ 2 , σ 2 \mu_1, \sigma_1, \mu_2, \sigma_2 μ1,σ1,μ2,σ2,需要知道每个样本的类别 k i k_i ki
(2)要想确认样本的类别 k i k_i ki需要事先知道模型的参数。
高斯混合模型
事实上,我们可以用高斯混合模型来同时表示两个正态分布模型:
p ( x i ∣ μ 1 , σ 1 2 , μ 2 , σ 2 2 , π 0 , π 1 ) = π 0 ⋅ 1 2 π σ 1 2 exp ( − ( x i − μ 1 ) 2 2 σ 1 2 ) + π 1 ⋅ 1 2 π σ 2 2 exp ( − ( x i − μ 2 ) 2 2 σ 2 2 ) p(x_i | \mu_1, \sigma_1^2, \mu_2, \sigma_2^2, \pi_0, \pi_1) = \pi_0 \cdot \frac{1}{\sqrt{2\pi\sigma_1^2}} \exp\left(-\frac{(x_i - \mu_1)^2}{2\sigma_1^2}\right) + \pi_1 \cdot \frac{1}{\sqrt{2\pi\sigma_2^2}} \exp\left(-\frac{(x_i - \mu_2)^2}{2\sigma_2^2}\right) p(xi∣μ1,σ12,μ2,σ22,π0,π1)=π0⋅2πσ12