em算法java代码 em算法计算题

pattern recognition and machine learning这本书怎么看作者em算法java代码:Richardmore
这本书可以说是机器学习em算法java代码的经典学习之作 。以前在上机器学习这么课的时候em算法java代码,很多细节还没联系到,结果在读论文中就显得捉襟见肘 。本文打算理清楚这本书的脉络,也顺便为学习机器学习的人打下一个学习路线图 。
1. 排除两块内容
现排除第五章的内容神经网络,之所以把神经网络先单列出来,原因一是一个比较独立的研究脉络 , 二是因为这部分因为深度学习的原因太热了,所以我认为在学习机器学习中把神经网络单列出来学习,在交大的研究生课程安排中,神经网络是机器学习的后续课程 。
对于第6,7章,也不在下面的学习路线中 , 因为这部分是关于核技巧方面的,主要是就是高斯过程回归,高斯过程分类以及SVM等内容 。
2. 一个概率图框架为中心视角
排除了上面几章的内容,PRML书中可以用下面的学习路线图覆盖,通过这个图可以理清楚了各个内容的不同角色 。
img src="" data-rawwidth="1888" data-rawheight="412" class="origin_image zh-lightbox-thumb" width="1888" data-original=""
说明:
(1)一般模型中都会有隐变量因此,,因此对于P(X)的采用MLE学习的另一个技巧,便是第九章 EM算法 。条件是在M步时,Q要可以被analytically computed 。
(2)至于为什么近似,Exact Inference is hard we resort to approximation
3. 隐变量技巧
下面我们看看另外一个视角:隐变量技巧 。隐变量不仅可以使得模型的表达能力丰富起来,而且通常对于隐变量往往富有一定的实际意义 。
img src="" data-rawwidth="1764" data-rawheight="422" class="origin_image zh-lightbox-thumb" width="1764" data-original=""
说明:
(1)这里所谓的结合模型中,在PRML中最后一章仅仅提到了以加法的方式进行模型集合,也就是mixture of experts,在论文Hinton G E. Training products of experts by minimizing contrastive divergence[J]. Neural computation, 2002, 14(8): 1771-1800. 提出了product of experts 模型 , 也就是以乘法的方式进行结合,RBM就是一种特殊的product of experts 模型 , 而高斯混合模型便是加法模型的代表 。
(2)隐变量的技巧是机器学习中一种重要的技巧,隐变量的加入不仅仅增加了模型的表达能力,而且,隐变量还可以被赋予某种特殊的意义,比如RBM模型中隐变量h被当成显变量v的特征抽象 。这当然归根结底是因为隐变量模型确实是现实世界真实存在的情况 , unobserved but important variables do exist! 当然隐变量的引入也为模型的推断带来了新的挑战,有很多比较好的隐变量模型往往找不到很高效的方法,而被限制着 。
4. 例子说明
下面分别从上面两个视角来分析RBM模型,贝叶斯线性回归和序列模型 。
4.1 RBM模型
RBM模型是一个无向2层对称的图模型 , 从隐变量的视角来看 , 它是一个以乘法方式结合的distributed models 。当然隐变量的引入增加了模型的复杂性和表达能力,但是也为学习,推断带来了问题 。对于RBM的参数学习,因为是无向图,所以采用MLE最大化P(X) , 但是由于此时P(X , Z)难以评估,所以
img src="" data-rawwidth="834" data-rawheight="94" class="origin_image zh-lightbox-thumb" width="834" data-original=""
很难计算 , 没有在RBM的学习中不能像高斯混合模型那样可以采取EM算法 。因此只能采取最为标准的做法 , 求取P(X)的梯度,结果梯度公式如下:
img src="" data-rawwidth="800" data-rawheight="90" class="origin_image zh-lightbox-thumb" width="800" data-original=""

推荐阅读