EM算法的适用场景: EM算法用于估计含有隐变量的概率模型参数的极大似然估计,或者极大后验概率估计. 当概率模型既含有观测值,又含有隐变量或潜在变量时,就可以使用EM算法来求解概率模型的参数. 当概率模型只含有观测值时,直接使用极大似然估计法,或者贝叶斯估计法估计模型参数就可以了. 最大似然估计:若X为离散型随机变量,其概率分布的形式为P{X=x}=p(x;theta). 当样本值确定时,所有样本的乘积可以看作是theta的函数,并称为似然函数. 由于已经得到了样本值(x1,-,xn),那它的出…
EM算法是一种迭代算法,用于含有隐变量(hidden variable)的概率模型参数的极大似然估计,或极大后验概率估计.EM算法的每次迭代由两步组成:E步,求期望(expectation):M步,求极大(Maximization). EM算法的引入 给一些观察数据,可以使用极大似然估计法,或贝叶斯估计法估计模型参数.但是当模型含有隐变量时,就不能简单地使用这些方法.有些时候,参数的极大似然估计问题没有解析解,只能通过迭代的方法求解,EM算法就是可以用于求解这个问题的一种迭代算法. EM算法 输…
隐含马尔可夫模型并不是俄罗斯数学家马尔可夫发明的,而是美国数学家鲍姆提出的,隐含马尔可夫模型的训练方法(鲍姆-韦尔奇算法)也是以他名字命名的.隐含马尔可夫模型一直被认为是解决大多数自然语言处理问题最为快速.有效的方法. 现实世界中有一类问题具有明显的时序性,比如路口红绿灯.连续几天的天气变化,我们说话的上下文,HMM的基础假设就是,一个连续的时间序列事件,它的状态受且仅受它前面的N个事件决定,对应的时间序列可以成为N阶马尔可夫链. 假设今天是否有雾霾只由前天和昨天决定,于是就构成了一个2阶马尔可…
作为一种随机采样方法,马尔科夫链蒙特卡罗(Markov Chain Monte Carlo,以下简称MCMC)在机器学习,深度学习以及自然语言处理等领域都有广泛的应用,是很多复杂算法求解的基础.比如分解机(Factorization Machines)推荐算法,还有前面讲到的受限玻尔兹曼机(RBM)原理总结,都用到了MCMC来做一些复杂运算的近似求解.下面我们就对MCMC的原理做一个总结. 一.MCMC概述 从名字我们可以看出,MCMC由两个MC组成,即蒙特卡罗方法(Monte Carlo Si…
机器学习算法-GMM和EM算法 目录 机器学习算法-GMM和EM算法 1. GMM模型 2. GMM模型参数求解 2.1 参数的求解 2.2 参数和的求解 3. GMM算法的实现 3.1 gmm类的定义和实现 3.2 测试 4. EM算法 1. GMM模型 ​ 聚类问题是一个经典的无监督任务,其目标是将 \(N\) 个 \(D\) 维数据 \(\{\bf{x}_i\}_{i=1}^N\) 分成\(K\)个簇,使得每个簇中的样本尽可能相似.GMM算法对数据分布做了一些假设: 第\(k\)个簇数据点…
一.GMM算法 EM算法实在是难以介绍清楚,因此我们用EM算法的一个特例GMM算法作为引入. 1.GMM算法问题描述 GMM模型称为混合高斯分布,顾名思义,它是由几组分别符合不同参数的高斯分布的数据混合而成的. 假设有n个样本点\(x_{1},x_{2},...,x_{n}\),它们来自K个不同的高斯分布.有如下参数: 1.不同高斯分布的数据占比:\(\pi_{i}\) 2.每个高斯分布的均值与方差:\(\pi_{i}~N(\mu_{i},\sigma_{i}^2)\) 我们的目的是求出每个\(…
一.什么是高斯混合模型? 高斯混合模型(Gaussian Mixed Model)指的是多个高斯分布函数的线性组合,理论上GMM可以拟合出任意类型的分布,通常用于解决同一集合下的数据包含多个不同的分布的情况(或者是同一类分布,但参数不同,或者是不同类型的分布,比如正态分布和伯努利分布). 上图中的点在我们看来明显分成两个聚类.这两个聚类的点分别通过两个不同的正态分布随机生成而来.但是如果没有GMM,那么只能用一个二维正态分布来描述图1中的数据.图1中的椭圆即为二倍标准差的正态分布椭圆.这显然不太…
本文介绍密度估计的 EM(Expectation-Maximization,期望最大). 假设有 {x(1),...,x(m)},因为是无监督学习算法,所以没有 y(i). 我们通过指定联合分布 p(x(i),z(i))=p(x(i)|z(i))p(z(i)) 来对数据建模.这里 z(i)~Multinomial(Φ),其中 Φj≥0,Φ1+Φ2+...+Φk=1,参数 Φj 给定 p(z(i)=j),x(i)|z(i)=j~N(μj,∑j).k 表示 z(i) 能取的值的个数,所以,通过从 {…
一.什么是SVM? SVM(Support Vector Machine)又称为支持向量机,是一种二分类的模型.当然如果进行修改之后也是可以用于多类别问题的分类.支持向量机可以分为线性和非线性两大类.其主要思想为找到空间中的一个更够将所有数据样本划开的超平面,并且使得本集中所有数据到这个超平面的距离最短. 那么,又怎么表示这个“都正确”呢?可以这样考虑:就是让那些“很有可能不正确”的数据点彼此分开得明显一点就可以了.对于其它“不那么可能不正确”或者说“一看就很正确”的数据点,就可以不用管了.这也…
在学习LDA之前,有必要将其自然语言处理领域的LDA区别开来,在自然语言处理领域, LDA是隐含狄利克雷分布(Latent Dirichlet Allocation,简称LDA),是一种处理文档的主题模型.本文只讨论线性判别分析,因此后面所有的LDA均指线性判别分析. 线性判别分析 LDA: linear discriminant analysis 一.LDA思想:类间小,类间大 (‘高内聚,松耦合’) LDA是一种监督学习的降维技术,也就是说它的数据集的每个样本是有类别输出的,这点和PCA不同…
一.预备知识 减少过拟合的方法有:(1)增加数据 (2)正则化(3)降维 维度灾难:从几何角度看会导致数据的稀疏性 举例1:正方形中有一个内切圆,当维度D趋近于无穷大时,圆内的数据几乎为0,所有的数据集中于球外(空壳) 举例2:圆内有个内圆,当维度D趋近于无穷大时,环形内的数据与外圆的数据比为1,说明所有的数据集中于环中(空壳) 样本均值 & 样本方差的矩阵表示 二.PCA:一个中心 + 两个基本点(最大投影方差.最小重构距离) 1.最大投影方差角度 2.最小重构代价角度 3.SVD角度 主成分…
一.感知机(Perception) 1.1 原理: 感知机是二分类的线性模型,其输入是实例的特征向量,输出的是事例的类别,分别是+1和-1,属于判别模型. 假设训练数据集是线性可分的,感知机学习的目标是求得一个能够将训练数据集正实例点和负实例点完全正确分开的分离超平面.如果是非线性可分的数据,则最后无法获得超平面. 1.2 感知机模型 感知机从输入空间到输出空间的模型如下: 1.3 求解 思想:错误驱动 损失函数:期望使错误分类的所有样本,到超平面的距离之和最小 (其中M集合是误分类点的集合)…
频率派 贝叶斯派 theta是个未知的常量,X是随机变量, theta是个随机变量,X是随机变量 MLE最大似然估计 MAE最大后验概率 统计机器学习,优化问题 1)建立模型.概率 2)定义损失函数 3)梯度下降/牛顿法求解 概率图模型 求积分(用蒙特卡洛方法取样)…
一.逻辑回归是什么? 1.逻辑回归 逻辑回归假设数据服从伯努利分布,通过极大化似然函数的方法,运用梯度下降来求解参数,来达到将数据二分类的目的. logistic回归也称为逻辑回归,与线性回归这样输出是连续的.具体的值(如具体房价123万元)不同,逻辑回归的输出是0~1之间的概率,但可以把它理解成回答“是”或者“否”(即离散的二分类)的问题.回答“是”可以用标签“1”表示,回答“否”可以用标签“0”表示. 比如,逻辑回归的输出是“某人生病的概率是多少”,我们可以进一步理解成“某人是否生病了”.设…
一.什么是朴素贝叶斯? (1)思想:朴素贝叶斯假设    条件独立性假设:假设在给定label y的条件下,特征之间是独立的    最简单的概率图模型 解释: (2)重点注意:朴素贝叶斯 拉普拉斯平滑(Laplace Smoothing) 为什么要做平滑处理?   零概率问题,就是在计算实例的概率时,如果某个量x,在观察样本库(训练集)中没有出现过,会导致整个实例的概率结果是0.在文本分类的问题中,当一个词语没有在训练样本中出现,该词语调概率为0,使用连乘计算文本出现概率时也为0.这是不合理的,…
本文顺序 一.回忆线性回归 线性回归用最小二乘法,转换为极大似然估计求解参数W,但这很容易导致过拟合,由此引入了带正则化的最小二乘法(可证明等价于最大后验概率) 二.什么是贝叶斯回归? 基于上面的讨论,这里就可以引出本文的核心内容:贝叶斯线性回归. 贝叶斯线性回归不仅可以解决极大似然估计中存在的过拟合的问题. 它对数据样本的利用率是100%,仅仅使用训练样本就可以有效而准确的确定模型的复杂度. 在极大似然估计线性回归中我们把参数看成是一个未知的固定值,而贝叶斯学派则把看成是一个随机变量. 贝叶斯…
一.背景 动态模型 = 图 + 时间 动态模型有三种:HMM.线性动态系统(kalman filter).particle filter 线性动态系统与HMM的区别是假设相邻隐变量之间满足线性高斯分布,观测变量与隐变量之间满足线性高斯分布 二.线性动态系统两大问题:learning+inference 主要讲inference,相当于求后验p(z|x) 求p(zt|x1,x2,...,xt)转换成求p(zt-1|x1,...,xt-1)和p(zt|zt-1),依次类推 具体分为两步骤: step…
一.背景 与卡曼滤波不同的是,粒子滤波假设隐变量之间(隐变量与观测变量之间)是非线性的,并且不满足高斯分布,可以是任意的关系. 求解的还是和卡曼滤波一样,但由于分布不明确,所以需要用采样的方法求解. 二.重要性采样(importance sampling & SIS) 重要性采样(IS)需要计算p(zt|x1,...,t), t与t-1之间没有递推关系,不易求解 为此引入SIS,转换成求解p(z1,...t|x1,...t),且能够推出递推关系,方便求解 三.重采样Basic Particle…
一.CRF的由来HMM->MEMM->CRF 二.HMM到MEMM MEMM打破了HMM的观测条件独立假设 三.MEMM到CRF CRF克服了MEMM的label bias problem问题 参考文献: [1][中文分词]条件随机场CRF [2][NLP]基于自然语言处理角度谈谈CRF(二)…
一.高斯网络(高斯图模型)总体介绍 概率图模型分为三种:贝叶斯网络,马尔科夫随机场以及高斯网络:而高斯网络又可以根据有向无向细分为高斯贝叶斯网络和高斯马尔科夫随机场 二.高斯贝叶斯网络 1.高斯贝叶斯网络是有向图,x服从高斯分布,y|x服从高斯分布 高斯贝叶斯网络(global model)是基于线性高斯模型(local model)的. 2.HMM与GBN关系 HMM是一种特殊的高斯贝叶斯网络,(他的父节点只有一个) 3.高斯贝叶斯网络的参数求解 三.高斯马尔科夫随机场 1.高斯马尔科夫网络的…
一.高斯(分布)过程(随机过程)是什么? 一维高斯分布 多维高斯分布 无限维高斯分布   高斯网络 高斯过程 简单的说,就是一系列关于连续域(时间或空间)的随机变量的联合,而且针对每一个时间或是空间点上的随机变量都是服从高斯分布的. 举个例子:倘若你人生的每一个时刻看做一个随机变量,且都是满足高斯分布,那么你的人生就可以看做一个高斯过程,既有很多确定的东西,确定的是mean和kernel,如你的人生中你起点决定的你人生的大致范围,又有极大地不确定性,本质还是随机变量的整体,就像你可以凭借自身的努…
一.背景介绍 玻尔兹曼机 = 马尔科夫随机场 + 隐结点 二.RBM的Representation BM存在问题:inference 精确:untractable: 近似:计算量太大 因此为了使计算简便,引入了RBM,RBM假设h,v之间有连结,h,v内部无连结 从NB(朴素贝叶斯)推导到RBM的过程图  三.RBM的Inference 主要是已知learning求得参数之后,再来求后验概率P(h|v).P(v|h),以及边缘概率P(v)…
EM算法也称期望最大化(Expectation-Maximum,简称EM)算法,它是一个基础算法,是很多机器学习领域的基础,比如隐式马尔科夫算法(HMM),LDA主题模型的变分推断算法等等.本文对于EM算法,我们主要从以下三个方向学习: 1,最大似然 2,EM算法思想及其推导 3,GMM(高斯混合模型) 1,最大似然概率 我们经常会从样本观察数据中,找到样本的模型参数.最常用的方法就是极大化模型分布的对数似然函数.怎么理解呢?下面看我一一道来. 假设我们需要调查我们学习的男生和女生的身高分布.你…
一.前述 Em算法是解决数学公式的一个算法,是一种无监督的学习. EM算法是一种解决存在隐含变量优化问题的有效方法.EM算法是期望极大(Expectation Maximization)算法的简称,EM算法是一种迭代型的算法,在每一次的迭代过程中,主要分为两步:即求期望(Expectation)步骤和最大化(Maximization)步骤. 二.具体 1.高斯混合模型       所谓混合高斯模型(GMM)就是指对样本的概率密度分布进行估计,而估计采用的模型(训练模型)是几个高斯模型的加权和(具…
前言:本文主要介绍PLSA及EM算法,首先给出LSA(隐性语义分析)的早期方法SVD,然后引入基于概率的PLSA模型,其参数学习采用EM算法.接着我们分析如何运用EM算法估计一个简单的mixture unigram 语言模型和混合高斯模型GMM的参数,最后总结EM算法的一般形式及运用关键点.对于改进PLSA,引入hyperparameter的LDA模型及其Gibbs Sampling参数估计方法放在本系列后面的文章LDA及Gibbs Samping介绍. 1 LSA and SVD LSA(隐性…
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可以拟合出任意类型的分布…
不同于其它的机器学习模型,EM算法是一种非监督的学习算法,它的输入数据事先不需要进行标注.相反,该算法从给定的样本集中,能计算出高斯混和参数的最大似然估计.也能得到每个样本对应的标注值,类似于kmeans聚类(输入样本数据,输出样本数据的标注).实际上,高斯混和模型GMM和kmeans都是EM算法的应用. 在opencv3.0中,EM算法的函数是trainEM,函数原型为: bool trainEM(InputArray samples, OutputArray logLikelihoods=n…
简单易学的机器学习算法——EM算法 一.机器学习中的参数估计问题 在前面的博文中,如“简单易学的机器学习算法——Logistic回归”中,采用了极大似然函数对其模型中的参数进行估计,简单来讲即对于一系列样本,Logistic回归问题属于监督型学习问题,样本中含有训练的特征以及标签,在Logistic回归的参数求解中,通过构造样本属于类别和类别的概率: 这样便能得到Logistic回归的属于不同类别的概率函数: 此时,使用极大似然估计便能够估计出模型中的参数.但是,如果此时的标签是未知的,称为隐变…
今天不太想学习,炒个冷饭,讲讲机器学习十大算法里有名的EM算法,文章里面有些个人理解,如有错漏,还请读者不吝赐教. 众所周知,极大似然估计是一种应用很广泛的参数估计方法.例如我手头有一些东北人的身高的数据,又知道身高的概率模型是高斯分布,那么利用极大化似然函数的方法可以估计出高斯分布的两个参数,均值和方差.这个方法基本上所有概率课本上都会讲,我这就不多说了,不清楚的请百度. 然而现在我面临的是这种情况,我手上的数据是四川人和东北人的身高合集,然而对于其中具体的每一个数据,并没有标定出它来自“东北…