分类目录归档:机器学习

理解EM算法

EM(Expectation-Maximization)算法在机器学习和自然语言处理应用非常广泛,典型的像是聚类算法K-means和高斯混合模型以及HMM(Hidden Markov Model)。笔者觉得讲EM算法最好的就是斯坦福大学Andrew Ng机器学习课的讲课笔记和视频。本文总结性的给出普遍的EM算法的推导和证明,希望能够帮助接触过EM算法但对它不是很明白的人更好地理解这一算法。 EM算法的目标是找出有隐性变量的概率模型的最大可能性解,它分为两个过程E-step和M-step,E-step通过最初假设或上一步得出的模型参数得到后验概率,M-step重新算出模型的参数,重复这个过程直到目标函数值收敛。我们设观察到的变量所组成的向量为,所有的隐性变量所组成的向量为,模型的参数为(一个或多个参数)。在聚类的情况下,是潜在的类,而就是需要分类的数据。我们的目标就是找出模型的参数使得出现的可能性最大,也就是使下面的对数可能性最大化: 注:这里仿照Andrew Ng 的用法使用而不是,因为是模型的参数而不是随机变量。关于为什么要用EM算法而不是不直接通过得出,是因为这样可能会出现严重的overfitting (这里不详细说明,请参看Pattern Recognition and Machine Learning一书9.2.1节)。 假设是上一个概率分布,所以 最后一步是根据Jensen不等式如果是凹函数,在这个式子中就是对数函数。就是而就是。 当是严格的 凹函数的时候,中等号成立的条件是是常数,也就是说在这个特定的式子中,满足这个条件加上之前的的其实就是后验概率(参看http://www.stanford.edu/class/cs229/materials.html Lecture notes: The EM Algorithm)。这就是EM算法中E-step的由来。 M-step一般来说就是个就是二次规划的问题,通过得出。这里也就不再赘述。 EM算法其实就是coordinate ascent, E-step是将视为常数,选择一个概率分布使得目标函数最大化, M-step就是保持不变,选择使得目标函数最大化,因为每一步的目标函数都比前一步的值大,所以只要目标函数存在最大值,EM算法就会收敛。这个过程用图像表示就是: E-step找到跟(黑色弧线)交于的(蓝色弧线),M-step得到取最大值时的,这样下去直到收敛。(此图源于Andrew)

发表在 机器学习 | 标签为 , , | 16 条评论

条件随机场文献阅读指南

  与最大熵模型相似,条件随机场(Conditional random fields,CRFs)是一种机器学习模型,在自然语言处理的许多领域(如词性标注、中文分词、命名实体识别等)都有比较好的应用效果。条件随机场最早由John D. Lafferty提出,其也是Brown90的作者之一,和贾里尼克相似,在离开IBM后他去了卡耐基梅隆大学继续搞学术研究,2001年以第一作者的身份发表了CRF的经典论文 “Conditional random fields: Probabilistic models for segmenting and labeling sequence data”。

发表在 机器学习, 条件随机场, 自然语言处理 | 标签为 , , , , , , , , | 21 条评论

立委随笔:机器学习和自然语言处理

  不小心撞上了科学网上李维老师的博客,读了他个人履历和几篇文章,只能用“敬佩”二字对李维老师表示敬意。作为年后开工的第一篇博文,本无转载计划的,但是这里还是选用李维老师的随笔《机器学习和自然语言处理》,这是一位计算语言学学者和自然语言处理实践者多年来的经验之谈,没有相当的积累,纸上是谈不来的。不过,更推荐有兴趣的读者读读《朝华午拾:在美国写基金申请的酸甜苦辣》,虽然很长,我还是一气呵成读完的,除了佩服李维老师的行文能力外,也能看到成功背后的付出和汗水是多么的巨大。

发表在 机器学习, 自然语言处理, 转载 | 标签为 , , , , , | 留下评论