EM算法理解

导入:

1. k-means算法:一种无监督的聚类算法。

step1:随机选取k个均值

step2:遍历余下的点,一个点到这k个均值的距离,该点离哪个均值近就跟哪个均值归为一个簇

step3:分好k个簇后,计算各自的中心点(判断中心点与这上诉K个均值是否一致,不一致则迭代计算1-3步,一致则达到收敛)

2. KNN算法:(有监督)

step1:随机取k值,在测试集中选择一个样本,在训练集中找到距离这个样本最近的k个点

step2:k个点中多数的类就是这个样本的类标签(距离度量)

k值的减小就意味着整体模型变得复杂,容易发生过拟合

EM算法:就是含有隐变量的概率模型参数的极大似然估计法(极大后验概率估计法)

缺陷:会产生过拟合,将训练集中的噪声学到使模型过于复杂。对于这个缺陷的处理:加上惩罚项(模型参数的范数)

算法步骤:

观测变量$X$,隐变量$Z$,联合概率分布$p\left( X,Z|\theta  \right)$,条件分布$p\left( Z|Y,\theta  \right)$

1.选择参数的初始值${{\theta }_{0}}$,开始迭代

2.E步:记${{\theta }_{i}}$为第i次迭代参数$\theta $的估计值,在第i+1次迭代的E步,计算:

$Q\left( \theta ,{{\theta }_{i}} \right)=\sum\limits_{Z}{\log p\left( Y,Z|\theta  \right)}p\left( Z|Y,{{\theta }_{i}} \right)$(EM算法的核心)

3.M步:求使Q极大化的$\theta $,确定第i+1次迭代的参数的估计值${{\theta }_{i+1}}$

${{\theta }_{i+1}}=\arg \underset{\theta }{\mathop{\max }}\,Q\left( \theta ,{{\theta }_{i}} \right)$

4.重复第2-3,直到收敛

 似然函数形式复杂,没有解析解,因此引入Jensen不等式求出下界,通过优化下界来优化似然函数

猜你喜欢

转载自www.cnblogs.com/gnn0426/p/9306023.html