EM算法理解

2021年11月20日 阅读数:1
这篇文章主要向大家介绍EM算法理解,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

导入:算法

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

step1:随机选取k个均值测试

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

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

2. KNN算法:(有监督)it

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

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

k值的减少就意味着总体模型变得复杂,容易发生过拟合遍历

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

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

算法步骤:

观测变量$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不等式求出下界,经过优化下界来优化似然函数