高斯分布、高斯混合模型、EM算法详细介绍及其原理详解

这篇具有很好参考价值的文章主要介绍了高斯分布、高斯混合模型、EM算法详细介绍及其原理详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

相关文章

  1. K近邻算法和KD树详细介绍及其原理详解
  2. 朴素贝叶斯算法和拉普拉斯平滑详细介绍及其原理详解
  3. 决策树算法和CART决策树算法详细介绍及其原理详解
  4. 线性回归算法和逻辑斯谛回归算法详细介绍及其原理详解
  5. 硬间隔支持向量机算法、软间隔支持向量机算法、非线性支持向量机算法详细介绍及其原理详解
  6. 高斯分布、高斯混合模型、EM算法详细介绍及其原理详解


前言

  今天给大家带来的主要内容包括:高斯分布,高斯混合模型,EM算法。废话不多说,下面就是本文的全部内容了!


一、高斯分布

  小明是一所大学的老师,一次考试结束后,小明在统计两个班级同学的成绩:

高斯分布、高斯混合模型、EM算法详细介绍及其原理详解

图1:两个班级同学的成绩

  其中,橙色的是一班的成绩,蓝色的是二班的成绩。但是,这次同学们非常调皮,都没有写上自己的名字和班级,这下给小明整不会了。他想:我能不能去猜一猜这些成绩里面,哪些是一班的,而哪些是二班的呢?

高斯分布、高斯混合模型、EM算法详细介绍及其原理详解

图2:两个班级同学没有在试卷上写自己的名字和班级

  根据以往的经验,大多同学的成绩都分布在平均值左右,只有少数的同学考的非常好或者是非常不好,我们把这种概率分布叫做高斯分布:

高斯分布、高斯混合模型、EM算法详细介绍及其原理详解

图3:高斯分布

  描述高斯分布需要使用到两个参数:

  • μ \mu μ:描述数据的平均值,也被称为均值
  • σ 2 \sigma^{2} σ2:描述数据的离散程度,也被称为方差

高斯分布、高斯混合模型、EM算法详细介绍及其原理详解

图4:高斯分布的两个参数

  高斯分布的概率密度公式为:
P ( x ; μ , σ 2 ) = 1 2 π σ exp ⁡ ( − ( x − μ ) 2 2 σ 2 ) P(x;\mu,\sigma^2)=\dfrac{1}{\sqrt{2\pi}\sigma}\exp(-\dfrac{(x-\mu)^2}{2\sigma^2}) P(x;μ,σ2)=2π σ1exp(2σ2(xμ)2)

二、高斯混合模型

  现在我们已经清楚了什么是高斯分布,那让我们再回到小明的例子:

高斯分布、高斯混合模型、EM算法详细介绍及其原理详解

图5:两个班级同学没有在试卷上写自己的名字和班级

  因为这是两个班级的成绩,所以小明尝试使用两个高斯分布来拟合:
P ( x ∣ γ 1 ) = 1 2 π σ 1 exp ⁡ ( − ( x − μ 1 ) 2 2 σ 1 2 ) P ( x ∣ γ 2 ) = 1 2 π σ 2 exp ⁡ ( − ( x − μ 2 ) 2 2 σ 2 2 ) \begin{array}{c}P(x|\gamma_{1})=\dfrac{1}{\sqrt{2\pi}\sigma_1}\exp(-\dfrac{(x-\mu_1)^2}{2\sigma_1^2})\\ P(x|\gamma_{2})=\dfrac{1}{\sqrt{2\pi}\sigma_2}\exp(-\dfrac{(x-\mu_2)^2}{2\sigma_2^2})\end{array} P(xγ1)=2π σ11exp(2σ12(xμ1)2)P(xγ2)=2π σ21exp(2σ22(xμ2)2)
  这样的模型也被称为高斯混合模型。 在这个模型里面:

  • 如果我们知道哪些点来自一班或者是来自二班,那么我们就可以计算出来各自班级成绩的平均值和方差
  • 如果我们知道各自班级成绩的平均值和方差,我们也可以大概猜出来哪些点是来自一班的,哪些点是来自二班的

  这其实是一个鸡生蛋,蛋生鸡的问题:

