em算法收敛
㈠ kmeans 质心为什么会收敛
直接证明Kmeans收敛其实是无本之木
严格说,kmeans过程收敛是因为 他的数据划分判断依据 欧式距离 与 均值算质心 这两步搭配
恰好是EM算法的特例,EM算法的收敛性非常复杂,解释不清楚。
㈡ 对于EM快速保养的叙述是什么
EM算法是一种迭代优化策略,由于它的计算方法中每一次迭代都分两步,其中一个为期望步(E步),另一个为极大步(M步),所以算法被称为EM算法(Expectation-Maximization Algorithm)。EM算法受到缺失思想影响,最初是为了解决数据缺失情况下的参数估计问题,其算法基础和收敛有效性等问题在Dempster、Laird和Rubin三人于1977年所做的文章《Maximum likelihood from incomplete data via the EM algorithm》中给出了详细的阐述。其基本思想是:首先根据己经给出的观测数据,估计出模型参数的值;然后再依据上一步估计出的参数值估计缺失数据的值,再根据估计出的缺失数据加上之前己经观测到的数据重新再对参数值进行估计,然后反复迭代,直至最后收敛,迭代结束。
㈢ em算法是什么
最大期望算法(Expectation-Maximization algorithm, EM),或Dempster-Laird-Rubin算法,是一类通过迭代进行极大似然估计(Maximum Likelihood Estimation, MLE)的优化算法 ,通常作为牛顿迭代法(Newton-Raphson method)的替代用于对包含隐变量(latent variable)或缺失数据(incomplete-data)的概率模型进行参数估计。
EM算法的标准计算框架由E步(Expectation-step)和M步(Maximization step)交替组成,算法的收敛性可以确保迭代至少逼近局部极大值 。EM算法是MM算法(Minorize-Maximization algorithm)的特例之一,有多个改进版本,包括使用了贝叶斯推断的EM算法、EM梯度算法、广义EM算法等 。
由于迭代规则容易实现并可以灵活考虑隐变量,EM算法被广泛应用于处理数据的缺测值 ,以及很多机器学习(machine learning)算法,包括高斯混合模型(Gaussian Mixture Model, GMM) 和隐马尔可夫模型(Hidden Markov Model, HMM) 的参数估计。
㈣ em算法的EM算法简述
迭代使用EM步骤,直至收敛。
可以有一些比较形象的比喻说法把这个算法讲清楚。比如说食堂的大师傅炒了一份菜,要等分成两份给两个人吃,显然没有必要拿来天平一点一点的精确的去称分量,最简单的办法是先随意的把菜分到两个碗中,然后观察是否一样多,把比较多的那一份取出一点放到另一个碗中,这个过程一直迭代地执行下去,直到大家看不出两个碗所容纳的菜有什么分量上的不同为止。EM算法就是这样,假设我们估计知道A和B两个参数,在开始状态下二者都是未知的,并且知道了A的信息就可以得到B的信息,反过来知道了B也就得到了A。可以考虑首先赋予A某种初值,以此得到B的估计值,然后从B的当前值出发,重新估计A的取值,这个过程一直持续到收敛为止。
EM 算法是 Dempster,Laind,Rubin 于 1977 年提出的求参数极大似然估计的一种方法,它可以从非完整数据集中对参数进行 MLE 估计,是一种非常简单实用的学习算法。这种方法可以广泛地应用于处理缺损数据,截尾数据,带有噪声等所谓的不完全数据(incomplete data)。
假定集合Z = (X,Y)由观测数据 X 和未观测数据Y 组成,X 和Z = (X,Y)分别称为不完整数据和完整数据。假设Z的联合概率密度被参数化地定义为P(X,Y|Θ),其中Θ表示要被估计的参数。Θ的最大似然估计是求不完整数据的对数似然函数L(X;Θ)的最大值而得到的:
L(Θ;X)= log p(X|Θ) = ∫log p(X,Y|Θ)dY ;
EM算法包括两个步骤:由E步和M步组成,它是通过迭代地最大化完整数据的对数似然函数Lc(X;Θ)的期望来最大化不完整数据的对数似然函数,其中:
Lc(X;Θ) =log p(X,Y |Θ) ;
假设在算法第t次迭代后Θ获得的估计记为Θ(t) ,则在(t+1)次迭代时,
E-步:计算完整数据的对数似然函数的期望,记为:
Q(Θ|Θ (t)) = E{Lc(Θ;Z)|X;Θ(t)};
M-步:通过最大化Q(Θ|Θ(t) ) 来获得新的Θ 。
通过交替使用这两个步骤,EM算法逐步改进模型的参数,使参数和训练样本的似然概率逐渐增大,最后终止于一个极大点。直观地理解EM算法,它也可被看作为一个逐次逼近算法:事先并不知道模型的参数,可以随机的选择一套参数或者事先粗略地给定某个初始参数λ0 ,确定出对应于这组参数的最可能的状态,计算每个训练样本的可能结果的概率,在当前的状态下再由样本对参数修正,重新估计参数λ,并在新的参数下重新确定模型的状态,这样,通过多次的迭代,循环直至某个收敛条件满足为止,就可以使得模型的参数逐渐逼近真实参数。
EM算法的主要目的是提供一个简单的迭代算法计算后验密度函数,它的最大优点是简单和稳定,但容易陷入局部最优。
㈤ em算法的EM算法
在统计计算中,最大期望(EM)算法是在概率(probabilistic)模型中寻找参数最大似然估计或者最大后验估计的算法,其中概率模型依赖于无法观测的隐藏变量(Latent Variable)。最大期望经常用在机器学习和计算机视觉的数据聚类(Data Clustering)领域。
最大期望算法经过两个步骤交替进行计算:
第一步是计算期望(E),利用对隐藏变量的现有估计值,计算其最大似然估计值;
第二步是最大化(M),最大化在 E 步上求得的最大似然值来计算参数的值。
M 步上找到的参数估计值被用于下一个 E 步计算中,这个过程不断交替进行。
总体来说,EM的算法流程如下:
1.初始化分布参数
2.重复直到收敛:
E步骤:估计未知参数的期望值,给出当前的参数估计。
M步骤:重新估计分布参数,以使得数据的似然性最大,给出未知变量的期望估计。
㈥ em算法原理
我最近也在看EM算法,主要是它在无监督学习中的应用,例子倒是没有,原理差不多弄明白了一些,其实是出于一种很自然的想法,似然度均值的最大化,但是中间有些问题就是在迭代的过程中似然度是单调增加的,这个证明过程比较繁琐,具体你在模式识别中的应用可以参考这个WiKi页:http://en.wikipedia.org/wiki/Expectation-maximization_algorithm
㈦ 怎么通俗易懂地解释EM算法并且举个例子
在统计计算中,最大期望(EM)算法是在概率(probabilistic)模型中寻找参数最大似然估计或者最大后验估计的算法,其中概率模型依赖于无法观测的隐藏变量(Latent Variable)。最大期望经常用在机器学习和计算机视觉的数据聚类(Data Clustering)领域。
最大期望算法经过两个步骤交替进行计算:
第一步是计算期望(E),利用对隐藏变量的现有估计值,计算其最大似然估计值;
第二步是最大化(M),最大化在 E 步上求得的最大似然值来计算参数的值。
M 步上找到的参数估计值被用于下一个 E 步计算中,这个过程不断交替进行。
总体来说,EM的算法流程如下:
初始化分布参数
2.重复直到收敛:
E步骤:估计未知参数的期望值,给出当前的参数估计。
M步骤:重新估计分布参数,以使得数据的似然性最大,给出未知变量的期望估计。
㈧ 统计机器翻译的模型
噪声信道模型假定,源语言中的句子f(信宿)是由目标语言中的句子e(信源)经过含有噪声的信道编码后得到的。那么,如果已知了信宿f和信道的性质,我们可以得到信源产生信宿的概率,即p(e | f)。而寻找最佳的翻译结果也就等同于寻找:
利用贝耶斯公式,并考虑对给定f,p(f)为常量,上式即等同于
由此,我们得到了两部分概率:
p(f | e),指给定信源,观察到信号的概率。在此称为翻译模型。 p(e),信源发生的概率。在此称为语言模型 可以这样理解翻译模型与语言模型,翻译模型是一种语言到另一种语言的词汇间的对应关系,而语言模型则体现了某种语言本身的性质。翻译模型保证翻译的意义,而语言模型保证翻译的流畅。从中国对翻译的传统要求“信达雅”三点上看,翻译模型体现了信与达,而雅则在语言模型中得到反映。
原则上任何语言模型均可以应用到上述公式中,因此以下讨论集中于翻译模型。在IBM提出的模型中,翻译概率被定义为:
p(f | e) = p(f,a | e)其中的a被定义为隐含变量——词对齐(Word Alignment),所谓词对齐,简而言之就是知道源语言句子中某个词是由目标语言中哪个词翻译而来的。例如右图中,一个词可以被翻译为一个或多个词,甚至不被翻译。于是,获取翻译概率的问题转化为词对齐问题。IBM系列模型及HMM, Model 6都是词对齐的参数化模型。它们之间的区别在于模型参数的数量,类型各不相同。例如IBM Model 1,唯一的参数是词翻译概率,与词在句子中的位置无关。也就是说:
其中(i,j)是词对齐中的一条连接,表示源语言中的第i个词翻译到目标语言中的第j个词。注意这里的翻译概率是词之间而非位置之间的。IBM Model 2的参数中增加了词在句子中的位置,公式为:
其中I,J分别为源、目标语言的句子长度。
HMM模型将IBM Model 2中的绝对位置更改为相对位置,即相对上一个词连接的位置,而IBM Model 3,4,5及Model 6引入了“Fertility Model”,代表一个词翻译为若干词的概率。
在参数估计方面,一般采用最大似然准则进行无监督训练,对于大量的“平行语料”,亦即一些互为翻译的句子(fs,es)
由于并没有直接的符号化最优解,实践中采用EM算法。首先,通过现有模型,对每对句子估计(fs,es)全部可能的(或部分最可能的)词对齐的概率,统计所有参数值发生的加权频次,最后进行归一化。对于IBM Model 1,2,由于不需要Fertility Model,有简化公式可获得全部可能词对齐的统计量,而对于其他模型,遍历所有词对齐是NP难的。因此,只能采取折衷的办法。首先,定义Viterbi对齐为当前模型参数θ下,概率最大的词对齐:
在获取了Viterbi对齐后,可以只统计该对齐结果的相关统计量,亦可以根据该对齐,做少许修改后(即寻找“临近”的对齐)后再计算统计量。IBM 3,4,5及Model 6都是采用这种方法。
目前直接采用噪声信道模型进行完整机器翻译的系统并不多见,然而其副产品——词对齐却成为了各种统计机器翻译系统的基石。时至今日,大部分系统仍然首先使用GIZA++对大量的平行语料进行词对齐。由于所面对的平行语料越来越多,对速度的关注使得MGIZA++,PGIZA++等并行化实现得到应用。噪声信道模型和词对齐仍然是研究的热点,虽然对于印欧语系诸语言,GIZA++的对齐错误率已经很低,在阿拉伯语,中文等语言与印欧语系语言的对齐中错误率仍然很高。特别是中文,错误率常常达到30%以上。所谓九层之台,起于累土,缺乏精确的词对齐是中文机器翻译远远落后于其他语言的原因。虽然目前出现了一些区分性词对齐技术,无监督对齐仍然是其中的重要组成部分。 在这个框架下,M个特征函数
通过参数化公式
其中是每个特征函数的权重,也是模型所要估计的参数集,记为Λ。基于这个模型,获取给定源语言句子f,最佳翻译的决策准则为:
简而言之,就是找到使得特征函数最大的解。
原则上,任何特征函数都可以被置于此框架下,噪声信道模型中的翻译模型、语言模型都可以作为特征函数。并且,在产生式模型中无法使用的“反向翻译模型”,即p(f,e)也可以很容易的被引入这个框架中。目前基于短语的翻译系统中,最常用的特征函数包括:
1.短语翻译概率 2.词翻译概率(短语中每个词的翻译概率) 3.反向短语翻译概率 4.反向词翻译概率 5.语言模型 而一些基于句法的特征也在被加入。 优化准则指的是给定训练语料,如何估计模型参数Λ。一般来说,训练模型参数需要一系列已翻译的文本,每个源语言句子fs拥有Rs个参考翻译。
早期,区分性训练被置于最大熵准则下,即:
这一准则简单快速且由于优化目标是凸的,收敛速度快。然而,一个极大的问题是,“信息熵”本身和翻译质量并无联系,优化信息熵以期获得较好的翻译结果在逻辑上较难说明。借助客观评价准则如BLEU,希望直接针对这些客观准则进行优化能够提升翻译性能。由此而产生最小化错误率训练算法。通过优化系统参数,使得翻译系统在客观评价准则上的得分越来越高,同时,不断改进客观评价准则,使得客观评价准则与主观评价准则越来越接近是目前统计机器翻译的两条主线。
使用这些客观评价准则作为优化目标,即:
的一个主要问题是,无法保证收敛性。并且由于无法得到误差函数(即客观评价准则)的导数,限制了可使用的优化方法。目前常用的方法多为改进的Powell法,一般来说训练时间颇长且无法针对大量数据进行训练。 语料预处理阶段,需要搜集或下载平行语料,所谓平行语料,指的是语料中每一行的两个句子互为翻译。目前网络上有大量可供下载的平行语料。搜寻适合目标领域(如医疗、新闻等)的语料是提高特定领域统计机器翻译系统性能的重要方法。
在获取语料后,需要进行一定得文本规范化处理,例如对英语进行词素切分,例如将's独立为一个词,将与词相连的符号隔离开等。而对中文则需要进行分词。同是,尽可能过滤一些包含错误编码的句子,过长的句子或长度不匹配(相差过大)的句子。
获取的语料可分为三部分,第一部分用于词对齐及短语抽取,第二部分用于最小错误率训练,第三部分则用于系统评价。第二第三部分的数据中,每个源语言句子最好能有多条参考翻译。 首先,使用GIZA++对平行语料进行对齐。由于GIZA++是“单向”的词对齐,故而对齐应当进行两次,一次从源到目标,第二次从目标到源。一般来说,GIZA++需要依次进行IBM Model 1, HMM及IBM Model 3,4的对齐,因IBM Model 2对齐效果不佳,而IBM Model 5耗时过长且对性能没有较大贡献。根据平行语料的大小不同及所设置的迭代次数多少,训练时间可能很长。一个参考数据为,1千万句中文-英文平行语料(约3亿词)在Inter Xeon 2.4GHz服务器上运行时间约为6天。如果耗时过长可考虑使用MGIZA++和PGIZA++进行并行对齐(PGIZA++支持分布式对齐)。
其后,对两个方向的GIZA++对齐结果进行合并,供短语抽取之用。 最小化错误率训练通过在所准备的第二部分数据——优化集(Tuning Set)上优化特征权重Λ,使得给定的优化准则最优化。一般常见的优化准则包括信息熵,BLEU,TER等。这一阶段需要使用解码器对优化集进行多次解码,每次解码产生N个得分最高的结果,并调整特征权重。当权重被调整时,N个结果的排序也会发生变化,而得分最高者,即解码结果,将被用于计算BLEU得分或TER。当得到一组新的权重,使得整个优化集的得分得到改进后,将重新进行下一轮解码。如此往复直至不能观察到新的改进。
根据选取的N值的不同,优化集的大小,模型大小及解码器速度,训练时间可能需要数小时或数日。 使用经最小化错误率训练得到的权重,即可进行解码。一般此时即可在测试集上进行系统性能评价。在客观评价基础上,有一些有条件的机构还常常进行主观评价。