学习机器学习算法最大的痛苦就是各种数学公式的推导和记忆,而且你会推导和记忆清楚了这些数学公式之后,过个一两周就会忘记了,因此我一般学习机器学习的算法都会尝试从直观上进行理解这些公式的含义,以便于能更好地长时间记忆这些公式,同时能更好地利用这些公式。
EM算法
不直接贴公式推导啥的,直观理解上这个算法的步骤就是
定义观测数据为X,模型参数为theta
1、对于模型参数先给个初始值theta(0)
2、确定隐变量z以及z的可能取值(离散的情形)
3、设当前迭代次数为i,求出隐变量z的条件概率p(z|x, theta(i-1)),以及在此概率下的期望 logp(x,z|theta)*p(z|x, theta(i-1))
4、最大化步骤3中的期望
5、循环步骤3和步骤4
具体的例子
高斯混合分布
鲍姆韦尔奇算法