高斯分布、高斯混合模型、EM算法详细介绍及其原理详解

图6:数据与分布的关系

  如果我们有数据就可以来拟合分布,如果我们有了概率分布,就可以来判断数据的类别。但是,问题是我们现在什么都没有,应该怎么办呢?

三、EM算法

  根据以上分析,我们现在什么数据都没有,还想对成绩进行分类,显然是有难度的。我们应该怎么办呢?既然我们没有数据,不如先做一个合适的假设来确定一部分的值。现在我们假设两个分布是这样的:

高斯分布、高斯混合模型、EM算法详细介绍及其原理详解

图7:假设的两个班级的成绩分布

  而且两个类别的先验概率是相等的。需要注意的是,以上这些都是假设,但是由于这些假设的存在,所以下式的值就是已知的量:
P ( γ 1 ) = P ( γ 2 ) = 0.5 P(\gamma_{1})=P(\gamma_{2})=0.5 P(γ1)=P(γ2)=0.5

3.1 E步骤(Expectation)

  现在我们来评估一下每个成绩点是属于哪个班级的,对于第 i i i个数据 x i x_{i} xi来说:

高斯分布、高斯混合模型、EM算法详细介绍及其原理详解

图8:许多成绩点中的某一个成绩点

  根据贝叶斯定理, x i x_{i} xi属于一班的概率是这样求的:
γ i 1 = P ( γ i ∣ x i ) = P ( x i ∣ γ 1 ) P ( γ 1 ) P ( x i ∣ γ 1 ) P ( γ 1 ) + P ( x i ∣ γ 2 ) P ( γ 2 ) \gamma_{i1}=P(\gamma_i|x_i)=\dfrac{P(x_i|\gamma_1)P(\gamma_1)}{P(x_i|\gamma_1)P(\gamma_1)+P(x_i|\gamma_2)P(\gamma_2)} γi1=P(γixi)=P(xiγ1)P(γ1)+P(xiγ2)P(γ2)P(xiγ1)P(γ1)
  上面的式子看似复杂,但是其中的每一项现在都是已知的,直接计算就可以了。现在已经得到了 x i x_{i} xi属于一班的概率,那么 x i x_{i} xi属于二班的概率就是1减去 x i x_{i} xi属于一班的概率:
γ i 2 = P ( γ 2 ∣ x i ) = 1 − γ i 1 \gamma_{i2}=P(\gamma_{2}|x_{i})=1-\gamma_{i1} γi2=P(γ2xi)=1γi1
  这样我们就可以给每一个点涂上对应的颜色,来表示它们可能属于的班级:

高斯分布、高斯混合模型、EM算法详细介绍及其原理详解

图9:对于任意一个成绩点的可能属于的班级

  这一步被称为E步骤(Expectation),可以理解为求每一个点属于每个类别的期望值。

