EM 算法(二)-KMeans】的更多相关文章

KMeans 算法太过简单,不再赘述 本文尝试用 EM 算法解释 KMeans,而事实上 KMeans 算是 EM 的一个特例 EM 算法是包含隐变量的参数估计模型,那对应到 KMeans 上,隐变量是什么?参数又是什么? 参数就是描述一个模型,在 KMeans 中是聚类质心:隐变量是每个样本的类别: 小结一下,E 步就是计算每个样本属于哪个类,M步就是更新每个类的质心,是不是和 你知道的 KMeans 一样呢 稍微引申一下,上面我们用平方和来计算误差,其实就是默认样本服从高斯分布,所以 EM…
I. 牛顿迭代法给定一个复杂的非线性函数f(x),希望求它的最小值,我们一般可以这样做,假定它足够光滑,那么它的最小值也就是它的极小值点,满足f′(x0)=0,然后可以转化为求方程f′(x)=0的根了.非线性方程的根我们有个牛顿法,所以 然而,这种做法脱离了几何意义,不能让我们窥探到更多的秘密.我们宁可使用如下的思路:在y=f(x)的x=xn这一点处,我们可以用一条近似的曲线来逼近原函数,如果近似的曲线容易求最小值,那么我们就可以用这个近似的曲线求得的最小值,来近似代替原来曲线的最小值: 显然,…
摘要: 1.算法概述 2.算法推导 3.算法特性及优缺点 4.注意事项 5.实现和具体例子 6.适用场合 内容: 1.算法概述 k-means算法是一种得到最广泛使用的聚类算法. 它是将各个聚类子集内的所有数据样本的均值作为该聚类的代表点. 2.算法推导 2.1 k-means 计算过程: 深入:如何验证收敛: 我们定义畸变函数(distortion function)如下: J函数表示每个样本点到其质心的距离平方和.K-means是要将J调整到最小.假设当前J没有达到最小值,那么首先可以固定每…
把这n个{试验结果来自B的概率}求和得到期望,平均后,得到B出正面的似然估计,同理有p和q. 重复迭代,直到收敛为止 http://blog.csdn.net/junnan321/article/details/8483343/ http://blog.csdn.net/zouxy09/article/details/8537620 http://www.hankcs.com/ml/em-algorithm-and-its-generalization.html http://www.cnblo…
EM算法及其应用(一) EM算法及其应用(二): K-means 与 高斯混合模型 上一篇阐述了EM算法的主要原理,这一篇来看其两大应用 -- K-means 与 高斯混合模型,主要由EM算法的观点出发. K-means K-means的目标是将样本集划分为K个簇,使得同一个簇内样本的距离尽可能小,不同簇之间的样本距离尽可能大,即最小化每个簇中样本与质心的距离.K-means属于原型聚类(prototype-based clustering),原型聚类指聚类结构能通过一组原型刻画,而原型即为样本…
目录 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…
标签(空格分隔): 机器学习 (最近被一波波的笔试+面试淹没了,但是在有两次面试时被问到了同一个问题:K-Means算法的收敛性.在网上查阅了很多资料,并没有看到很清晰的解释,所以希望可以从K-Means与EM算法的关系,以及EM算法本身的收敛性证明中找到蛛丝马迹,下次不要再掉坑啊..) EM算法的收敛性 1.通过极大似然估计建立目标函数: \(l(\theta) = \sum_{i=1}^{m}log\ p(x;\theta) = \sum_{i=1}^{m}log\sum_{z}p(x,z;…
初始目的 将样本分成K个类,其实说白了就是求一个样本例的隐含类别y,然后利用隐含类别将x归类.由于我们事先不知道类别y,那么我们首先可以对每个样例假定一个y吧,但是怎么知道假定的对不对呢?怎样评价假定的好不好呢? 我们使用样本的极大似然估计来度量,这里就是x和y的联合分布P(x,y)了.如果找到的y能够使P(x,y)最大,那么我们找到的y就是样例x的最佳类别了,x顺手就聚类了.但是我们第一次指定的y不一定会让P(x,y)最大,而且P(x,y)还依赖于其他未知参数,当然在给定y的情况下,我们可以调…
K-means聚类算法 K-means聚类算法也是聚类算法中最简单的一种了,但是里面包含的思想却不一般. 聚类属于无监督学习.在聚类问题中,给我们的训练样本是,每个,没有了y. K-means算法是将样本聚类成k个簇(cluster),具体算法描述如下: 1. 随机选取k个聚类质心点(cluster centroids)为. 2. 重复下面过程直到收敛 { 对于每一个样例i,计算其应该属于的类 对于每一个类j,重新计算该类的质心 } K是我们事先给定的聚类数,代表样例i与k个类中距离最近的那个类…
EM算法浅析,我准备写一个系列的文章: EM算法浅析(一)-问题引出 EM算法浅析(二)-算法初探 一.EM算法简介 在EM算法之一--问题引出中我们介绍了硬币的问题,给出了模型的目标函数,提到了这种含隐变量的极大似然估计要用EM算法解决,继而罗列了EM算法的简单过程,当然最后看到EM算法时内心是懵圈的,我们也简要的分析了一下,希望你在看了前一篇文章后,能大概知道E步和M步的目的和作用.为了加深一下理解,我们回过头来,重新看下EM算法的简单介绍: 输入:观测变量数据Y,隐变量数据Z,联合分布$P…
1.EM算法要解决的问题 如果使用基于最大似然估计的模型,模型中存在隐变量,就要用EM算法做参数估计. EM算法解决这个的思路是使用启发式的迭代方法,既然我们无法直接求出模型分布参数,那么我们可以先猜想隐含数据(EM算法的E步),接着基于观察数据和猜测的隐含数据一起来极大化对数似然,求解我们的模型参数(EM算法的M步).由于我们之前的隐藏数据是猜测的,所以此时得到的模型参数一般还不是我们想要的结果.不过没关系,我们基于当前得到的模型参数,继续猜测隐含数据(EM算法的E步),然后继续极大化对数似然…
Jensen不等式 http://www.cnblogs.com/jerrylead/archive/2011/04/06/2006936.html 回顾优化理论中的一些概念.设f是定义域为实数的函数,如果对于所有的实数x,,那么f是凸函数.当x是向量时,如果其hessian矩阵H是半正定的(),那么f是凸函数.如果或者,那么称f是严格凸函数. Jensen不等式表述如下: 如果f是凸函数,X是随机变量,那么 特别地,如果f是严格凸函数,那么当且仅当,也就是说X是常量. 这里我们将简写为. 似然…
不同于其它的机器学习模型,EM算法是一种非监督的学习算法,它的输入数据事先不需要进行标注.相反,该算法从给定的样本集中,能计算出高斯混和参数的最大似然估计.也能得到每个样本对应的标注值,类似于kmeans聚类(输入样本数据,输出样本数据的标注).实际上,高斯混和模型GMM和kmeans都是EM算法的应用. 在opencv3.0中,EM算法的函数是trainEM,函数原型为: bool trainEM(InputArray samples, OutputArray logLikelihoods=n…
简单易学的机器学习算法——EM算法 一.机器学习中的参数估计问题 在前面的博文中,如“简单易学的机器学习算法——Logistic回归”中,采用了极大似然函数对其模型中的参数进行估计,简单来讲即对于一系列样本,Logistic回归问题属于监督型学习问题,样本中含有训练的特征以及标签,在Logistic回归的参数求解中,通过构造样本属于类别和类别的概率: 这样便能得到Logistic回归的属于不同类别的概率函数: 此时,使用极大似然估计便能够估计出模型中的参数.但是,如果此时的标签是未知的,称为隐变…
从最大似然到EM算法浅解 zouxy09@qq.com http://blog.csdn.net/zouxy09 机器学习十大算法之中的一个:EM算法.能评得上十大之中的一个,让人听起来认为挺NB的.什么是NB啊,我们一般说某个人非常NB,是由于他能解决一些别人解决不了的问题.神为什么是神,由于神能做非常多人做不了的事.那么EM算法能解决什么问题呢?或者说EM算法是由于什么而来到这个世界上,还吸引了那么多世人的目光. 我希望自己能通俗地把它理解或者说明确,可是,EM这个问题感觉真的不太好用通俗的…
在统计计算中,最大期望(EM)算法是在概率(probabilistic)模型中寻找参数最大似然估计或者最大后验估计的算法,其中概率模型依赖于无法观测的隐藏变量(LatentVariable).最大期望经常用在机器学习和计算机视觉的数据聚类(DataClustering)领域.最大期望算法经过两个步骤交替进行计算,第一步是计算期望(E),利用对隐藏变量的现有估计值,计算其最大似然估计值:第二步是最大化(M),最大化在E步上求得的最大似然值来计算参数的值.M步上找到的参数估计值被用于下一个E步计算中…
一.前述 Em算法是解决数学公式的一个算法,是一种无监督的学习. EM算法是一种解决存在隐含变量优化问题的有效方法.EM算法是期望极大(Expectation Maximization)算法的简称,EM算法是一种迭代型的算法,在每一次的迭代过程中,主要分为两步:即求期望(Expectation)步骤和最大化(Maximization)步骤. 二.具体 1.高斯混合模型       所谓混合高斯模型(GMM)就是指对样本的概率密度分布进行估计,而估计采用的模型(训练模型)是几个高斯模型的加权和(具…
高斯混合模型的EM算法 混合高斯模型 高斯混合模型的概率分布可以写成多个高斯分布的线形叠加,即 \[ p(\mathbf x) = \sum_{k=1}^{K}\pi_k\mathcal N(\mathbf x\ | \ \mathbf \mu_k, \mathbf \Sigma_k) \] 引入一个\(K\)维的二值随机变量\(\mathbf z\), 采用"\(1\)-of-\(K\)"编码,其中一个特定的元素\(z_k\)等于\(1\),其余所有的元素都等于\(0\). 于是\(…
原文地址:https://www.cnblogs.com/to-creat/p/6075322.html 机器学习十大算法之一:EM算法.能评得上十大之一,让人听起来觉得挺NB的.什么是NB啊,我们一般说某个人很NB,是因为他能解决一些别人解决不了的问题.神为什么是神,因为神能做很多人做不了的事.那么EM算法能解决什么问题呢?或者说EM算法是因为什么而来到这个世界上,还吸引了那么多世人的目光. 我希望自己能通俗地把它理解或者说明白,但是,EM这个问题感觉真的不太好用通俗的语言去说明白,因为它很简…
第一部分: 这篇讨论使用期望最大化算法(Expectation-Maximization)来进行密度估计(density estimation). 与k-means一样,给定的训练样本是,我们将隐含类别标签用表示.与k-means的硬指定不同,我们首先认为是满足一定的概率分布的,这里我们认为满足多项式分布,,其中,有k个值{1,…,k}可以选取.而且我们认为在给定后,满足多值高斯分布,即.由此可以得到联合分布. 整个模型简单描述为对于每个样例,我们先从k个类别中按多项式分布抽取一个,然后根据所对…
EM算法在很多地方都用使用到,比如简单的K-means算法,还有在隐马尔可夫里面,也涉及到了EM算法,可见EM算法在机器学习领域的重要地位.在这里就写一下我对于EM算法的一些理解笔记.后续有新的理解也会追加的. EM算法的全称叫做:期望最大.EM算法的想法很简单,就像一个人有两条腿向前走,你总是需要固定一条腿动另一条腿这样交替往前走.这里面的两条腿,一个是隐变量,一个是参数θ. 在了解EM算法之前,首先需要了解一些基本的概念. 凹凸函数 这个是<最优化>里面的概念,如果它的二阶导大于0,那么就…
前言:本文主要介绍PLSA及EM算法,首先给出LSA(隐性语义分析)的早期方法SVD,然后引入基于概率的PLSA模型,其参数学习采用EM算法.接着我们分析如何运用EM算法估计一个简单的mixture unigram 语言模型和混合高斯模型GMM的参数,最后总结EM算法的一般形式及运用关键点.对于改进PLSA,引入hyperparameter的LDA模型及其Gibbs Sampling参数估计方法放在本系列后面的文章LDA及Gibbs Samping介绍. 1 LSA and SVD LSA(隐性…
一.什么是EM算法? EM算法是机器学习中一个很重要的算法,即期望最大化算法,主要包括以下两个步骤: E步骤:estimate the expected values M步骤:re-estimate parameters 这个算法的主要作用在于对参数的估计上.虽然EM算法也可以进行数据聚类,并且基于混合高斯分布进行数据拟合,但是由于EM算法进行迭代速度很慢,比kmeans性能差很多,并且KMEANS算法 聚类效果没有比EM差多少,所以一般用kmeans进行聚类,而不是EM. 二.…
极大似然算法 本来打算把别人讲的好的博文放在上面的,但是感觉那个适合看着玩,我看过之后感觉懂了,然后实际应用就不会了.... MLP其实就是用来求模型参数的,核心就是“模型已知,求取参数”,模型的意思就是数据符合什么函数,比如我们硬币的正反就是二项分布模型,再比如我们平时随机生成的一类数据符合高斯模型... 直接上公式: L(Θ) :联合概率分布函数,就是每个样本出现的概率乘积.  x1,x2,x3....xn  : 样本  Θ : 模型的参数(比如高斯模型的两个参数:μ.σ)  p(xi ;…
转自http://blog.csdn.net/zouxy09/article/details/8537620/ 机器学习十大算法之一:EM算法.能评得上十大之一,让人听起来觉得挺NB的.什么是NB啊,我们一般说某个人很NB,是因为他能解决一些别人解决不了的问题.神为什么是神,因为神能做很多人做不了的事.那么EM算法能解决什么问题呢?或者说EM算法是因为什么而来到这个世界上,还吸引了那么多世人的目光. 我希望自己能通俗地把它理解或者说明白,但是,EM这个问题感觉真的不太好用通俗的语言去说明白,因为…
EM算法及其应用(一) EM算法及其应用(二): K-means 与 高斯混合模型 EM算法是期望最大化 (Expectation Maximization) 算法的简称,用于含有隐变量的情况下,概率模型参数的极大似然估计或极大后验估计.EM算法是一种迭代算法,每次迭代由两步组成:E步,求期望 (expectation),即利用当前估计的参数值来计算对数似然函数的期望值:M步,求极大 (maximization),即求参数\(\theta\) 来极大化E步中的期望值,而求出的参数\(\theta…
最大期望算法:EM算法. 在统计计算中,最大期望算法(EM)是在概率模型中寻找参数最大似然估计或者最大后验估计的算法,其中概率模型依赖于无法观测的隐藏变量. 最大期望算法经过两个步骤交替进行计算: 第一步是计算期望(E),利用对隐藏变量的现有估计,计算其最大似然估计值: 第二步是最大化(M),最大化在E步上求得的最大似然值来计算参数的值. M步上找到的参数估计值被用于下一个E步计算中,这个过程不断交替进行. 总体来说,EM算法流程如下: 1.初始化分布参数 2.重复直到收敛: E步:估未知参数的…
注:本文中涉及到的公式一律省略(公式不好敲出来),若想了解公式的具体实现,请参考原著. 1.基本概念 (1)聚类的思想: 将数据集划分为若干个不想交的子集(称为一个簇cluster),每个簇潜在地对应于某一个概念.但是每个簇所具有现实意义由使用者自己决定,聚类算法仅仅会进行划分. (2)聚类的作用: 1)可以作为一个单独的过程,用于寻找数据的一个分布规律 2)作为分类的预处理过程.首先对分类数据进行聚类处理,然后在聚类结果的每一个簇上执行分类过程. (3)聚类的性能度量: 1)外部指标:该指标是…
python大战机器学习——聚类和EM算法   注:本文中涉及到的公式一律省略(公式不好敲出来),若想了解公式的具体实现,请参考原著. 1.基本概念 (1)聚类的思想: 将数据集划分为若干个不想交的子集(称为一个簇cluster),每个簇潜在地对应于某一个概念.但是每个簇所具有现实意义由使用者自己决定,聚类算法仅仅会进行划分. (2)聚类的作用: 1)可以作为一个单独的过程,用于寻找数据的一个分布规律 2)作为分类的预处理过程.首先对分类数据进行聚类处理,然后在聚类结果的每一个簇上执行分类过程.…
1.EM算法概念 EM 算法,全称 Expectation Maximization Algorithm.期望最大算法是一种迭代算法,用于含有隐变量(Hidden Variable)的概率参数模型的最大似然估计或极大后验概率估计. 1.1 问题描述 我们假设学校男生和女生分别服从两种不同的正态分布,即男生  ,女生  ,(注意:EM算法和极大似然估计的前提是一样的,都要假设数据总体的分布,如果不知道数据分布,是无法使用EM算法的).那么该怎样评估学生的身高分布呢? 简单啊,我们可以随便抽 100…