码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • sheng的学习笔记-AI-高斯混合模型(GMM)


    AI目录:sheng的学习笔记-AI目录-CSDN博客

    需要学习前置知识:

    聚类,可参考  sheng的学习笔记-AI-聚类(Clustering)-CSDN博客

    EM算法,可参考 sheng的学习笔记-AI-EM算法-CSDN博客

    贝叶斯,可参考  sheng的学习笔记-AI-贝叶斯(Bayesian)分类-CSDN博客

    基础知识

    什么是高斯混合模型

    高斯混合模型(Gaussian Mixture Models ,GMMs)假设存在一定数量的高斯分布,并且每个分布代表一个簇。高斯混合模型倾向于将属于同一分布的数据点分组在一起。

    它是一种基于概率分布的聚类算法,它是首先假设每个簇符合不同的高斯分布,也就是多元正态分布,说白了就是每个簇内的数据会符合一定的数据分布。

    我们有三个簇,用三种颜色表示-蓝色、绿色和青色。我们用红色突出显示一个数据点,这个点划分进蓝色簇的概率为1,而划分进绿色簇或者青色簇的概率为0。

    考虑另一个点-介于蓝色和青色簇之间(在下图中突出显示),这个点划分进绿色簇的概率为0,对吧?而划分进蓝色、青色簇的概率分别是0.2,0.8。

    不再使用基于距离的模型,而是使用基于分布的模型,这就是高斯混合模型出现在本文的意义

    举例

    想象你在一个果园,这个果园里有苹果、梨和桃子三种水果。每种水果的大小和重量都有一定的特点。高斯混合就像是我们用来描述这些水果特点的工具。在这个模型中,我们用三个“高斯分布”(简单来说,就是一种特殊的图形或曲线)来分别描述苹果、梨和桃子的大小和重量。

    每个高斯分布都可以被看作是一条“曲线”,这条曲线的形状由三个参数决定:均值(中心位置)、协方差(宽度或形状)和混合系数(高度)。算法的目标就是调整这些曲线,让它们尽可能准确地描述每种水果的特点。

    数学知识

    正态分布/高斯分布

    正态分布(Normal distribution),也称“常态分布”,又叫高斯分布(Gaussian distribution),正态曲线呈钟型,两头低,中间高,左右对称因其曲线呈钟形,因此人们又经常称之为钟形曲线

    (多元)高斯分布

    上述的只适用于单个变量,在两个变量的情况下,我们将得到如下所示的三维钟形曲线,而不是二维钟形曲线:

    对n维样本空间X中的随机向量x,若x服从高斯分布,其概率密度函数为

    其中的a,是代表我们选择每个簇的概率,那么它的和肯定是等于1的

    流程

    1. 假设k个高斯分布,然后判断每个样本符合各个分布的概率,将该样本划为概率最大的那个分布簇内
    2. 然后一轮后,进行更新我们的高斯分布参数,就会用到我们的极大似然估计
    3. 然后再基于新的分布去计算符合各个分布的概率,不断迭代更新,直至模型收敛达到局部最优解,常见的算法就是EM算法,它会同时估计出每个样本所属的簇类别以及每个簇的概率分布的参数。

    概率密度常记为:f(X)=p(x∣μi​,∑)   意思就是在参数为一定值的情况下符合的分布,对应相应的概率密度函数。

    我们会求出数据 j 符合每个分布的概率,然后获得之中最大的概率,那么数据 j 就会被划分到与之对应的簇

    在求该概率时,公式分子和分母都存在某一分布的概率密度,我们只是知道符合高斯分布,但是具体的参数是不知道的,

    为了获得概率密度函数,采用极大似然的方式(常见的有EM算法),就是我们的样本数据出现在对应分布的概率乘积达到最大

    最大化似然:

    算法代码

    上图中公式如下

    解释如下 

    示例

    数据集:

    参考文章

    【机器学习】聚类算法——高斯混合聚类(理论+图解)-CSDN博客

    独家 | 使用高斯混合模型,让聚类更好更精确(附数据&代码&学习资源)

    书 :机器学习  周志华

  • 相关阅读:
    # 电脑必设优化项
    Backblaze 2022 Q3 硬盘故障质量报告解读
    Android gradle dependency tree change(依赖树变化)监控实现
    【技术积累】Python中的Pandas库【二】
    【数据分析】Python:处理缺失值的常见方法
    阳光能源,创造永远:光模块的未来”:随着大数据、区块链、云计算和5G的发展,光模块成为满足不断增长的数据流量需求的关键技术
    iTOP3A5000开发板多路PCIE、SATA、USB3.0等
    Python学习----Day07
    塔望食观察 | 中国海参产业发展现状及挑战
    常见的Web安全漏洞有哪些,Web安全漏洞常用测试方法介绍
  • 原文地址:https://blog.csdn.net/coldstarry/article/details/139960601
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号