3.2 M步骤(Maximization)

  此时,我们已经得到了每一个点属于每个班级的可能性,我们就可以重新校准两个班级的高斯分布了,也就是重新计算两个班级的平均值和方差:

  • 一班:
    μ 1 = γ 11 x 1 + γ 21 x 1 + … + γ N 1 x N γ 11 + γ 21 + … + γ N 1 σ 1 2 = γ 11 ( x 1 − μ 1 ) 2 + … + γ N 1 ( x N − μ 1 ) 2 γ 11 + … + γ N 1 \begin{array}{l}\mu_1=\frac{\gamma_{11}x_1+\gamma_{21}x_1+\ldots+\gamma_{N1}x_N}{\gamma_{11}+\gamma_{21}+\ldots+\gamma_{N1}}\\ \sigma_1^2=\frac{\gamma_{11}(x_1-\mu_1)^2+\ldots+\gamma_{N1}(x_N-\mu_1)^2}{\gamma_{11}+\ldots+\gamma_{N1}}\end{array} μ1=γ11+γ21++γN1γ11x1+γ21x1++γN1xNσ12=γ11++γN1γ11(x1μ1)2++γN1(xNμ1)2

  • 二班:
    μ 2 = γ 12 x 1 + γ 22 x 1 + … + γ N 2 x N γ 12 + γ 22 + … + γ N 2 σ 2 2 = γ 12 ( x 1 − μ 2 ) 2 + … + γ N 2 ( x N − μ 2 ) 2 γ 12 + … + γ N 2 \begin{array}{l}\mu_2=\frac{\gamma_{12}x_1+\gamma_{22}x_1+\ldots+\gamma_{N2}x_N}{\gamma_{12}+\gamma_{22}+\ldots+\gamma_{N2}}\\ \sigma_2^2=\frac{\gamma_{12}(x_1-\mu_2)^2+\ldots+\gamma_{N2}(x_N-\mu_2)^2}{\gamma_{12}+\ldots+\gamma_{N2}}\end{array} μ2=γ12+γ22++γN2γ12x1+γ22x1++γN2xNσ22=γ12++γN2γ12(x1μ2)2++γN2(xNμ2)2

  同时,也可以更新两个班级的先验概率:

  • 一班:
    P ( γ 1 ) = γ 11 + … + γ N 1 N P(\gamma_1)=\frac{\gamma_{11}+\ldots+\gamma_{N1}}{N} P(γ1)=Nγ11++γN1

  • 二班:
    P ( γ 2 ) = γ 12 + … + γ N 2 N P(\gamma_2)=\frac{\gamma_{12}+\ldots+\gamma_{N2}}{N} P(γ2)=Nγ12++γN2

  这一步被称为M步骤(Maximization),可以理解为,通过当前的数据求出最可能的分布参数。

3.3 EM算法

  以上两个步骤合起来就是EM算法。当然,算法还没有结束,我们现在只是通过E和M两个步骤求出了两个班级的成绩分布的新的平均值和方差:

高斯分布、高斯混合模型、EM算法详细介绍及其原理详解

图10:两个班级新的成绩分布图像

  后面的工作就是重复E和M两个步骤:

  • E步骤:根据两个班级的成绩分布更新点属于两个班级的可能性
  • M步骤:更新两个班级的成绩分布的平均值和方差

  一直重复以上两个步骤,直到两个成绩分布收敛不再被更新:

高斯分布、高斯混合模型、EM算法详细介绍及其原理详解

图11:收敛后的两个班级的成绩分布图像

  这样我们就得到了一个还不错的分类效果:

高斯分布、高斯混合模型、EM算法详细介绍及其原理详解

图12:通过EM算法得到的分类结果

  虽然和真实数据相比仍然有误差,不过也可以猜的八九不离十了:

高斯分布、高斯混合模型、EM算法详细介绍及其原理详解

图13:真实的分类情况

  这样,通过EM算法,小明的问题就可以被解决了。


总结

  以上就是本文的全部内容了,学习EM算法还需要一些概率论与数理统计和高等数学的相关知识,所以读者最好提前温习一下。学习机器学习避免不了学习高等数学、线性代数、概率论与数理统计和矩阵论,所以读者一定要好好学习这几门课程!文章来源地址https://www.toymoban.com/news/detail-456339.html

