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

news2024/9/23 1:42:30

相关文章

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

文章目录

  • 相关文章
  • 前言
  • 一、高斯分布
  • 二、高斯混合模型
  • 三、EM算法
    • 3.1 E步骤(Expectation)
    • 3.2 M步骤(Maximization)
    • 3.3 EM算法
  • 总结


前言

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


一、高斯分布

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

请添加图片描述

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

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

请添加图片描述

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

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

请添加图片描述

图3:高斯分布

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

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

请添加图片描述

图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)

二、高斯混合模型

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

请添加图片描述

图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)
  这样的模型也被称为高斯混合模型。 在这个模型里面:

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

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

请添加图片描述

图6:数据与分布的关系

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

三、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来说:

请添加图片描述

图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
  这样我们就可以给每一个点涂上对应的颜色,来表示它们可能属于的班级:

请添加图片描述

图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两个步骤求出了两个班级的成绩分布的新的平均值和方差:

请添加图片描述

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

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

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

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

请添加图片描述

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

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

请添加图片描述

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

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

请添加图片描述

图13:真实的分类情况

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


总结

  以上就是本文的全部内容了,学习EM算法还需要一些概率论与数理统计和高等数学的相关知识,所以读者最好提前温习一下。学习机器学习避免不了学习高等数学、线性代数、概率论与数理统计和矩阵论,所以读者一定要好好学习这几门课程!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/392344.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【备战面试】每日10道面试题打卡-Day5

本篇总结的是计算机网络知识相关的面试题,后续也会更新其他相关内容 文章目录1、计算机网络的各层协议及作用是什么?2、简述一下DNS的工作流程3、TCP与UDP有什么区别?4、TCP协议如何保证可靠传输5、拥塞控制机制是什么?6、HTTP 与…

朋友去华为面试,轻松拿到26K的Offer,羡慕了......

最近有朋友去华为面试,面试前后进行了20天左右,包含4轮电话面试、1轮笔试、1轮主管视频面试、1轮hr视频面试。 据他所说,80%的人都会栽在第一轮面试,要不是他面试前做足准备,估计都坚持不完后面几轮面试。 其实&…

应用层与传输层~

文章目录应用层自定义应用层协议什么是自定义应用层协议自定义方式运输层运输层概述运输层特点运输层协议UDP协议UDP的特点UDP首部格式校验规则TCP协议TCP的特点TCP协议段格式TCP的性质确认序号超时重传连接管理三次握手四次挥手TCP的状态滑动窗口流量控制拥塞控制延迟应答捎带…

linux笔记(10):ubuntu环境下,基于SDL2运行lvgl+ffmpeg播放mp4

文章目录1.ubuntu安装ffmpeg1.1 源码安装1.1 克隆ffmpeg源码1.2 配置编译条件,编译,安装1.2 直接安装依赖包2.下载lvgl源码2.1 测试原始代码2.2 运行lv_example_ffmpeg_2()例程2.2.1 配置 LV_USE_FFMPEG 为 12.2.2 lv_example_ffmpeg_2()替换lv_demo_wid…

C++核心知识(二)—— 类和对象(类的封装)、对象的构造和析构(浅拷贝、深拷贝、explicit、动态分配内存)

