em聚类算法 java,聚类算法 - EM

一、算法简介

EM(Expectation-Maximum)算法也称期望最大化算法。EM算法是最常见的隐变量估计方法,在机器学习中有极为广泛的用途,例如常被用来学习高斯混合模型(Gaussian mixture model,简称GMM)的参数;隐式马尔科夫算法(HMM)、LDA主题模型的变分推断等等。

二、预备知识

1、极大似然估计

极大似然估计,只是一种概率论在统计学的应用,它是参数估计的方法之一。说的是已知某个随机样本满足某种概率分布,但是其中具体的参数不清楚,参数估计就是通过若干次试验,观察其结果,利用结果推出参数的大概值。极大似然估计是建立在这样的思想上:已知某个参数能使这个样本出现的概率最大,我们当然不会再去选择其他小概率的样本,所以干脆就把这个参数作为估计的真实值。

极大似然估计的核心关键就是对于一些情况,样本太多,无法得出分布的参数值,可以采样小样本后,利用极大似然估计获取假设中分布的参数值。

三、算法过程

image.png

由于EM算法目前还未能理解具体的推导过程,因此暂时留下资料,为之后举例算法过程做参考。

这是文字传送门,

这是视频传送门,这是一个老师讲的课,非常推荐,

这是简易动画展示传送门。

四、优点与缺点

1、优点

(1)算法计算结果稳定、准确

(2)EM算法自收敛,既不需要事先设定类别,也不需要数据间的两两比较合并等操作

2、缺点

(1)对初始化数据敏感

(2)EM算法计算复杂,收敛较慢,不适于大规模数据集和高维数据

(3)当所要优化的函数不是凸函数时,EM算法容易给出局部最优解,而不是全局最优解

你可能感兴趣的:(em聚类算法,java)