EM算法的应用——GMM的参数估计

        EMExpectation-maximization算法是机器学习十大算法之一。它是一种从不完全数据或有数据丢失的数据集(存在隐含变量)中求解概率模型参数的最大似然估计方法。EM算法的数学推理可以参考网址http://www.isclab.org.cn/archives/2014/12/2918.html,本章内容将以GMM模型展开。在文章最开始我们先来明确下参数估计的含义:参数估计(parameter estimation)是根据从总体中抽取的样本估计总体分布中包含的未知参数的方法。会先假定研究的问题具有某种数学模型。

高斯混合模型(Gasssian mixture model,简称GMM)是单高斯概率密度函数的延伸,由于GMM能够平滑地近似任意形状的密度分布,近几年来在语音辨别、图像识别等方向有不错的效果。这里将从单高斯概率密度函数开始讲起。

1.单高斯概率密度函数

假设有一组维度为d的样本点EM算法的应用——GMM的参数估计, i=1…n,具有近似椭球状的分布,我们可以用高斯密度函数EM算法的应用——GMM的参数估计来描述产生这些点的概率密度函数:

EM算法的应用——GMM的参数估计

其中μ为该密度函数的均值(d维列向量),EM算法的应用——GMM的参数估计为该密度函数的协方差矩阵。这两个参数值的确定可以使得该概率密度函数有效描述样本点的分布状况。

2.高斯混合概率密度函数

若样本点 EM算法的应用——GMM的参数估计在d维空间中的分布不为椭球状,那么单高斯密度函数就不适合用来描述这些样本点的概率密度函数。于是采用一种方法来表示,多个高斯密度函数的加权平均。由此得到高斯混合模型的概率密度函数的分布模型:

EM算法的应用——GMM的参数估计

由公式我们可以看出,每一个GMM由k个Gaussian 分布组成,每一个Gaussian 称为一个“Component”,这些 Component线性加成在一起就组成了 GMM 的概率密度函数。其中 EM算法的应用——GMM的参数估计是第k个Component的系数,EM算法的应用——GMM的参数估计的值可以确定第k个Component的Gaussian 分布。所以我们需要确定的参数EM算法的应用——GMM的参数估计和系数EM算法的应用——GMM的参数估计。到此,我们知道GMM是怎么组成的,那么当有一组需要用GMM描述的数据时,我们如何确定这个模型的参数?这些参数代表的含义?

3.高斯混合模型参数估计的EM算法

重点来了,EM算法的用武之地。模型参数的求解是如何和EM算法相互联系的?对我们来说样本点X是不完全数据,因为我们不知道样本点 X来自哪个Component。所以这里的存在隐变量,我们用 EM算法的应用——GMM的参数估计表示,其定义如下:

EM算法的应用——GMM的参数估计

EM算法的应用——GMM的参数估计是0-1随机变量。

从这里开始,我们可以把EM算法的原理应用到GMM的参数估计上。首先,我们明确隐变量,写出完全数据的对数似然函数。此时完全数据为EM算法的应用——GMM的参数估计,i=1,2…,n 。之后,是EM算法的E步,确定EM算法的应用——GMM的参数估计函数,其公式为:

EM算法的应用——GMM的参数估计

     这里需要计算 EM算法的应用——GMM的参数估计,记为EM算法的应用——GMM的参数估计,其具体的公式将算法流程中写出。最后,我们确定EM算法的M步。迭代的M步是求函数EM算法的应用——GMM的参数估计的极大值,即求新一轮迭代的模型参数:

EM算法的应用——GMM的参数估计

我们用EM算法的应用——GMM的参数估计,EM算法的应用——GMM的参数估计,EM算法的应用——GMM的参数估计表示EM算法的应用——GMM的参数估计的各参数。对于 EM算法的应用——GMM的参数估计,EM算法的应用——GMM的参数估计我们可以通过将EM算法的应用——GMM的参数估计分别对 EM算法的应用——GMM的参数估计,EM算法的应用——GMM的参数估计求偏导数并令其为0,即可得到;EM算法的应用——GMM的参数估计 是在求和为1的条件下求偏导数并令其为0得到的。其具体的公式我们同样在算法流程中写出。

3.1 GMM参数估计的EM算法流程

Input:   观测数据(n个),高斯混合模型(预设参数,k个分模型)。

Output:高斯模型参数(EM算法的应用——GMM的参数估计,EM算法的应用——GMM的参数估计,EM算法的应用——GMM的参数估计,EM算法的应用——GMM的参数估计

1)取参数的初始值开始迭代

2)E步:依据当前模型参数,计算各 Component对样本点EM算法的应用——GMM的参数估计的响应度

EM算法的应用——GMM的参数估计

3)M步:计算新一轮迭代的模型参数

EM算法的应用——GMM的参数估计

这里k=1,2, …K

4)重复以上两步,直到收敛。

3.2GMM参数估计的几点说明

由于GMM参数估计是EM算法的应用,所以在EM算中需要说明的几点内容在这里进行简单介绍:

步骤1,参数的初值可以任意选择,但需要注意算法对初值是敏感的;

步骤2,E步求Q函数.每次迭代实际在求Q函数及其极大;

步骤3,M步求Q函数的极大化,完成一次迭代.每次迭代使似然函数增大或达到局部极值;

步骤4,给出停止迭代条件,一般是满足:

EM算法的应用——GMM的参数估计