【上一篇】C核心知识(一)—— C概述、C对C的扩展(作用域、struct类型、引用、内联函数、函数默认参数、函数占位参数、函数重载)【下一篇】C核心知识(三)—— 静态成员(变量、函数、const成员)、面向对象模型(this指针、常函数、常…

linux安装pycharm

linux安装pycharm1.下载相关软件包2. 安装步骤2.1 解压文件2.2 开启命令2.4 创建快捷方式官网链接 https://www.jetbrains.com/pycharm/download/#sectionlinux 1.下载相关软件包 找到自己下载的版本下载 2. 安装步骤 2.1 解压文件 进入压缩包路径 解压文件【我指定了解…

设计模式-第10章(建造者模式)

建造者模式建造者模式建造者模式解析建造者模式的基本代码结构建造者模式 建造者模式(Builder),将一个复杂对象的构建和表示分离,使得同样的构建过程可以创建不同的表示。 如果我们用了建造者模式,那么用户就只需指定…

欢乐消除开心假日协议解密

欢乐消除开心假日协议解密协/议/流/量/解/密分析欢乐消除开心假日这款游戏流量的协议加密方式。序欢乐消除开心假日是一款合成模拟家装的游戏,在这个游戏中,你将成为一位充满热情的设计师,与好友一起经营工作室。你需要根据客户的需求重新设计…

详解PyTorch Tensor 数据类型——张量

目录 张量 张量的结构 张量的创建 张量的操作 数学运算 逻辑运算 形状操作 索引和切片 张量的维度变换 常见的数据类型存储 附录PyTorch官方API中文文档 张量 在PyTorch中,张量(Tensor)是一种常见的数据类型,它是一个…

如何快速将多图片合并拼接成一张大图并保留原图质量 - 极速图片合成拼接器软件简介

在工作中我们有时需要把多张图片打印在一张纸上,那就必须手动排列和调整每张图片的大小,这可是一项费时费力的任务。 借助极速图片合成拼接器这款软件,终于可以快速自动解决这种任务啦! 它是一款可以自动一次性将多个图像文件合并…

Jenkins部署angular11自动打包

可能年纪大了,对于新东西的学习和接收有点慢,花了差不多一周的时间,终于把jenkins配置好了,可以自动打包,与手动打出来的一样,以后就解放双手了。#!/bin/bashnpm cache clean -fnpm -vnode -vnpm install n…

ubuntu 18.04.06LST安装R4.0+版本报错及解决过程

1. sudo apt-get update无法正常使用 错误:13 http://ppa.launchpad.net/webupd8team/sublime-text-3/ubuntu bionic Release 404 Not Found [IP: 2620:2d:4000:1::3e 80] 解决措施:删除 webupd8team/sublime-text-3这个ppa文件。 sudo add-apt-repository --…

MySQL调优 - SQL查询深度分页问题

一、问题引入 例如当前存在一张表test_user,然后往这个表里面插入3百万的数据: CREATE TABLE test_user (id int(11) NOT NULL AUTO_INCREMENT COMMENT 主键id,user_id varchar(36) NOT NULL COMMENT 用户id,user_name varchar(30) NOT NULL COMMENT 用…

嵌入式学习笔记——寄存器开发STM32 GPIO口

寄存器开发STM32GPIO口前言认识GPIOGPIO是什么GPIO有什么用GPIO怎么用STM32上GPIO的命名以及数量GPIO口的框图(重点)输入框图解析三种输入模式GPIO输入时内部器件及其作用1.保护二极管2.上下拉电阻(可配置)3.施密特触发器4.输入数…

什么是CatGPT-使用效果如何-

个人使用效果,评分优,足以满足教学和填表。程序媛借助CatGPT(ChatGPT更佳),基本上可以秒杀不用此类工具的程序猿(男)!!!问:为什么使用AIGC能大幅度…

79、ClimateNeRF: Physically-based Neural Rendering for Extreme Climate Synthesis

简介主页物理模拟可以很好地预测天气影响。神经辐射场产生SOTA场景模型。ClimateNeRF 允许我们渲染真实的天气效果,包括雾霾、雪和洪水 ,结果可以通过有物理意义的变量来控制,比如水位 ,这允许人们可视化气候变化的结果将对他们产…

2022年MathorCup数学建模B题无人仓的搬运机器人调度问题解题全过程文档加程序

2022年第十二届MathorCup高校数学建模 B题 无人仓的搬运机器人调度问题 原题再现 本题考虑在无人仓内的仓库管理问题之一,搬运机器人 AGV 的调度问题。更多的背景介绍请参看附件-背景介绍。对于无人仓来说,仓库的地图模型可以简化为图的数据结构。 仓库…

面试常问【进程间通信】最详细解说

文章目录 目录 文章目录 一、进程间有哪几种的通信方式 1.为什么需要进程间通信? 2.进程通信的几种方式 3.进程间通信的目的 二、管道 1.匿名管道 2.命名管道 3.管道总结 三、消息队列 四、共享内存 1.共享内存的原理 2.共享内存的接口 1.创建共享内存 2.将共享内存附加到进程…

HBase---Hbase安装(单机版)

Hbase安装单机版 文章目录Hbase安装单机版Master/Slave架构安装步骤配置Hbase1.上传压缩包解压更名修改hbase-env.sh修改hbase-site.xml配置HBase环境变量配置Zookeeper复制配置文件修改zoo.cfg配置文件修改myid配置Zookeeper环境变量刷信息配置文件启动hbase步骤hbase shellMa…

BS系统中的安全方案(SSO和Oauth2认证,数据加密)

摘要用户用浏览器打开网站,DNS会根据域名找到相应的服务器IP给到浏览器,仅接着用户的浏览器会与服务器建立连接,通过网路上的各个设备(交换机、路由器、基站、光纤等),将服务器上的数据发送到用户的电脑上,在浏览器里呈…