EM 算法(一)-原理】的更多相关文章

讲到 EM 算法就不得不提极大似然估计,我之前讲过,请参考我的博客 下面我用一张图解释极大似然估计和 EM 算法的区别 EM 算法引例1-抛3枚硬币 还是上图中抛硬币的例子,假设最后结果正面记为1,反面记为0,抛10次,结果为 1101001011: 下面我用数据公式解释下这个例子和 EM 算法: 三硬币模型可以写作 θ 表示模型参数,即 三枚硬币正面的概率,用 π p q 表示: y 表示观测随机变量,取值为 0,1: z 表示隐随机变量,在本例中就是 A 的正反面,或者是选择 B 还是不选择…
EM算法也称期望最大化(Expectation-Maximum,简称EM)算法,它是一个基础算法,是很多机器学习领域算法的基础,比如隐式马尔科夫算法(HMM), LDA主题模型的变分推断等等.本文就对EM算法的原理做一个总结. 1. EM算法要解决的问题 我们经常会从样本观察数据中,找出样本的模型参数. 最常用的方法就是极大化模型分布的对数似然函数. 但是在一些情况下,我们得到的观察数据有未观察到的隐含数据,此时我们未知的有隐含数据和模型参数,因而无法直接用极大化对数似然函数得到模型分布的参数.…
EM算法及其应用(一) EM算法及其应用(二): K-means 与 高斯混合模型 EM算法是期望最大化 (Expectation Maximization) 算法的简称,用于含有隐变量的情况下,概率模型参数的极大似然估计或极大后验估计.EM算法是一种迭代算法,每次迭代由两步组成:E步,求期望 (expectation),即利用当前估计的参数值来计算对数似然函数的期望值:M步,求极大 (maximization),即求参数\(\theta\) 来极大化E步中的期望值,而求出的参数\(\theta…
最大期望算法(EM) K均值算法很easy(可參见之前公布的博文),相信读者都能够轻松地理解它. 但以下将要介绍的EM算法就要困难很多了.它与极大似然预计密切相关. 1 算法原理 最好还是从一个样例開始我们的讨论.如果如今有100个人的身高数据,并且这100条数据是随机抽取的. 一个常识性的看法是.男性身高满足一定的分布(比如正态分布),女性身高也满足一定的分布.但这两个分布的參数不同. 我们如今不仅不知道男女身高分布的參数,甚至不知道这100条数据哪些是来自男性.哪些是来自女性.这正符合聚类问…
一. 扯淡 转眼间毕业快一年了,这期间混了两份工作,从游戏开发到算法.感觉自己还是喜欢算法,可能是大学混了几年算法吧!所以不想浪费基础... 我是个懒得写博客的人,混了几年coding,写的博客不超过10篇.现在参加工作,必须得改掉懒的坏习惯,以后多尝试写写,好总结总结,也方便以后复习用. 二.算法 1. 前言 1.1 EM会涉及一些数学知识,比如最大似然估计和Jensen不等式等知识,这些知识最烦了,动不动就一堆推导公式,看着就觉得蛋疼,经过它讲的原理比较简单,多以在此略过. 1.2 本文的侧…
1. EM算法-数学基础 2. EM算法-原理详解 3. EM算法-高斯混合模型GMM 4. EM算法-高斯混合模型GMM详细代码实现 5. EM算法-高斯混合模型GMM+Lasso 1. 前言 概率模型有时既含有观测变量(observable variable),又含有隐变量或潜在变量(latent variable),如果仅有观测变量,那么给定数据就能用极大似然估计或贝叶斯估计来估计model参数:但是当模型含有隐变量时,需要一种含有隐变量的概率模型参数估计的极大似然方法估计--EM算法 2…
EM算法有很多的应用: 最广泛的就是GMM混合高斯模型.聚类.HMM等等. The EM Algorithm 高斯混合模型(Mixtures of Gaussians)和EM算法 EM算法 求最大似然函数估计值的一般步骤: (1)写出似然函数: (2)对似然函数取对数,并整理: (3)求导数,令导数为0,得到似然方程: (4)解似然方程,得到的参数即为所求. 期望最大化算法(EM算法): 优点: 1. 简单稳定: 2. 通过E步骤和M步骤使得期望最大化,是自收敛的分类算法,既不需要事先设定类别也…
在聚类中我们经经常使用到EM算法(i.e. Estimation - Maximization)进行參数预计, 在该算法中我们通过函数的凹/凸性,在estimation和maximization两步中迭代地进行參数预计,并保证能够算法收敛,达到局部最优解. PS:为了不在11.11这个吉祥的日子发blog,还是打算今天发了,祝单身coder节日快乐,心情愉快~~ 因为公式实在太多,这里我就手写了--主要讲了下面几个部分: 1. 凸集,凸函数,凹集,凹函数的概念 2. Jensen's inequ…
1.引言 以前我们讨论的概率模型都是只含观测变量(observable variable), 即这些变量都是可以观测出来的,那么给定数据,可以直接使用极大似然估计的方法或者贝叶斯估计的方法:但是当模型含有隐变量(latent variable)的时候, 就不能简单地使用这些估计方法. 如在高斯混合和EM算法中讨论的高斯混合就是典型的含有隐变量的例子,已经给出EM算法在高斯混合模型中的运用,下面我们来讨论一些原理性的东西. 2.Jensen 不等式 令是值域为实数的函数,那么如果,则就是一个凸函数…
EM算法即期望最大化(Expection Maximization)算法,是一种最优化算法,在机器学习领域用来求解含有隐变量的模型的最大似然问题.最大似然是一种求解模型参数的方法,顾名思义,在给定一组数据时,将似然表示为参数的函数,然后对此似然函数最大化即可求出参数,此参数对应原问题的最大似然解.对于简单的问题,我们通过将似然函数对参数求导并令导数等于零即可求出参数的解析解或隐式解.然而,有一类模型,他们的结构中包含隐变量(如混合高斯模型.混合伯努利模型.隐马尔科夫模型等),无法通过对似然函数直…
EM是我一直想深入学习的算法之一,第一次听说是在NLP课中的HMM那一节,为了解决HMM的参数估计问题,使用了EM算法.在之后的MT中的词对齐中也用到了.在Mitchell的书中也提到EM可以用于贝叶斯网络中. 下面主要介绍EM的整个推导过程. 1. Jensen不等式 回顾优化理论中的一些概念.设f是定义域为实数的函数,如果对于所有的实数x,,那么f是凸函数.当x是向量时,如果其hessian矩阵H是半正定的(),那么f是凸函数.如果或者,那么称f是严格凸函数. Jensen不等式表述如下:…
EM算法是一种迭代算法,用于含有隐变量(hidden variable)的概率模型参数的极大似然估计,或极大后验概率估计.EM算法的每次迭代由两步组成:E步,求期望(expectation):M步,求极大(Maximization). EM算法的引入 给一些观察数据,可以使用极大似然估计法,或贝叶斯估计法估计模型参数.但是当模型含有隐变量时,就不能简单地使用这些方法.有些时候,参数的极大似然估计问题没有解析解,只能通过迭代的方法求解,EM算法就是可以用于求解这个问题的一种迭代算法. EM算法 输…
摘要: 1.算法概述 2.算法推导 3.算法特性及优缺点 4.注意事项 5.实现和具体例子 6.适用场合 内容: 1.算法概述 k-means算法是一种得到最广泛使用的聚类算法. 它是将各个聚类子集内的所有数据样本的均值作为该聚类的代表点. 2.算法推导 2.1 k-means 计算过程: 深入:如何验证收敛: 我们定义畸变函数(distortion function)如下: J函数表示每个样本点到其质心的距离平方和.K-means是要将J调整到最小.假设当前J没有达到最小值,那么首先可以固定每…
目录 EM算法(1):K-means 算法 EM算法(2):GMM训练算法 EM算法(3):EM算法运用 EM算法(4):EM算法证明 EM算法(1) : K-means算法 1. 简介 K-means算法是一类无监督的聚类算法,目的是将没有标签的数据分成若干个类,每一个类都是由相似的数据组成.这个类的个数一般是认为给定的. 2. 原理 假设给定一个数据集$\mathbf{X} = \{\mathbf{x}_1, \mathbf{x}_2,...,\mathbf{x}_N \}$, 和类的个数K…
(EM算法)The EM Algorithm http://www.cnblogs.com/jerrylead/archive/2011/04/06/2006936.html EM算法原理 http://blog.csdn.net/abcjennifer/article/details/8170378 从最大似然到EM算法浅解 http://blog.csdn.net/zouxy09/article/details/8537620…
1. 通过一个简单的例子直观上理解EM的核心思想 0x1: 问题背景 假设现在有两枚硬币Coin_a和Coin_b,随机抛掷后正面朝上/反面朝上的概率分别是 Coin_a:P1:-P1 Coin_b:P2:-P2 为了估计这个概率(我们事先是不知道这两枚硬币正面朝上的概率的),我们需要通过实验法来进行最大似然估计,每次取一枚硬币,连掷5下,记录下结果 硬币 结果 统计 Coin_a 正 正 反 正 反 3正-2反 Coin_b 反 反 正 正 反 2正-3反 Coin_a 正 反 反 反 反 1…
一.极大似然已经发生的事件是独立重复事件,符合同一分布已经发生的时间是可能性(似然)的事件利用这两个假设,已经发生时间的联合密度值就最大,所以就可以求出总体分布f中参数θ 用极大似然进行机器学习有监督学习:最大熵模型无监督学习:GMM 二.熵和信息自信息i(x) = -log(p(x)) 信息是对不确定性的度量.概率是对确定性的度量,概率越大,越确定,可能性越大.信息越大,越不确定. 熵是对平均不确定性的度量.熵是随机变量不确定性的度量,不确定性越大,熵值越大.H(x) = -∑p(x)log⁡…
1. 前言 我们之前有介绍过4. EM算法-高斯混合模型GMM详细代码实现,在那片博文里面把GMM说涉及到的过程,可能会遇到的问题,基本讲了.今天我们升级下,主要一起解析下EM算法中GMM(搞事混合模型)带惩罚项的详细代码实现. 2. 原理 由于我们的极大似然公式加上了惩罚项,所以整个推算的过程在几个地方需要修改下. 在带penality的GMM中,我们假设协方差是一个对角矩阵,这样的话,我们计算高斯密度函数的时候,只需要把样本各个维度与对应的\(\mu_k\)和\(\sigma_k\)计算一维…
1. EM算法-数学基础 2. EM算法-原理详解 3. EM算法-高斯混合模型GMM 4. EM算法-GMM代码实现 5. EM算法-高斯混合模型+Lasso 1. 前言 前面几篇博文对EM算法和GMM模型进行了介绍,本文我们通过对GMM增加一个惩罚项. 2. 不带惩罚项的GMM 原始的GMM的密度函数是 \[ p(\boldsymbol{x}|\boldsymbol{\pi},\boldsymbol{\mu},\boldsymbol{\Sigma})=\sum_{k=1}^K\pi_k\ma…
1. EM算法-数学基础 2. EM算法-原理详解 3. EM算法-高斯混合模型GMM 4. EM算法-高斯混合模型GMM详细代码实现 5. EM算法-高斯混合模型GMM+Lasso 1. 前言 EM的前3篇博文分别从数学基础.EM通用算法原理.EM的高斯混合模型的角度介绍了EM算法.按照惯例,本文要对EM算法进行更进一步的探究.就是动手去实践她. 2. GMM实现 我的实现逻辑基本按照GMM算法流程中的方式实现.需要全部可运行代码,请移步我的github. 输入:观测数据\(x_1,x_2,x…
1. EM算法-数学基础 2. EM算法-原理详解 3. EM算法-高斯混合模型GMM 4. EM算法-高斯混合模型GMM详细代码实现 5. EM算法-高斯混合模型GMM+Lasso 1. 前言 GMM(Gaussian mixture model) 混合高斯模型在机器学习.计算机视觉等领域有着广泛的应用.其典型的应用有概率密度估计.背景建模.聚类等. 2. GMM介绍 高斯混合模型(Gaussian Mixed Model)指的是多个高斯分布函数的线性组合,理论上GMM可以拟合出任意类型的分布…
1. EM算法-数学基础 2. EM算法-原理详解 3. EM算法-高斯混合模型GMM 4. EM算法-高斯混合模型GMM详细代码实现 5. EM算法-高斯混合模型GMM+Lasso 1. 凸函数 通常在实际中,最小化的函数有几个极值,所以最优化算法得出的极值不确实是否为全局的极值,对于一些特殊的函数,凸函数与凹函数,任何局部极值也是全局极致,因此如果目标函数是凸的或凹的,那么优化算法就能保证是全局的. 定义1:集合\(R_c\subset E^n\)是凸集,如果对每对点\(\textbf{x}…
将学习EM算法过程中看到的好的资料汇总在这里,供以后查询.也供大家參考. 1. 这是我学习EM算法最先看的优秀的入门文章,讲的比較通俗易懂,并且举了样例来说明当中的原理.不错! http://blog.csdn.net/zouxy09/article/details/8537620 还有这个,跟上一篇几乎相同,略微有些深入.说明了EM过程收敛的原因. http://www.cnblogs.com/jerrylead/archive/2011/04/06/2006936.html 另外,这篇文章中…
<Adaboost算法的原理与推导>一文为他人所写,原文链接: http://blog.csdn.net/v_july_v/article/details/40718799 另外此文大部分是摘录李航的<统计学笔记>一书,原书下载链接:http://vdisk.weibo.com/s/z4UjMcqGpoNTw?from=page_100505_profile&wvr=6 在根据文中推导是发现有计算错误以及省略的步骤,在下文将会进行说明. ------------------…
EM算法,全称Expectation Maximization Algorithm,译作最大期望化算法或期望最大算法,是机器学习十大算法之一,吴军博士在<数学之美>书中称其为“上帝视角”算法,其重要性可见一斑. EM算法是一种迭代算法,用于含有隐变量(hidden variable)的概率参数模型的最大似然估计或极大后验概率估计.它与极大似然估计的区别就是它在迭代过程中依赖极大似然估计方法.极大似然估计是在模型已知的情况下,求解模型的参数$\theta$,让抽样出现的概率最大.类似于求解一元方…
似然函数 常说的概率是指给定参数后,预测即将发生的事件的可能性.拿硬币这个例子来说,我们已知一枚均匀硬币的正反面概率分别是0.5,要预测抛两次硬币,硬币都朝上的概率: H代表Head,表示头朝上 p(HH | pH = 0.5) = 0.5*0.5 = 0.25. 这种写法其实有点误导,后面的这个p其实是作为参数存在的,而不是一个随机变量,因此不能算作是条件概率,更靠谱的写法应该是 p(HH;p=0.5). 而似然概率正好与这个过程相反,我们关注的量不再是事件的发生概率,而是已知发生了某些事件,…
1.EM算法要解决的问题 如果使用基于最大似然估计的模型,模型中存在隐变量,就要用EM算法做参数估计. EM算法解决这个的思路是使用启发式的迭代方法,既然我们无法直接求出模型分布参数,那么我们可以先猜想隐含数据(EM算法的E步),接着基于观察数据和猜测的隐含数据一起来极大化对数似然,求解我们的模型参数(EM算法的M步).由于我们之前的隐藏数据是猜测的,所以此时得到的模型参数一般还不是我们想要的结果.不过没关系,我们基于当前得到的模型参数,继续猜测隐含数据(EM算法的E步),然后继续极大化对数似然…
注:本文中涉及到的公式一律省略(公式不好敲出来),若想了解公式的具体实现,请参考原著. 1.基本概念 (1)聚类的思想: 将数据集划分为若干个不想交的子集(称为一个簇cluster),每个簇潜在地对应于某一个概念.但是每个簇所具有现实意义由使用者自己决定,聚类算法仅仅会进行划分. (2)聚类的作用: 1)可以作为一个单独的过程,用于寻找数据的一个分布规律 2)作为分类的预处理过程.首先对分类数据进行聚类处理,然后在聚类结果的每一个簇上执行分类过程. (3)聚类的性能度量: 1)外部指标:该指标是…
看了很多篇解释关于Adaboost的博文,觉得这篇写得很好,因此转载来自己的博客中,以便学习和查阅. 原文地址:<Adaboost 算法的原理与推导>,主要内容可分为三块,Adaboost介绍.实例以及公式推导. 1 Adaboost的原理 1.1 Adaboost是什么 AdaBoost,是英文"Adaptive Boosting"(自适应增强)的缩写,由Yoav Freund和Robert Schapire在1995年提出.它的自适应在于:前一个基本分类器分错的样本会得…
python大战机器学习——聚类和EM算法   注:本文中涉及到的公式一律省略(公式不好敲出来),若想了解公式的具体实现,请参考原著. 1.基本概念 (1)聚类的思想: 将数据集划分为若干个不想交的子集(称为一个簇cluster),每个簇潜在地对应于某一个概念.但是每个簇所具有现实意义由使用者自己决定,聚类算法仅仅会进行划分. (2)聚类的作用: 1)可以作为一个单独的过程,用于寻找数据的一个分布规律 2)作为分类的预处理过程.首先对分类数据进行聚类处理,然后在聚类结果的每一个簇上执行分类过程.…