平时机器学习学的比较杂,一不小心其中的细节容易忘,因此将部分内容记录下来权且当个烂笔头供日后翻阅。学到什么记什么,且以EM算法为始,主要参考CS229 Lecture notes7b The EM algorithm章节。
EM算法是Expectation-Maximization算法,中文翻译为期望最大化算法,按字面意思可以知道与期望和最大值有关,可以理解为计算每个样本的某种期望,然后改变一些参数最大化某种概率,继而又可重新计算每个样本的某种期望,如此反复,直到觉得差不多了。
那EM算法一般用来干什么?比如我有一堆数据需要模拟,如果这个数据很理想(如下图中第一个图所示),那么一个标准的二维高斯分布就能模拟出来。然后现实中往往还存在下图中的其他情况(不同颜色表示不同参数的高斯模型模拟出来的点),此时若强行用一个标准的高斯分布显然无法得到精确的效果。因此我们可以引入一类潜变量,利用这类潜变量就可以获得更好的模型来模拟这些数据了。EM算法可以确定出这些潜变量从而得到最优模型(不排除局部最优)。