什么是期望最大化算法?


EM(期望最大化)算法是一种著名的迭代细化算法,可用于发现参数估计。它可以被认为是 k-means 范式的扩展,根据聚类均值,将对象创建到与其最相似的聚类中。

EM 根据定义成员概率的权重将每个对象创建到一个聚类中。换句话说,聚类之间没有严格的边界。因此,新的均值是基于加权度量来评估的。

EM 从组合模型参数的原始估计或“猜测”开始(统称为参数向量)。它可以迭代地重新评分对象,而不是参数向量生成的混合密度。重新评分的对象用于恢复参数估计。每个对象都创建了一个概率,表明在它是给定聚类成员的情况下,它可以拥有特定属性值的特定集合。该算法表示如下:

  • 它可以用来对参数向量进行初始猜测 - 这包括随机选择 k 个对象来定义聚类均值或中心(如在 k-means 分区中),并对新参数进行猜测。

  • 它可以根据以下两个步骤重复细化参数(或聚类):

  • (a) 期望步骤 - 它可以将每个对象 xi 创建到聚类 ck 中,其概率为

    $$P(x_{i}\epsilon C_{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}\epsilon C_{k})}{\sum_{j}P(x_{i}\epsilon C_{j})}$$

此阶段是给定数据的情况下,分配似然的“最大化”。

EM 算法简单易懂,执行起来也比较方便。它收敛速度快,但无法达到全局最优。对于特定形式的优化函数,收敛是有保证的。计算复杂度与 d(输入特征数)、n(项目数)和 t(冗余度数)呈线性关系。贝叶斯聚类技术的目标是计算类条件概率密度。它们通常用于统计学界。

在工业界,AutoClass 是一种著名的贝叶斯聚类技术,它使用了 EM 算法的修改版本。最佳聚类最大化了给定对象准确聚类的情况下预测对象属性的能力。AutoClass 还可以估计聚类数量。它已被用于各个领域,并且能够根据红外天文学数据找到一类新的恒星。

更新于: 2021年11月24日

592 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告