EM算法 估计混合高斯模型参数 Python实现

EM算法是一种用来解决含有隐变量问题的算法,混合高斯模型中对于某个数据我们并不知道是来自于哪个模型,因此可以视为隐

变量,故可以采用隐含高斯模型来求解,混合高斯模型的具体推导可以参考《统计学习方法》9.3章节这里不给出详细的推导公式,其实就是参数的迭代,首先写出Q函数,然后再极大化Q函数得到迭代公式

输入数据:datain=[-64,-48,6,8,14,16,23,24,28,29,41,49,56,60,75]

这里假设数据来源于两个高斯模型的混合,算法目标是估计每个模型的权重、期望和方差

程序运行结果

上面直方图表示输入数据的频率,曲线图红色表示两个高斯模型叠加的概率分布

总结:迭代40次的时候,参数已经收敛

初值不同,运行得到的参数结果也不同,这也说明EM算法只能保证局部最优

对于参数初值的选择有不同的策略,常见的策略有:

1:选取正负实例的均值和方差

2:随机选取,大多数情况下是有效的,还可以多次选取,最后取拟合最好                           的那组初值

3:Neal和Hinton等在论文中讨论了不同的初值选取策略

EM算法 估计混合高斯模型参数 Python实现相关推荐

  1. EM算法推断混合高斯模型参数

    EM算法推断混合高斯模型参数 写在前面 随机生成混合高斯模型的数据 EM算法估计混合高斯分布的参数 初始化, E步骤 EM算法,M步骤 测试脚本 画出随机产生的数据的实际分布 画出推断得到的分布 写在 ...

  2. 语音识别学习日志 2019-7-14 语音识别基础知识准备2 {EM算法与混合高斯模型(Gaussian mixture model, GMM)}

    https://blog.csdn.net/lin_limin/article/details/81048411会对GMM和EM做详细介绍 本文参考: http://www.ituring.com.c ...

  3. 详解EM算法与混合高斯模型(Gaussian mixture model, GMM)

    最近在看晓川老(shi)师(shu)的博士论文,接触了混合高斯模型(Gaussian mixture model, GMM)和EM(Expectation Maximization)算法,不禁被论文中 ...

  4. 详解EM算法与混合高斯模型

    https://blog.csdn.net/lin_limin/article/details/81048411 https://blog.csdn.net/jinping_shi/article/d ...

  5. 基于Python实现k-means算法和混合高斯模型

    1. 实验目的 实现一个 k-means 算法和混合高斯模型,并且用 EM 算法估计模型中的参数. 2. 实验要求 用高斯分布产生 k 个高斯分布的数据(不同均值和方差)(其中参数自己设定). 用 k ...

  6. 最大期望算法与混合高斯模型的推导

    1. 引言:Maximization likelihood-Convex function 2. Expectation-Maximization Algorithm 3. Gaussian Mixt ...

  7. 使用EM算法估计GMM参数的原理及matlab实现

    相关数学概念 协方差矩阵 多维高斯分布 其中k=n,即x的维度. GMM的原理 GMM,高斯混合模型,是一种聚类算法. 1.GMM概念: -将k个高斯模型混合在一起,每个点出现的概率是几个高斯混合的结 ...

  8. 混合高斯模型介绍以及应用

    混合高斯模型 1. 单一的高斯模型(Gaussian single model, GSM) 2. 混合高斯模型(GMM模型) 2.1 混合高斯模型直观上的理解和描述 2.2 极大似然估计(Maximu ...

  9. opencv背景建模(混合高斯模型)

    背景建模 帧差法 由于场景中的目标在运动,目标的影像在不同图像帧中的位置不同.该类算法对时间上连续的两帧图像进行差分运算,不同帧对应的像素点相减,判断灰度差的绝对值,当绝对值超过一定阈值时,即可判断为 ...

最新文章

  1. 【UE5】虚幻引擎5中的VFX游戏特效制作学习教程
  2. C 语言编程 — typedef 关键字
  3. 拥抱开源IaaS云平台:360度盘点OpenStack
  4. 用mac的python写网络爬虫_在mac下使用python抓取数据
  5. C语言之局部变量全局变量变量存储方式
  6. HDU - 5763 Another Meaning
  7. IDA动态调试SO文件
  8. pyhton根据城市名称获取省份名称
  9. java压缩文件解压失败_java安装 解压缩核心文件失败
  10. 实验二 任务二 体重测量
  11. 第二讲:云分类及服务模式
  12. 区块链是什么,如何简单易懂地介绍区块链
  13. 弘辽科技:拼多多新手该如何提升直通车权重?
  14. 用Go建千亿级微服务 分析详细,适合新手理解概念
  15. Git内部原理之深入解析环境变量
  16. 华南理工大学电气考研经验贴
  17. diskgenius分区教程(diskgenius分区教程)
  18. 【OpenGL】平面法向量、顶点法向量的计算方法
  19. Java基础:Ubuntu20.04下JDK1.8安装+配置
  20. 达梦数据库开启sql日志及配置

热门文章

  1. 数据探索性分析(EDA)——异常值处理
  2. 2022年最佳便携式显示器:随时随地尽享工作乐趣
  3. 杂谈——正则表达式:去除所有括号以及括号中的内容
  4. 【转载】新一代ESD保护器件不再需要VCC连接
  5. 如何使用 JavaScript 创建水平和垂直标签?
  6. Unity学习 渲染管线介绍
  7. C++优化之使用emplace、emplace_back
  8. linux系统下怎么安装.deb文件?
  9. HackTheBox - Brainfuck Write Up
  10. cv2 python 获取斑马线_opencv 斑马线,条纹检测