混合高斯模型(Mixtures of Gaussians)和EM算法
高斯混合模型中的参数估计与EM算法详解
高斯混合模型中的参数估计与EM算法详解高斯混合模型(Gaussian Mixture Model,GMM)是一种常用的概率统计模型,用于描述由多个高斯分布构成的数据集。
在实际应用中,参数估计是使用GMM的关键步骤之一,而期望最大化(Expectation Maximization,EM)算法是一种常用的参数估计方法。
本文将详细介绍GMM的参数估计方法与EM算法的原理。
首先,我们需要理解高斯混合模型。
GMM是由多个高斯分布组合而成的概率分布模型。
每个高斯分布称为一个分量,是由均值、方差和权重组成的。
其中,均值表示分量的中心位置,方差表示分量的散布程度,权重表示每个分量在整个数据集中的相对重要性。
在GMM中,参数估计的目标是通过已知的数据集,估计出每个分量的均值、方差和权重。
而EM算法是实现这一目标的一种迭代优化算法。
EM算法的基本思想是通过迭代更新,不断提高参数估计的准确性。
具体而言,EM算法包含两个主要步骤:E步和M步。
在E步中,我们根据当前估计的参数值,计算每个样本属于各个分量的概率。
这个过程可以通过贝叶斯公式计算得到。
具体地,对于每个样本,我们根据当前的均值、方差和权重计算它属于每个分量的概率,并将其归一化,以保证所有样本在各个分量上的概率和为1。
在M步中,我们利用已经计算得到的样本属于各个分量的概率,更新参数的值。
具体而言,我们首先计算每个分量所占的样本的比例,即权重的估计值。
然后,对于每个分量,我们根据样本的加权平均值和方差来估计其均值和方差。
这里的权重就是E步中计算得到的样本属于各个分量的概率。
通过反复执行E步和M步,可以逐渐提高参数估计的准确性,直到满足停止准则为止。
通常情况下,停止准则可以是迭代次数达到一定阈值,或是参数变化的绝对值小于某个设定的阈值。
在实际应用中,选择适当的初始参数值对于EM算法的收敛至关重要。
一种常用的初始化方法是使用K-means算法来得到初始的均值估计。
具体而言,我们先用K-means算法将数据集聚类成K个簇,然后使用每个簇的中心作为每个分量的初始均值。
EM算法用于高斯混合模型
EM算法用于高斯混合模型高斯混合模型(Gaussian Mixture Model,简称GMM)是一种常用的概率密度估计方法,其基本思想是将数据分解为由多个高斯分布组成的混合模型。
每个高斯分布对应于数据中的一个潜在类别,而混合系数则表示每个类别的权重。
GMM的参数估计通常使用期望最大化(Expectation Maximization,简称EM)算法来进行。
EM算法是一种迭代优化算法,用于求解含有隐变量的最大似然估计问题。
GMM中,EM算法被用来最大化对数似然函数,从而估计GMM的参数。
EM算法的基本思想是,在每一次迭代中,先进行E步(Expectation),计算隐变量在给定参数下的后验概率。
然后进行M步(Maximization),通过极大化对数似然函数来估计参数。
重复执行E步和M步,直到收敛为止。
在GMM中,E步计算的是隐藏变量对应的后验概率,即每个样本属于每个高斯分布的概率。
这个概率可以使用贝叶斯公式计算得到。
假设有N个样本,K个高斯分布,那么对于每个样本i和高斯分布j,可以计算其后验概率:$$w_{ij} = \frac{\pi_j \cdot \mathcal{N}(x_i,\mu_j,\Sigma_j)}{\sum_{k=1}^{K} \pi_k \cdot \mathcal{N}(x_i,\mu_k,\Sigma_k)}$$其中,$w_{ij}$表示样本i属于高斯分布j的后验概率,$\pi_j$表示高斯分布j的混合系数,$\mathcal{N}(x_i,\mu_j,\Sigma_j)$表示高斯分布j的概率密度函数。
在M步中,需要利用E步计算得到的后验概率,更新GMM的参数。
更新过程分两步进行:首先,根据后验概率的加权平均来更新混合系数,即每个高斯分布对应的权重;然后,根据后验概率的加权平均来更新高斯分布的均值和协方差矩阵。
混合系数的更新可以通过对每个高斯分布的后验概率求平均得到:$$\pi_j = \frac{1}{N} \sum_{i=1}^{N} w_{ij}$$高斯分布的均值和协方差矩阵的更新可以通过将样本加权平均来得到:$$\mu_j = \frac{1}{\sum_{i=1}^{N} w_{ij}} \sum_{i=1}^{N} w_{ij} \cdot x_i$$$$\Sigma_j = \frac{1}{\sum_{i=1}^{N} w_{ij}} \sum_{i=1}^{N}w_{ij} \cdot (x_i - \mu_j)(x_i - \mu_j)^T$$重复执行E步和M步,直到收敛为止。
混合高斯模型和EM算法
混合高斯模型(Mixtures of Gaussians)和EM算法这篇讨论使用期望最大化算法(Expectation-Maximization)来进行密度估计(density estim ation)。
与k-m eans一样,给定的训练样本是,我们将隐含类别标签用表示。
与k-m eans的硬指定不同,我们首先认为是满足一定的概率分布的,这里我们认为满足多项式分布,,其中,有k个值{1,…,k}可以选取。
而且我们认为在给定后,满足多值高斯分布,即。
由此可以得到联合分布。
整个模型简单描述为对于每个样例,我们先从k个类别中按多项式分布抽取一个,然后根据所对应的k个多值高斯分布中的一个生成样例,。
整个过程称作混合高斯模型。
注意的是这里的仍然是隐含随机变量。
模型中还有三个变量和。
最大似然估计为。
对数化后如下:这个式子的最大值是不能通过前面使用的求导数为0的方法解决的,因为求的结果不是close form。
但是假设我们知道了每个样例的,那么上式可以简化为:这时候我们再来对和进行求导得到:就是样本类别中的比率。
是类别为j的样本特征均值,是类别为j的样例的特征的协方差矩阵。
实际上,当知道后,最大似然估计就近似于高斯判别分析模型(Gaussian discriminant analysis m odel)了。
所不同的是GDA中类别y是伯努利分布,而这里的z是多项式分布,还有这里的每个样例都有不同的协方差矩阵,而GDA中认为只有一个。
之前我们是假设给定了,实际上是不知道的。
那么怎么办呢?考虑之前提到的EM 的思想,第一步是猜测隐含类别变量z,第二步是更新其他参数,以获得最大的最大似然估计。
用到这里就是:在E步中,我们将其他参数看作常量,计算的后验概率,也就是估计隐含类别变量。
估计好后,利用上面的公式重新计算其他参数,计算好后发现最大化最大似然估计时,值又不对了,需要重新计算,周而复始,直至收敛。
的具体计算公式如下:这个式子利用了贝叶斯公式。
机器学习算法总结(六)——EM算法与高斯混合模型
机器学习算法总结(六)——EM算法与⾼斯混合模型 极⼤似然估计是利⽤已知的样本结果,去反推最有可能(最⼤概率)导致这样结果的参数值,也就是在给定的观测变量下去估计参数值。
然⽽现实中可能存在这样的问题,除了观测变量之外,还存在着未知的隐变量,因为变量未知,因此⽆法直接通过最⼤似然估计直接求参数值。
EM算法是⼀种迭代算法,⽤于含有隐变量的概率模型的极⼤似然估计,或者说是极⼤后验概率估计。
1、经典的三硬币模型 引⼊⼀个例⼦来说明隐变量存在的问题。
假设有3枚硬币,分别记作A,B,C。
这些硬币正⾯出现的概率分别是π,p,q。
我们的实验过程如下,先投掷硬币A,根据其结果选出硬币B和硬币C,正⾯选B,反⾯选C;然后投掷选出的硬币,此时出现正⾯记作1,出现反⾯记作0。
在这个例⼦中我们观察到的变量只是B或者C的结果,⽽对A的结果并不知道,在这⾥A的结果也就是我们的隐变量。
A的结果对最终的结果是有影响的,因此在估计参数时必须将A的结果考虑进去。
1、EM算法 我们将观测变量表⽰为Y = (Y1,Y2,....,Y n),隐变量表⽰为Z = (Z1,Z2,....,Z n),则观测数据的似然函数可以表⽰为 在这⾥P(Y|θ) 是P(Y, Z|θ) 的边缘概率,通过转换后可以表⽰成右边的形式,我们将其转换成对数形式,这样便于求联合概率 然⽽对于这样的式⼦直接根据极⼤化求θ的值是很困难的,因为这⾥还存在隐变量Z,在这⾥引⼊EM算法,通过迭代求解,假设在第i 次迭代后θ的估计值为θ(i)。
我们希望新估计值能是L(θ)增加,通过迭代逐步的达到最⼤值。
为此我们考虑第i+1步迭代后两者的差: 利⽤Jensen不等式将上述式⼦展开并得到其下界(对数函数是凹函数): 令 则有 在这⾥B(θ, θ(i)) 是L(θ) 的⼀个下界,⽽且由的表达式可知 因此任何能使得B(θ, θ(i)) 增⼤的θ,也能使得L(θ) 增⼤。
因此求θ值使得B(θ, θ(i)) 增⼤就可以转变成求θ使得L(θ) 增⼤,即求 将上述式⼦展开可得(在这⾥去掉常数项,因为常数项不会影响最终的结果) 因此问题就演变成了求Q函数的极⼤化。
EM算法用于高斯混合模型
EM算法用于高斯混合模型EM算法(Expectation-Maximization algorithm)是一种迭代算法,用于估计含有隐变量的概率模型参数。
它被广泛应用于高斯混合模型(Gaussian Mixture Model,GMM)的参数估计。
GMM 是一种概率模型,它由若干个高斯分布组成,每个高斯分布对应数据的一个分量。
具体来说,EM算法包含两个步骤:E步骤(Expectation step)和M步骤(Maximization step)。
在E步骤中,给定当前参数估计,我们计算隐变量的期望值。
而在M步骤中,根据这些隐变量的期望值,我们重新估计参数。
这两个步骤会反复迭代,直到参数收敛为止。
首先,我们来看E步骤。
在GMM中,每个观测值都可以由多个高斯分布生成。
我们需要计算每个数据点属于每个高斯分布的后验概率。
这个后验概率可以表示为每个高斯分布生成一些数据点的概率除以所有高斯分布生成这个数据点的概率之和。
这个后验概率即为数据点属于每个高斯分布的权重。
计算后验概率的方法是使用贝叶斯公式。
然后,我们来看M步骤。
在M步骤中,我们根据E步骤计算得到的后验概率,重新估计高斯分布的参数。
具体来说,对于每个高斯分布,我们计算其均值和协方差矩阵。
均值可以通过将数据点乘以其对应的后验概率,再除以所有后验概率之和来计算。
协方差矩阵可以通过计算每个数据点与对应高斯分布的均值之间的差的外积,再乘以其对应的权重,最后除以所有权重之和来计算。
在每次迭代中,E步骤和M步骤会交替进行,直到算法收敛。
算法的收敛条件可以选择参数变化的很小或达到一定的迭代次数。
在每次迭代中,EM算法会逐渐提高对数据的拟合程度,也就是逐渐改善参数的估计。
EM算法有很多优点。
首先,它是一种通用的算法,适用于各种类型的概率模型估计。
其次,EM算法在估计参数时可以有很大的灵活性,可以根据需求自定义参数的个数和选择去模型每个分量的数据。
此外,EM 算法收敛到局部最优,而跳出局部最优通常需要全局优化方法。
EM算法详细例子及推导
EM算法详细例子及推导EM算法(Expectation-Maximization Algorithm)是一种用于求解含有隐变量(latent variable)的概率模型的参数估计方法。
其基本思想是通过迭代的方式,通过观测数据得到对隐变量的估计,然后再基于该估计对模型参数进行优化。
下面我们以一个简单的高斯混合模型为例,详细介绍EM算法的推导和实例。
1. 高斯混合模型(Gaussian Mixture Model, GMM)高斯混合模型是一种概率模型,由多个高斯分布组合而成。
假设我们观测到的数据由K个高斯分布组成,每个高斯分布对应一个参数向量:均值miu和方差sigma^2、同时,我们还有一个隐变量Z,表示观测数据属于哪个高斯分布,取值范围为{1,2,...,K}。
2.EM算法EM算法的核心思想是通过交替进行两个步骤:E步(Expectation)和M步(Maximization)。
在E步中,我们对当前模型参数下的隐变量进行估计,得到对隐变量的最大似然估计。
在M步中,我们利用得到的隐变量估计更新模型参数,使模型对观测数据的似然函数最大化。
不断重复这两步直至模型收敛。
下面我们通过具体的例子来推导EM算法。
假设我们观测到了一个数据集X = {x1, x2, ..., xn},我们希望通过EM算法对其进行建模。
Step1: 初始化模型参数首先,我们需要初始化模型参数。
选择K个高斯分布的参数miu和sigma^2,并假设所有的高斯分布对应的隐变量Z服从均匀分布。
这时,我们得到了初始模型参数Theta = {miu1, sigma^21, ..., miuK,sigma^K, pi1, pi2, ..., piK}。
Step2: E步,计算隐变量的后验分布在E步中,我们计算隐变量的后验分布。
对于每个观测样本xi,我们计算其属于每个高斯分布的概率,即:gamma(k,i) = P(Zi=k,xi, Theta) = P(Zi=k,xi, miu_k,sigma_k^2) = pi_k * N(xi,miu_k, sigma_k^2) / sum(pi_j * N(xi,miu_j, sigma_j^2), j=1 to K其中N(xi,miu_k, sigma_k^2)表示xi在第k个高斯分布下服从的概率密度函数。
高斯混合模型的超参数估计
高斯混合模型的超参数估计高斯混合模型(Gaussian Mixture Model,简称GMM)是一种概率模型,用于描述多个高斯分布的混合体。
在机器学习和数据科学中,高斯混合模型常用于聚类、异常检测和密度估计等任务。
超参数是在模型训练之前需要设置的参数,而不是通过训练得到的参数。
对于高斯混合模型的超参数估计,通常使用EM(Expectation-Maximization)算法。
EM算法是一种迭代算法,用于在存在隐变量或缺失数据的情况下进行参数估计。
在高斯混合模型中,隐变量是各个数据点所属的簇(即类别),而缺失数据则是各个数据点对应的簇中心位置(即均值向量和高斯分布的协方差矩阵)。
在EM算法中,每一步迭代都包含两个步骤:期望(E)步骤和最大化(M)步骤。
在期望(E)步骤中,计算每个数据点属于各个簇的概率。
这些概率基于当前参数的估计值,包括各个簇的中心位置、协方差矩阵以及簇的先验概率。
然后,根据这些概率更新隐变量的状态,即每个数据点所属的簇。
在最大化(M)步骤中,根据隐变量的状态和当前参数的估计值,更新模型的参数。
具体来说,更新各个簇的中心位置和协方差矩阵,以及簇的先验概率。
这一步的目标是最大化似然函数,即数据的概率分布。
通过反复迭代EM算法,直到参数收敛或达到预设的最大迭代次数,就可以得到高斯混合模型的超参数估计值。
这些估计值包括各个簇的中心位置、协方差矩阵以及簇的先验概率。
值得注意的是,高斯混合模型的超参数估计也可以使用其他方法,如网格搜索、贝叶斯方法和启发式方法等。
不同的方法可能在不同的数据集和任务上表现不同,因此在实际应用中需要根据具体情况选择合适的方法。
EM算法及其应用
EM算法及其应用EM算法作为一种常用的统计方法,被广泛应用于各种领域,如计算机视觉、自然语言处理、生物信息学等。
在本文中,我们将详细探讨EM算法及其应用。
一、EM算法概述EM算法(Expectation-Maximization Algorithm)是一种用于概率模型参数估计的迭代算法,由Arthur Dempster等人于1977年提出。
它可以用于处理带有隐变量的模型参数估计,也可以被看做一种极大化带有隐变量的数据似然函数的方法。
EM算法的核心思想是将似然函数分解为两部分,一部分是观测数据,另一部分是隐变量。
在每次迭代中,EM算法首先根据当前参数的值计算出对隐变量的期望,即E步。
然后,它通过极大化在E步中计算出的隐变量的期望下的似然函数来更新参数,即M步。
这个过程不断迭代,直到收敛为止。
二、EM算法应用案例1. 高斯混合模型高斯混合模型(Gaussian Mixture Model,GMM)是一种用来描述多个高斯分布的模型。
在计算机视觉中,GMM被广泛应用于图像分割和姿态估计等领域。
由于图像中的像素值往往服从高斯分布,因此使用GMM进行图像分割时,可以将像素分为多个高斯分布。
使用EM算法进行GMM参数估计的步骤如下:1) 初始化高斯分布的个数和参数;2) E步:计算每个样本属于每个高斯分布的概率,即计算隐变量的期望;3) M步:根据在E步中计算出的隐变量的期望,更新高斯分布的均值和方差。
4) 不断迭代E步和M步,直到收敛。
2. K均值聚类K均值聚类是一种无监督学习的算法,它将n个样本划分为k 个簇,使得每个样本都属于距离它最近的簇。
这种算法被广泛应用于图像分割和文本聚类等领域。
使用EM算法进行K均值聚类的步骤如下:1) 随机初始化k个簇的中心点;2) E步:将每个样本分配到距离它最近的簇中,即计算隐变量的期望;3) M步:根据在E步中计算出的隐变量的期望,更新每个簇的中心点;4) 不断迭代E步和M步,直到收敛。
多元高斯混合模型 em算法 工况-概述说明以及解释
多元高斯混合模型em算法工况-概述说明以及解释1.引言1.1 概述在编写文章的概述部分时,需要对主题进行简要介绍,并提供相关背景信息。
这里是关于多元高斯混合模型(Gaussian Mixture Model, GMM)及其在工况(engineering conditions)中的应用的概述。
多元高斯混合模型是一种常见的统计模型,它是由多个高斯分布组成的概率密度函数的线性组合。
在实际问题中,很多数据的分布无法被单个高斯分布完全描述,而是由多个高斯分布混合而成。
多元高斯混合模型通过将这些高斯分布加权组合,能够更好地近似复杂数据的分布情况。
EM算法是一种常用于估计多元高斯混合模型参数的迭代算法。
通过EM算法,我们可以根据观测数据来估计出模型中每个高斯分布的均值、协方差和权重等参数,从而得到最优的模型拟合结果。
EM算法的基本思想是通过交替迭代的方式,通过E步骤计算隐变量(即数据来自于哪个高斯分布),再通过M步骤更新模型参数,不断优化模型,直到收敛到最优解。
在工况中,多元高斯混合模型及EM算法的应用非常广泛。
工况通常涉及到多个不同的条件和变量,而且这些条件和变量之间往往存在复杂的关联关系。
通过使用多元高斯混合模型,可以更好地对这些变量的分布进行建模和描述,进而提供更准确的分析和预测结果。
无论是在工程领域的故障诊断、质量控制还是金融领域的风险分析等应用场景中,多元高斯混合模型都发挥着重要的作用。
总而言之,本文将针对多元高斯混合模型及其在工况中的应用展开详细探讨。
通过介绍多元高斯混合模型的基本原理和EM算法的实现方式,以及探讨其在工况中的应用案例,旨在提供一种全面的分析方法和工具,以帮助读者更好地理解和应用该模型解决实际问题。
1.2文章结构文章结构部分的内容可以包括以下内容:本文将从以下几个方面进行论述:多元高斯混合模型、EM算法以及它们在工况中的应用。
首先,我们将介绍多元高斯混合模型的基本概念和原理。
通过对多元高斯分布和混合模型的介绍,读者将了解到多元高斯混合模型在数据建模和聚类分析中的重要性及应用场景。
EM算法--应用到三个模型: 高斯混合模型 ,混合朴素贝叶斯模型,因子分析模型汇编
判别模型求的是条件概率p(y|x),生成模型求的是联合概率p(x,y) .即= p(x|y) ∗ p(y)常见的判别模型有线性回归、对数回归、线性判别分析、支持向量机、boosting、条件随机场、神经网络等。
常见的生产模型有隐马尔科夫模型、朴素贝叶斯模型、高斯混合模型、LDA、Restricted Boltzmann Machine等。
所以这里说的高斯混合模型,朴素贝叶斯模型都是求p(x,y)联合概率的。
(下面推导会见原因)套路小结:凡是生产模型,目的都是求出联合概率表达式,然后对联合概率表达式里的各个参数再进行估计,求出其表达式。
下面的EM算法,GMM等三个模型都是做这同一件事:设法求出联合概率,然后对出现的参数进行估计。
一、EM算法:作用是进行参数估计。
应用:(因为是无监督,所以一般应用在聚类上,也用在HMM参数估计上)所以凡是有EM算法的,一定是无监督学习.因为EM是对参数聚集给定训练样本是样例独立,我们想要知道每个样例隐含的类别z,使是p(x,z)最大,(即如果将样本x(i)看作观察值,潜在类别z看作是隐藏变量,则x可能是类别z,那么聚类问题也就是参数估计问题,)故p(x,z)最大似然估计是:所以可见用到EM算法的模型(高斯混合模型,朴素贝叶斯模型)都是求p(x,y)联合概率,为生成模型。
对上面公式,直接求θ一般比较困难,因为有隐藏变量z存在,但是一般确定了z后,求解就容易了。
EM是一种解决存在隐含变量优化问题的有效方法。
竟然不能直接最大化ℓ(θ),我们可建立ℓ的下界(E步),再优化下界(M步),见下图第三步,取的就是下界(总式)解释上式:对于每一个样例i,让Qi表示该样例隐含变量z 的某种分布,Qi满足的条件是(如果z 是连续性的,那么Qi是概率密度函数(因子分析模型就是如此),需要将求和符号换成积分符号即:因子分析模型是如此,这个会用在EM算法的M 步求。
比如要将班上学生聚类,假设隐藏变量z是身高,那么就是连续的高斯分布。
高斯混合模型em算法
高斯混合模型em算法高斯混合模型(Gaussian Mixture Model,简称GMM)是一种概率模型,它能够将多个高斯分布组合在一起,从而更好地对数据进行建模和描述。
EM算法(Expectation-Maximization Algorithm,期望最大化算法)是一种常用于GMM参数估计的迭代算法。
本文将重点介绍GMM和EM算法,并对EM算法的具体步骤进行详细解释。
1. 高斯混合模型(Gaussian Mixture Model)高斯混合模型通过同时拟合多个高斯分布的线性组合来对数据进行建模。
设X为观测数据,其概率密度函数可以表示为:P(X) = Σk=1 to K (πk * N(x|μk, Σk))其中,N(x|μk, Σk)表示高斯分布的概率密度函数,πk为每个分布的权重,并满足Σk=1 to K πk = 1。
通过最大化似然函数,可以估计出每个高斯分布的参数μk和Σk。
2. EM算法(Expectation-Maximization Algorithm)EM算法是一种迭代算法,用于求解含有隐变量的概率模型参数估计问题。
EM算法通过交替进行E步和M步来迭代地逼近模型参数的最大似然估计。
- E步(Expectation Step):在E步中,通过当前的模型参数估计隐变量的期望。
对于GMM,E步的目标是计算每个样本属于每个高斯分布的后验概率。
- M步(Maximization Step):在M步中,根据E步计算得到的隐变量的期望,更新模型参数。
对于GMM,M步的目标是最大化对数似然函数,从而估计出每个高斯分布的参数μk和Σk。
具体的EM算法步骤如下:(1) 初始化参数,包括高斯分布的个数K、每个高斯分布的权重πk、每个高斯分布的均值μk和协方差矩阵Σk。
(2) 进行E步,计算每个样本属于每个高斯分布的后验概率。
根据当前的参数估计后验概率如下:γij = πj * N(xi|μj, Σj) / Σk=1 to K (πk * N(xi|μk, Σk))(3) 进行M步,更新模型参数。
em算法原理
EM算法原理一、简介EM(Expectation Maximization)算法是一种常见的统计学习方法,用于估计参数和解决一些难以处理的问题,特别是在存在隐变量的情况下。
EM算法最初由数学家罗伯特·卢德米勒(RobertLushmiller)和理查德·贝尔曼(RichardBellman)在20世纪50年代提出,后来由 statisticiansDempster, Laird, and Rubin 进一步发展,因此也被命名为Dempster-Laird-Rubin算法。
EM算法在许多领域都有广泛的应用,如混合高斯模型、隐马尔可夫模型、高斯过程回归等。
二、EM算法的步骤EM算法主要由两个步骤组成:E步(ExpectationStep)和M步(Maximization Step),这两个步骤在迭代过程中交替进行。
1.E步:计算隐变量的条件期望。
给定当前的参数估计值,计算隐变量的条件期望,通常表示为参数的函数。
这个步骤中,隐变量对数似然函数的参数更新起着关键作用。
2.M步:最大化期望值函数。
在E步计算出期望值之后,M步将尝试找到一组参数,使得这个期望值函数最大。
这个步骤中,通常使用优化算法来找到使期望值函数最大的参数值。
这两个步骤在迭代过程中交替进行,每次迭代都更新了参数的估计值,直到满足某个停止准则(如参数收敛或达到预设的最大迭代次数)。
三、EM算法的特点与优点1.处理隐变量:EM算法能够处理数据中存在的隐变量问题,这是它与其他参数估计方法相比的一大优势。
通过估计隐变量的概率分布,EM算法能够更准确地描述数据的生成过程。
2.简单易行:相对于其他优化算法,EM算法相对简单易懂,也容易实现。
它的主要目标是最优化一个简单的对数似然函数,这使得EM算法在许多情况下都能给出很好的结果。
3.稳健性:对于一些数据异常或丢失的情况,EM算法往往表现出较好的稳健性。
这是因为EM算法在估计参数时,会考虑到所有可用的数据,而不仅仅是正常的数据点。
数据科学与R语言:EM算法的R实现和高斯混合模型
数据科学与R语言:EM算法的R实现和高斯混合模型EM算法的R实现和高斯混合模型EM(Expectatioin-Maximalization)算法即期望最大算法,被誉为是数据挖掘的十大算法之一。
它是在概率模型中寻找参数最大似然估计的算法,其中概率模型依赖于无法观测到的隐变量。
最大期望算法经过两个步骤交替进行计算,第一步是计算期望(E),也就是将隐藏变量象能够观测到的一样包含在内,从而计算最大似然的期望值;另外一步是最大化(M),也就是最大化在E 步上找到的最大似然的期望值从而计算参数的最大似然估计。
M 步上找到的参数然后用于另外一个E 步计算,这个过程不断交替进行。
对于信息缺失的数据来说,EM算法是一种极有效的工具,我们先用一个简单例子来理解EM算法,并将其应用到GMM(高斯混合模型)中去。
幼儿园里老师给a,b,c,d四个小朋友发糖吃,但老师有点偏心,不同小朋友得到糖的概率不同,p(a)=0.5, p(b)=miu, p(c)=2*miu, p(d)=0.5-3*miu 如果确定了参数miu,概率分布就知道了。
我们可以通过观察样本数据来推测参数。
设四人实际得到糖果数目为(a,b,c,d),可以用ML(极大似然),估计出miu=(b+c)/6*(b+c+d),假如某一天四个小朋友分别得到了(40,18,0,23)个糖。
根据公式可求出miu为0.1。
在信息完整条件下,ML方法是很容易估计参数的。
假设情况再复杂一点:知道c和d二人得到的糖果数,也知道a 与b二人的糖果数之和为h,如何来估计出参数miu呢?前面我们知道了,如果观察到a,b,c,d就可以用ML估计出miu。
反之,如果miu已知,根据概率期望 a/b=0.5/miu,又有a+b=h。
由两个式子可得到 a=0.5*h/(0.5+miu)和b=miu*h/(0.5+miu)。
此时我们面临一个两难的境地,a,b需要miu才能求出来,miu需要a,b才能求出来。
用em算法求解的连续分布的例子
用em算法求解的连续分布的例子1. 高斯混合模型 (Gaussian Mixture Model, GMM)GMM 是一种常用的连续分布模型,它可以用来对复杂的数据进行建模。
GMM 假设数据是由多个高斯分布组成的混合体,每个高斯分布都有自己的均值和方差。
通过 EM 算法,可以估计出每个高斯分布的参数,从而得到数据的分布模型。
2. 隐马尔可夫模型 (Hidden Markov Model, HMM)HMM 是一种常用的连续分布模型,它常用于序列数据的建模和预测,如语音识别、自然语言处理等领域。
HMM 假设数据是由一个隐藏的马尔可夫链生成的,每个隐藏状态对应一个观测值的概率分布。
通过 EM 算法,可以估计出隐藏状态的转移概率和观测值的分布模型。
3. 混合多项式模型 (Mixture Polynomials Model)混合多项式模型是一种用于建模多项式分布的连续分布模型。
它假设数据是由多个多项式分布组成的混合体,每个多项式分布都有自己的参数。
通过 EM 算法,可以估计出每个多项式分布的参数,从而得到数据的分布模型。
4. Beta分布模型 (Beta Distribution Model)Beta分布是一种常用的连续分布,它常用于表示一个概率值的分布。
Beta分布有两个参数,可以通过 EM 算法来估计这两个参数的值,从而得到数据的分布模型。
5. 混合指数模型 (Mixture Exponential Model)混合指数模型是一种用于建模指数分布的连续分布模型。
它假设数据是由多个指数分布组成的混合体,每个指数分布都有自己的参数。
通过 EM 算法,可以估计出每个指数分布的参数,从而得到数据的分布模型。
6. 正态分布模型 (Normal Distribution Model)正态分布是一种常用的连续分布,它常用于表示连续型数据的分布。
正态分布有两个参数,均值和方差,可以通过 EM 算法来估计这两个参数的值,从而得到数据的分布模型。
r语言中混合高斯分布,em算法
R语言中混合高斯分布是一种常用的概率分布模型,它可以描述数据中存在的不同的分组或裙体,每个裙体都符合高斯分布。
而在对这种混合高斯分布进行参数估计时,EM算法则是一种非常有效的方法。
在本文中,将会详细介绍R语言中混合高斯分布和EM算法的相关概念、原理以及实际应用。
一、混合高斯分布的概念和原理混合高斯分布是指由多个高斯分布组成的一个更复杂的概率分布模型。
每个高斯分布被称为一个“组件”,而混合高斯分布则由这些不同组件的线性组合构成。
在实际数据中,往往存在着不同的裙体或分组,而这些裙体的数据往往都符合高斯分布,因此使用混合高斯分布模型可以更好地描述复杂的数据结构。
混合高斯分布的概率密度函数可以表示为:其中,k表示组件的数量,μi和σi表示第i个组件的均值和标准差,πi表示第i个组件出现的概率,并且满足∑πi=1。
二、EM算法的概念和原理EM算法是一种用于对存在隐变量的概率模型进行参数估计的迭代算法,它通过交替进行E步和M步来最大化对数似然函数,从而得到模型参数的估计值。
在混合高斯分布中,EM算法可以被用来对混合高斯分布的均值、方差和混合系数进行参数估计。
具体来说,EM算法可以分为以下几个步骤:1. 初始化模型参数:包括组件的数量k,均值μi,方差σi和混合系数πi的初始值。
2. E步(期望步):根据当前模型参数,计算每个样本属于每个组件的概率,即计算后验概率。
3. M步(最大化步):根据E步的结果,更新模型参数,使得对数似然函数最大化。
4. 重复进行E步和M步,直到模型参数收敛。
EM算法的目标是最大化对数似然函数,但由于对数似然函数的最大化过程中存在隐变量,所以无法直接通过求导来得到模型参数的解析解,而是必须通过迭代的方式来逐步逼近最优解。
三、在R语言中的实际应用在R语言中,混合高斯分布和EM算法都有很好的支持和实现。
可以使用mclust包来对数据进行混合高斯建模,并使用Mclust函数来进行参数估计。
EM算法及其应用实例
EM算法及其应用实例EM算法(Expectation-Maximization algorithm)是一种迭代算法,用于解决含有隐变量的概率模型的参数估计问题。
EM算法被广泛应用于许多领域,如机器学习、数据挖掘、自然语言处理等。
EM算法的主要思想是通过迭代的方式,交替进行两个步骤:E步骤(expectation)和M步骤(maximization)。
在每一次迭代中,E步骤用于计算模型在当前参数下对观测数据的期望,M步骤则用于更新模型参数,使得模型的对数似然函数得到最大化。
通过不断重复这两个步骤,最终获得模型的最优参数估计。
EM算法的应用实例有很多,下面以两个典型的应用实例进行说明。
1.高斯混合模型(GMM):高斯混合模型是一种概率密度模型,由多个高斯分布组成。
每个高斯分布对应一个隐藏变量,表示观测数据来自于哪个分布。
因此,高斯混合模型包含两部分参数:高斯分布的参数和隐藏变量的分布。
EM算法可以用于估计高斯混合模型的参数。
在E步骤中,根据当前参数,计算每个观测数据来自于每个高斯分布的概率。
在M步骤中,根据E步骤得到的概率,更新高斯混合模型的参数。
通过不断迭代E步骤和M步骤,最终可以得到高斯混合模型的最优参数估计。
2.隐马尔可夫模型(HMM):隐马尔可夫模型是一种概率图模型,用于描述时间序列数据的生成过程。
隐马尔可夫模型由两部分参数组成:状态转移概率和观测概率。
EM算法可以用于估计隐马尔可夫模型的参数。
在E步骤中,根据当前参数,计算观测数据在每个时间步上处于每个隐藏状态的概率。
在M步骤中,根据E步骤得到的概率,更新隐马尔可夫模型的参数。
通过不断迭代E步骤和M步骤,最终可以得到隐马尔可夫模型的最优参数估计。
除了高斯混合模型和隐马尔可夫模型,EM算法还可以应用于其他概率模型的参数估计问题,如朴素贝叶斯分类器、混合朴素贝叶斯分类器等。
总之,EM算法是一种有效的参数估计算法,广泛应用于各个领域。
它通过迭代的方式,交替进行E步骤和M步骤,不断更新模型参数,最终得到模型的最优参数估计。
高斯混合模型em算法
高斯混合模型 (Gaussian Mixture Model, GMM) 和 EM 算法1. 引言高斯混合模型 (Gaussian Mixture Model, GMM) 是一种常见的概率模型,用于对数据进行聚类和密度估计。
它假设数据是由多个高斯分布组成的混合体,每个高斯分布称为一个分量。
EM 算法是一种迭代优化算法,用于估计 GMM 的参数。
在本文中,我们将介绍 GMM 和 EM 算法的基本概念,并详细解释 EM 算法在估计 GMM 参数时的工作原理。
2. 高斯混合模型 (GMM)高斯混合模型是一种生成模型,用于描述多变量数据的概率分布。
它假设数据是由 K 个高斯分布组成的混合体,每个高斯分布具有自己的均值向量和协方差矩阵。
对于一个 K 维随机变量 X ,其概率密度函数可以表示为:p (X )=∑πk Kk=1⋅N (X|μk ,Σk )其中 πk 是第 k 个高斯分布的权重(满足 ∑πk K k=1=1),N (X|μk ,Σk ) 是第 k 个高斯分布的概率密度函数。
GMM 的参数包括每个高斯分布的权重 πk 、均值向量 μk 和协方差矩阵 Σk 。
3. EM 算法EM 算法是一种迭代优化算法,用于估计概率模型的参数。
在 GMM 中,EM 算法被广泛应用于估计模型的参数。
EM 算法的基本思想是通过迭代优化两步来逐步改进参数估计:E 步(Expectation Step )和 M 步(Maximization Step )。
E 步(Expectation Step )在 E 步中,我们根据当前参数的估计值,计算每个样本属于每个高斯分布的后验概率。
这些后验概率被称为责任(responsibility )。
γ(z nk )=πk ⋅N (x n |μk ,Σk )∑πj K j=1⋅N(x n |μj ,Σj )其中 z nk 表示第 n 个样本属于第 k 个高斯分布的责任。
M 步(Maximization Step)在 M 步中,我们使用 E 步中计算得到的责任,重新估计模型的参数。
高斯混合模型em算法
高斯混合模型em算法高斯混合模型与EM算法高斯混合模型(Gaussian Mixture Model,GMM)是一种常用的概率模型,用于对多元数据进行建模和分析。
它可以描述一个数据集中包含的多个潜在的高斯分布,并通过EM算法来对模型参数进行估计。
本文将介绍高斯混合模型和EM算法的基本原理以及它们在实际应用中的一些例子。
高斯混合模型是由多个高斯分布组成的概率分布模型。
对于一个具有N个样本的数据集,高斯混合模型假设这些样本是由K个高斯分布组成的,每个高斯分布对应着数据集中的一个潜在成分。
每个样本点的生成过程可以表示为:```x = w_1 * N(mu_1, sigma_1^2) + w_2 * N(mu_2, sigma_2^2) + ... + w_K *N(mu_K, sigma_K^2)```其中,`x`为一个样本点,`N(mu_i, sigma_i^2)`表示一个高斯分布,`w_i`表示对应的样本点属于第i个高斯分布的概率。
高斯混合模型的目标是通过拟合样本数据,估计出每个高斯分布的参数以及每个样本点属于不同高斯分布的概率。
EM算法(Expectation-Maximization algorithm)是一种常用的估计高斯混合模型参数的方法。
EM算法的基本思路是通过迭代的方式,交替进行两个步骤:E步骤(Expectation)和M步骤(Maximization)。
具体每次迭代的过程如下:1. 初始化高斯混合模型的参数:包括每个高斯分布的参数(均值和方差)以及每个样本点属于不同高斯分布的概率。
2. E步骤:根据当前模型参数,计算每个样本点属于每个高斯分布的概率。
这个概率可以使用贝叶斯定理和高斯分布的概率密度函数得到。
3. M步骤:根据E步骤的计算结果,更新高斯分布的参数以及每个样本点属于不同高斯分布的概率。
通常使用最大似然估计的方法进行参数的更新。
4. 重复步骤2和步骤3,直到模型收敛或达到设定的迭代次数。
机器学习第三课(EM算法和高斯混合模型)
机器学习第三课(EM算法和⾼斯混合模型)极⼤似然估计,只是⼀种概率论在统计学的应⽤,它是参数估计的⽅法之⼀。
说的是已知某个随机样本满⾜某种概率分布,但是其中具体的参数不清楚,参数估计就是通过若⼲次试验,观察其结果,利⽤结果推出参数的⼤概值。
最⼤似然估计是建⽴在这样的思想上:已知某个参数能使这个样本出现的概率最⼤,我们当然不会再去选择其他⼩概率的样本,所以⼲脆就把这个参数作为估计的真实值。
我们先来假设这样⼀个问题:要求解⼈群(100⼈)中男⼥⾝⾼的分布,这⾥很明显有两种分布,男和⼥,但是事先我们并不知道他们服从哪种分布,⽽且我们也不知道男的有多少⼈,⼥的有多少⼈,那么怎么办呢?如果我们⽤混合⾼斯模型,我们假设男和⼥的分布都是符合⾼斯分布的,然后给定这个⾼斯分布⼀个初始值,这样这个⾼斯分布就是已知的了。
接着,⽤这个已经的⾼斯分布来估计男的多少⼈,⼥的多少⼈,假设男和⼥的类别分布为Q(z),这样我们就可以求Q(z)的期望了,⽤期望来表⽰下⼀次迭代类别的初始值,这样我们就知道男和⼥的所属类别了,我们就可以⽤最⼤似然函数来估新的⾼斯模型的参数了。
重复上述步骤…直到收敛!ps:极⼤似然估计,只是⼀种概率论在统计学的应⽤,它是参数估计的⽅法之⼀。
说的是已知某个随机样本满⾜某种概率分布,但是其中具体的参数不清楚,参数估计就是通过若⼲次试验,观察其结果,利⽤结果推出参数的⼤概值。
最⼤似然估计是建⽴在这样的思想上:已知某个参数能使这个样本出现的概率最⼤,我们当然不会再去选择其他⼩概率的样本,所以⼲脆就把这个参数作为估计的真实值。
EM算法,这是cv界⽐较有名的⼀种算法了,虽然很早就听说过,但真正深究还是最近⼏天看斯坦福公开课笔记的时候。
之所以EM和MoG 放在⼀起,是因为我们在求解MoG模型的时候需要⽤到EM算法,所以这⾥我们先来介绍下EM算法。
在介绍EM算法的之前,我们先来普及下Jensen不等式的知识。
⾸先我们来给出Jensen不等式的定义:定理很简单,总结下来就是这么⼏点。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
混合高斯模型(Mixtures of Gaussians)和EM算法这篇讨论使用期望最大化算法(Expectation-Maximization)来进行密度估计(density estimation)。
与k-means一样,给定的训练样本是,我们将隐含类别标签用表示。
与k-means的硬指定不同,我们首先认为是满足一定的概率分布的,这里我们认为满足多项式分布,,其中,有k个值{1,…,k}可以选取。
而且我们认为在给定后,满足多值高斯分布,即。
由此可以得到联合分布。
整个模型简单描述为对于每个样例,我们先从k个类别中按多项式分布抽取一个,然后根据所对应的k个多值高斯分布中的一个生成样例,。
整个过程称作混合高斯模型。
注意的是这里的仍然是隐含随机变量。
模型中还有三个变量和。
最大似然估计为。
对数化后如下:这个式子的最大值是不能通过前面使用的求导数为0的方法解决的,因为求的结果不是close form。
但是假设我们知道了每个样例的,那么上式可以简化为:这时候我们再来对和进行求导得到:就是样本类别中的比率。
是类别为j的样本特征均值,是类别为j的样例的特征的协方差矩阵。
实际上,当知道后,最大似然估计就近似于高斯判别分析模型(Gaussian discriminant analysis model)了。
所不同的是GDA中类别y是伯努利分布,而这里的z是多项式分布,还有这里的每个样例都有不同的协方差矩阵,而GDA中认为只有一个。
之前我们是假设给定了,实际上是不知道的。
那么怎么办呢?考虑之前提到的EM 的思想,第一步是猜测隐含类别变量z,第二步是更新其他参数,以获得最大的最大似然估计。
用到这里就是:在E步中,我们将其他参数看作常量,计算的后验概率,也就是估计隐含类别变量。
估计好后,利用上面的公式重新计算其他参数,计算好后发现最大化最大似然估计时,值又不对了,需要重新计算,周而复始,直至收敛。
的具体计算公式如下:这个式子利用了贝叶斯公式。
这里我们使用代替了前面的,由简单的0/1值变成了概率值。
对比K-means可以发现,这里使用了“软”指定,为每个样例分配的类别是有一定的概率的,同时计算量也变大了,每个样例i都要计算属于每一个类别j的概率。
与K-means相同的是,结果仍然是局部最优解。
对其他参数取不同的初始值进行多次计算不失为一种好方法。
虽然之前再K-means中定性描述了EM的收敛性,仍然没有定量地给出,还有一般化EM 的推导过程仍然没有给出。
下一篇着重介绍这些内容。
(EM算法)The EM AlgorithmEM是我一直想深入学习的算法之一,第一次听说是在NLP课中的HMM那一节,为了解决HMM的参数估计问题,使用了EM算法。
在之后的MT中的词对齐中也用到了。
在Mitchell 的书中也提到EM可以用于贝叶斯网络中。
下面主要介绍EM的整个推导过程。
1. Jensen不等式回顾优化理论中的一些概念。
设f是定义域为实数的函数,如果对于所有的实数x,,那么f是凸函数。
当x是向量时,如果其hessian矩阵H是半正定的(),那么f是凸函数。
如果或者,那么称f是严格凸函数。
Jensen不等式表述如下:如果f是凸函数,X是随机变量,那么特别地,如果f是严格凸函数,那么当且仅当,也就是说X是常量。
这里我们将简写为。
如果用图表示会很清晰:图中,实线f是凸函数,X是随机变量,有0.5的概率是a,有0.5的概率是b。
(就像掷硬币一样)。
X的期望值就是a和b的中值了,图中可以看到成立。
当f是(严格)凹函数当且仅当-f是(严格)凸函数。
Jensen不等式应用于凹函数时,不等号方向反向,也就是。
2. EM算法给定的训练样本是,样例间独立,我们想找到每个样例隐含的类别z,能使得p(x,z)最大。
p(x,z)的最大似然估计如下:第一步是对极大似然取对数,第二步是对每个样例的每个可能类别z求联合分布概率和。
但是直接求一般比较困难,因为有隐藏变量z存在,但是一般确定了z后,求解就容易了。
EM是一种解决存在隐含变量优化问题的有效方法。
竟然不能直接最大化,我们可以不断地建立的下界(E步),然后优化下界(M步)。
这句话比较抽象,看下面的。
对于每一个样例i,让表示该样例隐含变量z的某种分布,满足的条件是。
(如果z是连续性的,那么是概率密度函数,需要将求和符号换做积分符号)。
比如要将班上学生聚类,假设隐藏变量z是身高,那么就是连续的高斯分布。
如果按照隐藏变量是男女,那么就是伯努利分布了。
可以由前面阐述的内容得到下面的公式:(1)到(2)比较直接,就是分子分母同乘以一个相等的函数。
(2)到(3)利用了Jensen不等式,考虑到是凹函数(二阶导数小于0),而且就是的期望(回想期望公式中的Lazy Statistician规则)(。
若对应于上述问题,Y是,X是,是,g是到的映射。
这样解释了式子(2)中的期望,再根据凹函数时的Jensen不等式:可以得到(3)。
这个过程可以看作是对求了下界。
对于的选择,有多种可能,那种更好的?假设已经给定,那么的值就决定于和了。
我们可以通过调整这两个概率使下界不断上升,以逼近的真实值,那么什么时候算是调整好了呢?当不等式变成等式时,说明我们调整后的概率能够等价于了。
按照这个思路,我们要找到等式成立的条件。
根据Jensen不等式,要想让等式成立,需要让随机变量变成常数值,这里得到:c为常数,不依赖于。
对此式子做进一步推导,我们知道,那么也就有,(多个等式分子分母相加不变,这个认为每个样例的两个概率比值都是c),那么有下式:至此,我们推出了在固定其他参数后,的计算公式就是后验概率,解决了如何选择的问题。
这一步就是E步,建立的下界。
接下来的M步,就是在给定后,调整,去极大化的下界(在固定后,下界还可以调整的更大)。
那么一般的EM算法的步骤如下:那么究竟怎么确保EM 收敛?假定和是EM 第t 次和t+1次迭代后的结果。
如果我们证明了,也就是说极大似然估计单调增加,那么最终我们会到达最大似然估计的最大值。
下面来证明,选定后,我们得到E 步这一步保证了在给定时,Jensen 不等式中的等式成立,也就是然后进行M 步,固定,并将视作变量,对上面的求导后,得到,这样经过一些推导会有以下式子成立:解释第(4)步,得到时,只是最大化,也就是的下界,而没有使等式成立,等式成立只有是在固定,并按E 步得到时才能成立。
况且根据我们前面得到的下式,对于所有的和都成立第(5)步利用了M步的定义,M步就是将调整到,使得下界最大化。
因此(5)成立,(6)是之前的等式结果。
这样就证明了会单调增加。
一种收敛方法是不再变化,还有一种就是变化幅度很小。
再次解释一下(4)、(5)、(6)。
首先(4)对所有的参数都满足,而其等式成立条件只是在固定,并调整好Q时成立,而第(4)步只是固定Q,调整,不能保证等式一定成立。
(4)到(5)就是M步的定义,(5)到(6)是前面E步所保证等式成立条件。
也就是说E步会将下界拉到与一个特定值(这里)一样的高度,而此时发现下界仍然可以上升,因此经过M步后,下界又被拉升,但达不到与另外一个特定值一样的高度,之后E步又将下界拉到与这个特定值一样的高度,重复下去,直到最大值。
如果我们定义从前面的推导中我们知道,EM可以看作是J的坐标上升法,E步固定,优化,M步固定优化。
3. 重新审视混合高斯模型我们已经知道了EM的精髓和推导过程,再次审视一下混合高斯模型。
之前提到的混合高斯模型的参数和计算公式都是根据很多假定得出的,有些没有说明来由。
为了简单,这里在M步只给出和的推导方法。
E步很简单,按照一般EM公式得到:简单解释就是每个样例i的隐含类别为j的概率可以通过后验概率计算得到。
在M步中,我们需要在固定后最大化最大似然估计,也就是这是将的k种情况展开后的样子,未知参数和。
固定和,对求导得等于0时,得到这就是我们之前模型中的的更新公式。
然后推导的更新公式。
看之前得到的在和确定后,分子上面的一串都是常数了,实际上需要优化的公式是:需要知道的是,还需要满足一定的约束条件就是。
这个优化问题我们很熟悉了,直接构造拉格朗日乘子。
还有一点就是,但这一点会在得到的公式里自动满足。
求导得,等于0,得到也就是说再次使用,得到这样就神奇地得到了。
那么就顺势得到M步中的更新公式:的推导也类似,不过稍微复杂一些,毕竟是矩阵。
结果在之前的混合高斯模型中已经给出。
4. 总结如果将样本看作观察值,潜在类别看作是隐藏变量,那么聚类问题也就是参数估计问题,只不过聚类问题中参数分为隐含类别变量和其他参数,这犹如在x-y坐标系中找一个曲线的极值,然而曲线函数不能直接求导,因此什么梯度下降方法就不适用了。
但固定一个变量后,另外一个可以通过求导得到,因此可以使用坐标上升法,一次固定一个变量,对另外的求极值,最后逐步逼近极值。
对应到EM上,E步估计隐含变量,M步估计其他参数,交替将极值推向最大。
EM中还有“硬”指定和“软”指定的概念,“软”指定看似更为合理,但计算量要大,“硬”指定在某些场合如K-means中更为实用(要是保持一个样本点到其他所有中心的概率,就会很麻烦)。
另外,EM的收敛性证明方法确实很牛,能够利用log的凹函数性质,还能够想到利用创造下界,拉平函数下界,优化下界的方法来逐步逼近极大值。
而且每一步迭代都能保证是单调的。
最重要的是证明的数学公式非常精妙,硬是分子分母都乘以z的概率变成期望来套上Jensen不等式,前人都是怎么想到的。
在Mitchell的Machine Learning书中也举了一个EM应用的例子,明白地说就是将班上学生的身高都放在一起,要求聚成两个类。
这些身高可以看作是男生身高的高斯分布和女生身高的高斯分布组成。
因此变成了如何估计每个样例是男生还是女生,然后在确定男女生情况下,如何估计均值和方差,里面也给出了公式,有兴趣可以参考。