zoukankan      html  css  js  c++  java
  • 聚类——GMM

    聚类——认识GMM算法

    作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/

    一、GMM概述

    二、GMM算法步骤

    三、具体推导参考文献

    1. 李航. 统计学习方法[M]. 清华大学出版社, 2012.

    2. Bishop C M. Pattern Recognition and Machine Learning (Information Science and Statistics)[M]. Springer-Verlag New York, Inc. 2006.

    注:GMM数学公式推导用到了贝叶斯公式、条件期望公式、拉格朗日乘数法、极大似然估计、参数估计。概率论与数理统计的内容居多,事先应掌握概率论与数理统计基本内容。

    四、总结

       1. GMM算法中间参数估计部分用到了EM算法,EM算法分为两步:

          (1)E步:求目标函数期望,更多的是求目标函数取对数之后的期望值。

          (2)M步:使期望最大化。用到极大似然估计,拉格朗日乘数法,对参数求偏导,最终确定新的参数。

        2.K-means,FCM与GMM算法参数估计的数学推导思路大体一致,都先确立目标函数,然后使目标函数最大化的参数取值就是迭代公式。

        3.三个算法都需要事先指定k。K-means与FCM中的k指的是要聚的类的个数,GMM算法中的k指的是k个单高斯混合模型。

        4.三个算法流程一致:

        (1)通过一定的方法初始化参数(eg:随机,均值······)

        (2)确立目标函数

        (3)通过一定的方法使目标函数最大化,更新参数迭代公式(eg:EM,粒子群······)

        (4)设置一定的终止条件,使算法终止。若不满足条件,转向(3)

        补充:GMM的MATLAB代码:https://github.com/kailugaji/Gaussian_Mixture_Model_for_Clustering

                    Clustering - Mixture of Gaussians 

  • 相关阅读:
    JAVA程序员面试32问
    在做物流的库存管理系统里,需要注意。。。。。
    在写自动更新程序中出现的问题
    数据库设计中的五个范式
    cPickle / pickle
    python总结1
    python总结2
    汉明距离(Hamming distance)
    python中pickle的用法
    NET面试题
  • 原文地址:https://www.cnblogs.com/kailugaji/p/9648508.html
Copyright © 2011-2022 走看看