博客
关于我
从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/

你可能感兴趣的文章
multivariate_normal TypeError: ufunc ‘add‘ output (typecode ‘O‘) could not be coerced to provided……
查看>>
MySQL DBA 数据库优化策略
查看>>
multi_index_container
查看>>
MySQL DBA 进阶知识详解
查看>>
Mura CMS processAsyncObject SQL注入漏洞复现(CVE-2024-32640)
查看>>
Mysql DBA 高级运维学习之路-DQL语句之select知识讲解
查看>>
mysql deadlock found when trying to get lock暴力解决
查看>>
MuseTalk如何生成高质量视频(使用技巧)
查看>>
mutiplemap 总结
查看>>
MySQL DELETE 表别名问题
查看>>
MySQL Error Handling in Stored Procedures---转载
查看>>
MVC 区域功能
查看>>
MySQL FEDERATED 提示
查看>>
mysql generic安装_MySQL 5.6 Generic Binary安装与配置_MySQL
查看>>
Mysql group by
查看>>
MySQL I 有福啦,窗口函数大大提高了取数的效率!
查看>>
mysql id自动增长 初始值 Mysql重置auto_increment初始值
查看>>
MySQL in 太多过慢的 3 种解决方案
查看>>
MySQL InnoDB 三大文件日志,看完秒懂
查看>>
Mysql InnoDB 数据更新导致锁表
查看>>