什么是期望最大化?
EM(期望最大化)算法是一种著名的迭代细化算法,可用于发现参数估计。它可以被认为是k-means范式的扩展,它根据集群均值创建一个与它最相似的集群的对象。
EM根据定义成员概率的权重将每个对象创建到一个集群中。换句话说,集群之间没有严格的界限。因此,基于加权度量来评估新均值。
EM从对组合模型参数(统称为参数向量)的原始估计或“猜测”开始。它可以迭代地重新评分对象,而不是由参数向量产生的混合密度。重新评分的对象用于恢复参数估计。如果每个对象是给定集群的成员,则它创建了一个概率,即它可以拥有一组特定的属性值。该算法表示如下-
它可用于对参数向量进行原始猜测-这包含随机选择k个对象来定义聚类均值或中心(如在k均值分区中),并对新参数进行猜测。
它可以根据以下两个步骤重复优化参数(或集群)-
(a)期望步骤-它可以创建每个对象xi以概率聚类ck
$$P(x_{i}\epsilonC_{k})=p(C_{k}|x_{i})=\frac{p(C_{k})p(x_{i}|C_{k})}{p(x_{i})}$$
其中p(xi|Ck)=N(mk,Ek(xi))遵循均值mk周围的正态(即高斯)分布,期望值Ek。换句话说,这一步计算每个集群的对象xi的集群成员的概率。这些概率是对象xi的“预期”集群成员。
(b)最大化步骤-它可能需要上面的概率估计来重新估计(或改进)模型参数。例如,
$$m_{k}=\frac{1}{n}\sum_{i=1}^{n}\frac{x_{i}P(x_{i}\epsilonC_{k})}{\sum_{j}P(x_{i}\epsilonC_{j})}$$
这个阶段是给定数据的分配可能性的“最大化”。
EM算法简单易懂,易于执行。它收敛很快,但不能达到全局最优。对于特定形式的优化函数,收敛是有保证的。计算复杂度在d(输入特征的数量)、n(项目的数量)和t(冗余的数量)中是线性的。贝叶斯聚类技术的目标是计算类条件概率密度。它们通常用于统计社区。
在工业中,AutoClass是一种著名的贝叶斯聚类技术,它使用了EM算法的修改。给定对象的准确聚类,最佳聚类使预测对象属性的能力最大化。AutoClass还可以估计集群的数量。它已被用于各个领域,并且能够根据红外天文学数据找到一类新的恒星。