其中EM算法的应用——GMM的参数估计EM算法的应用——GMM的参数估计为较小的正数。

除此之外,我们所求的各参数具体有什么含义?下面对参数指标进行简单介绍:

EM算法的应用——GMM的参数估计:当前模型参数下第i个观测数据来自第k个分模型的概率,这对应前面提到的响应度问题。此参数值作为重要指标用在对样本聚类分析上。

EM算法的应用——GMM的参数估计:第k个Component的均值,其度量和样本度量一样。

EM算法的应用——GMM的参数估计:第k个Component的方差,样本分布的走向,宽窄等需要它来描述。

EM算法的应用——GMM的参数估计:第k个Component的系数,用另一种方式理解就是样本点来自第k个Component的概率。

4. GMM和K-means的区别

最后,在这里给大家说一下两者的区别。作为两种可以聚类的方法,大家经常会说明两者的区别。GMM和k-means其实是十分相似的,区别仅仅在于对GMM来说,引入了概率。用GMM的优点是投影后样本点不是得到一个确定的分类标记,而是得到每个样本点属于每个类的概率。所以在聚类分析划分簇(Component)的时候k-means将每个样本点指定一个簇的时候,该样本点对其他簇没有任何影响;而GMM中每个样本点都有对应各簇的概率值,故样本点对每一个簇都有影响。这就是soft assignment(GMM)和hard assignment(k-means)。此外,GMM不仅可以用在聚类上,也可以用在概率密度估计上。

以上内容参考来源广泛,难免有理解错误的地方,敬请指正。另外由于忘记出处,部分内容没有附加参考文献,敬请海涵。

 

参考资料:

[1]《Pattern Recognition And Machine Learning》

[2]李航.统计学习方法[M].北京:清华大学出版社,2012.162-165.

[3]http://blog.pluskid.org/?p=39

[4]http://www.cnblogs.com/zfyouxi/p/4004031.html

[5]http://www.cnblogs.com/jerrylead/archive/2011/04/06/2006936.html

程慧

2014.12.10

原创文章,作者:admin,如若转载,请注明出处:https://www.isclab.org.cn/2014/12/11/em%e7%ae%97%e6%b3%95%e7%9a%84%e5%ba%94%e7%94%a8-gmm%e7%9a%84%e5%8f%82%e6%95%b0%e4%bc%b0%e8%ae%a1/

(1)
adminadmin
上一篇 2014年12月7日 上午10:55
下一篇 2014年12月19日 下午1:42

相关推荐

  • 缓冲区溢出漏洞浅析

    1.认识漏洞   1.1.漏洞的定义 百度:漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统。 Wikip…

    2014年10月21日
    3.4K
  • 数据挖掘项目实战

          数据挖掘项目实战,主要以kaggle竞赛平台Titanic生存预测为例详细讲解数据挖掘项目的工作流程,具体包…

    学术报告 2018年5月2日
    2.5K
  • 网络未知协议逆向技术

    网络协议逆向技术是指根据网络流量数据包进行静态分析,推断其所属协议的字段信息、报文格式、交互模式等信息。针对互联网中存在的大量未知(私有)协议进行逆向分析,发现潜在安全漏洞,对维护…

    2024年12月23日
    3.0K
  • Web应用漏洞挖掘技术研究

    该报告系统探讨了基于黑盒扫描的Web应用漏洞挖掘技术。报告重点分析了两项前沿工作:YuraScanner利用大语言模型(LLM)理解网站功能并自主执行任务流,以探索传统扫描器难以触…

    2026年4月27日
    1.7K
  • Weakness Identification of Binary Program Function of Pseudo-code by Incorporating Structure and Sequence Information with Attention-Residual Connections

    The research objectives are toidentify weaknesses in binary program functions and combine …

    2023年7月4日
    2.6K
  • 数据挖掘

    Bias-Variance trade-off 启发式参数优化算法举例 参数寻优:梯度下降/牛顿下降法 追根溯源 频繁项集算法分析 并查集算法及其在约束传递中的应用 Floyd解决…

    学术报告 2014年10月18日
    2.6K
  • 从任务划分就开始与众不同的元学习

    meta-learning即元学习,也可以称为“learning to learn”。常见的深度学习模型,目的是学习一个用于预测的数学模型。而元学习面向的不是学习的结果,而是学习的…

    2022年10月3日
    2.4K
  • 函数级漏洞检测

    本次报告讲述漏洞检测相关基本概念,源码级漏洞检测的一般步骤,主要从关键点选取、代码切片、代码表示等几个方面讲解源码漏洞检测方法,主要针对泛化性、多类型漏洞检测问题进行研究。

    2022年10月30日
    2.4K
  • 走近特定音频识别(之三)—— 检索 Vs 识别

    在说明计算机如何进行特定音频识别这个问题之前,我们有必要对两个我们经常接触到的概念加以区分——“检索”和“识别”。     刚刚接触音频信号处理的朋友们常常会混淆这两个概念,本人刚…

    学术报告 2014年10月25日
    2.2K
  • 论辩挖掘领域观点对识别以及抽取方法

    随着社交媒体、论坛产生的用户生成数据不断增长,从大规模信息流中发现、分离和分析论点的需求凸显了论辩挖掘的重要性。本次报告旨在了解此领域经典的系统处理流程,掌握观点对识别和抽取任务定…

    2022年6月20日
    2.6K