为什么期望最大化对混合模型很重要?

机器算法验证 机器学习 优化 期望最大化 高斯混合分布
2022-01-20 02:59:57

有很多文献强调混合模型的期望最大化方法(高斯混合、隐马尔可夫模型等)。

为什么 EM 很重要?EM 只是一种进行优化的方法,并未广泛用作基于梯度的方法(梯度体面法或牛顿/准牛顿法)或此处讨论的其他无梯度方法。此外,EM 还存在局部极小值问题。

是不是因为流程很直观,可以很容易地变成代码?或者还有什么其他原因?

2个回答

原则上,EM 和标准优化方法都可以用于拟合混合分布。与 EM 一样,凸优化求解器将收敛到局部最优值。但是,存在多种优化算法以在存在多个局部最优时寻求更好的解决方案。据我所知,具有最佳收敛速度的算法将取决于问题。

EM 的一个好处是它在每次迭代中自然地为混合分布生成有效参数。相反,标准优化算法需要施加约束。例如,假设您正在拟合高斯混合模型。标准的非线性规划方法需要将协方差矩阵约束为半正定,并将混合分量权重约束为非负且总和为 1。

为了在高维问题上获得良好的性能,非线性规划求解器通常需要利用梯度。所以,你必须要么推导出梯度,要么用自动微分计算它。如果梯度没有标准形式,约束函数也需要梯度。Newton 方法和相关方法(例如信任域方法)也需要 Hessian。如果梯度不可用,则可以使用有限差分或无导数方法,但随着参数数量的增加,性能往往会变差。相反,EM 不需要梯度。

EM 在概念上是直观的,这是一个很大的优点。这通常也适用于标准优化方法。实现细节很多,但总体概念很简单。通常可以使用标准优化求解器将这些细节抽象出来。在这些情况下,用户只需提供目标函数、约束和梯度,并拥有足够的工作知识来选择一个非常适合该问题的求解器。但是,如果用户必须考虑或实现优化算法的低级细节,则肯定需要专业知识。

EM 算法的另一个好处是它可以在某些数据值丢失的情况下使用。

也感兴趣(包括评论):

我认为 user20160 的回答提供了一个很好的解释,使基于梯度的方法在这里不适合的最重要原因是协方差矩阵的约束是半正定的,并且混合系数是非负的并且总和为一个。

只想指出,如果我们将协方差矩阵限制为对角线,那么这两个约束可以很容易地表示出来。

对角协方差矩阵可以写为

Σ=[σ12σN2]
混合系数可以通过 softmax 表示为
ϕk=epk/Kepi
然后满足两个约束,并且可以简单地通过反向传播来评估梯度。

此外,这使我们能够直接优化真实似然而不是变分下限 (ELBO),从而消除了对潜在变量的需求。

然而,即使在这种情况下,EM 也经常证明是比梯度体面更好的算法。