博客
关于我
从EM算法理解k-means与GMM的关系
阅读量:180 次
发布时间:2019-02-28

本文共 791 字,大约阅读时间需要 2 分钟。

EM(期望最大化)算法解决的是在概率模型中含有无法观测的隐含变量情况下的参数估计问题,EM算法只保证收敛到局部最优解。EM算法是在最大化目标函数时, 先固定一个变量使整体函数变为凸优化函数, 求导得到最值, 然后利用最优参数更新被固定的变

量, 进入下一个循环。

k-means:E过程,根据固定的各个簇的中心点,对每个样本就近分配所属的簇;M过程,根据样本划分好的簇,重新计算簇的中心点,更新E过程的固定值。

GMM:高斯混合模型,即用多个高斯分布函数的线形组合来对数据分布进行拟合。 理论上, 高斯混合模型可以拟合出任意类型的分布。当数据事实上有多个类, 或者我们希望将数据划分为一些簇时, 可以假设不同簇中的样本各自服从不同的高斯分布, 由此得到的聚类算法称为高斯混合模型。在该假设下, 每个单独的分模型都是标准高斯模型, 其均值μi和方差Σi是待估计的参数。 此外, 每个分模型都还有一个参数πi, 可以理解为权重或生成数据的概率。 我们认为每个样本点的生成过程如下:

GMM算法同k-means一样,需要设定超参数簇个数K值。高斯混合模型的计算, 便成了最佳的均值μ, 方差Σ、 权重π的寻找。

GMM的E过程,先固定每个模型的均值和方差,计算该样本属于各个簇的概率;M过程,使用E中的概率,更新各个模型的均值和方差。所以每次循环时, 先固定当前的高斯分布不变, 获得每个数据点由各个高斯分布生成的概率。 然后固定该生成概率不变, 根据数据点和生成概率, 获得一个组更佳的高斯分布。 循环往复, 直到参数的不再变化, 或者变化非常小时, 便得到了比较合理的一组高斯分布。相比于K均值算法的优点是, 可以给出一个样本属于某类的概率是多少。

 

总结,k-means算法和GMM算法的E过程都是先固定模型参数然后对样本分类,M过程都是根据E过程中每个样本对应好的类,更新模型参数。

转载地址:http://wydi.baihongyu.com/

你可能感兴趣的文章
MySQL 是如何加锁的?
查看>>
MySQL 是怎样运行的 - InnoDB数据页结构
查看>>
mysql 更新子表_mysql 在update中实现子查询的方式
查看>>
MySQL 有什么优点?
查看>>
mysql 权限整理记录
查看>>
mysql 权限登录问题:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
查看>>
MYSQL 查看最大连接数和修改最大连接数
查看>>
MySQL 查看有哪些表
查看>>
mysql 查看锁_阿里/美团/字节面试官必问的Mysql锁机制,你真的明白吗
查看>>
MySql 查询以逗号分隔的字符串的方法(正则)
查看>>
MySQL 查询优化:提速查询效率的13大秘籍(避免使用SELECT 、分页查询的优化、合理使用连接、子查询的优化)(上)
查看>>
mysql 查询数据库所有表的字段信息
查看>>
【Java基础】什么是面向对象?
查看>>
mysql 查询,正数降序排序,负数升序排序
查看>>
MySQL 树形结构 根据指定节点 获取其下属的所有子节点(包含路径上的枝干节点和叶子节点)...
查看>>
mysql 死锁 Deadlock found when trying to get lock; try restarting transaction
查看>>
mysql 死锁(先delete 后insert)日志分析
查看>>
MySQL 死锁了,怎么办?
查看>>
MySQL 深度分页性能急剧下降,该如何优化?
查看>>
MySQL 深度分页性能急剧下降,该如何优化?
查看>>