到了这里,关于高斯分布、高斯混合模型、EM算法详细介绍及其原理详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • (一)连续随机数的生成-从混合高斯分布中采样

    Example 1 : Mixture of Gaussian distribution Let X 1 ∼ N ( μ 1 , σ 1 2 ) , X 2 ∼ N ( μ 2 , σ 2 2 ) X_1 sim Nleft(mu_1, sigma_1^2right), X_2 sim Nleft(mu_2, sigma_2^2right) X 1 ​ ∼ N ( μ 1 ​ , σ 1 2 ​ ) , X 2 ​ ∼ N ( μ 2 ​ , σ 2 2 ​ ) with σ 1 0 sigma_10 σ 1 ​ 0 and σ 2 0 sigma_20 σ 2 ​ 0 , and let X 1 X_1 X 1 ​

    2024年02月11日
    浏览(10)
  • 混合高斯模型的应用与理解

    混合高斯模型数学表达 混合高斯模型是一种概率模型,用于对包含多个高斯分布的数据进行建模。在混合高斯模型中,假设观测数据是由多个高斯分布组合而成的,每个高斯分布称为一个分量。每个观测数据点都由这些分量中的某一个生成,但具体是哪一个分量生成的则是不

    2024年01月24日
    浏览(13)
  • 使用高斯混合模型进行聚类

            高斯混合模型 (GMM) 是一种基于概率密度估计的聚类分析技术。它假设数据点是由具有不同均值和方差的多个高斯分布的混合生成的。它可以在某些结果中提供有效的聚类结果。         K 均值聚类算法在每个聚类的中心周围放置一个圆形边界。当数据具有圆

    2024年02月09日
    浏览(15)
  • 变分贝叶斯应用于高斯混合模型

        《Pattern Recognition and Machine Learning(模式识别与机器学习)》这本书有配套的matlab的程序(网址为prml源码)。第十章包括变分贝叶斯方法计算高斯混合模型的详细介绍。另外,源码里面包括变分贝叶斯计算高斯混合模型的例子。     其中的变分贝叶斯方法较为复

    2024年02月05日
    浏览(16)
  • 详解高斯混合聚类(GMM)算法原理

    详解高斯混合聚类(GMM)算法原理 摘要:高斯混合聚类(GMM)是一种聚类算法,可以用来对数据进行分类。GMM算法假设数据点是由一个或多个高斯分布生成的,并通过最大似然估计的方法来估计每个簇的高斯分布的参数。在实际应用中,GMM聚类算法可以用于许多领域。例如,使用

    2024年02月10日
    浏览(16)
  • KMeans算法与GMM混合高斯聚类

    K-Means是GMM的特例(硬聚类,基于原型的聚类)。假设多元高斯分布的协方差为0,方差相同。   K-Means算法思想 对于给定的样本集,按照样本间的距离,将样本集划分为K个簇。 簇内的点尽量紧密连接,而簇间的距离尽量的大。 本质上是个组合优化问题, 类似于将N个球分配到

    2023年04月16日
    浏览(14)
  • PyTorch深度学习实战 | 高斯混合模型聚类原理分析

    为理解高斯混合模型解决聚类问题的原理,本实例采用三个一元高斯函数混合构成原始数据,再采用GMM来聚类。 1) 数据 三个一元高斯组件函数可以采用均值和协方差表示如表1所示: ▍表1 三个一元高斯组件函数的均值和协方差 每个高斯组件函数分配不同的权重,其中1号组

    2024年02月01日
    浏览(16)
  • 【MATLAB第61期】基于MATLAB的GMM高斯混合模型回归数据预测

    高斯混合模型GMM广泛应用于数据挖掘、模式识别、机器学习和统计分析。其中,它们的参数通常由最大似然和EM算法确定。 关键思想是使用高斯混合模型对数据(包括输入和输出)的联合概率密度函数进行建模。 文献参考:https://doi.org/10.1016/j.specom.2012.06.005。 使用工具箱ne

    2024年02月15日
    浏览(13)
  • 基于高斯混合模型聚类的风电场短期功率预测方法(Python&matlab代码实现)

    💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 2.1 Python 2.2 Matlab 🎉3 参考文献 🌈4 Matla

    2024年02月15日
    浏览(13)
  • 朴素贝叶斯算法和拉普拉斯平滑详细介绍及其原理详解

    K近邻算法和KD树详细介绍及其原理详解 朴素贝叶斯算法和拉普拉斯平滑详细介绍及其原理详解 决策树算法和CART决策树算法详细介绍及其原理详解 线性回归算法和逻辑斯谛回归算法详细介绍及其原理详解 硬间隔支持向量机算法、软间隔支持向量机算法、非线性支持向量机算

    2024年02月04日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包