1.EM算法
GMM算法是EM算法族的一个具体例子。
EM算法解决的问题是:要对数据进行聚类,假定数据服从杂合的几个概率分布,分布的具体参数未知,涉及到的随机变量有两组,其中一组可观测另一组不可观测。现在要用最大似然估计得到各分布参数。
如果涉及的两组随机变量都是可观测的,问题就立即可以解决了,对似然函数求取最大值就能得到分布参数的解。
EM算法先为所需求取的分布参数赋初值,使得能算出隐藏变量的期望;进而用隐藏变量的期望和可观测变量的数据对分布参数的似然函数求最大值,得到一组解从而更新分布参数。然后用更新过的分布参数算出隐含变量的期望,再用这个期望与可观测数据进行分布参数的更新...
即:EM算法包括隐藏变量期望计算(E-step)和似然函数最大值计算(M-step)两个过程,一开始为分布参数赋一个初始值,然后迭代地执行E-step和M-step,直到算法收敛。

2.GMM算法
GMM算法作为EM算法族的一个例子,它指定了各个参与杂合的分布都是高斯分布,即分布参数表现为均值Mu和方差Sigma。通过EM算法作为计算使用的框架,迭代地算出各个高斯分布的参数。

3.GMM和k-means的比较
相同点
都是迭代执行的算法,且迭代的策略也相同:算法开始执行时先对需要计算的参数赋初值,然后交替执行两个步骤,一个步骤是对数据的估计(k-means是估计每个点所属簇;GMM是计算隐含变量的期望;);第二步是用上一步算出的估计值重新计算参数值,更新目标参数(k-means是计算簇心位置;GMM是计算各个高斯分布的中心位置和协方差矩阵)
不同点
1)需要计算的参数不同:k-means是簇心位置;GMM是各个高斯分布的参数
2)计算目标参数的方法不同:k-means是计算当前簇中所有元素的位置的均值;GMM是基于概率的算法,是通过计算似然函数的最大值实现分布参数的求解的。

GMM算法k-means算法的比较的更多相关文章

  1. 第4章 最基础的分类算法-k近邻算法

    思想极度简单 应用数学知识少 效果好(缺点?) 可以解释机器学习算法使用过程中的很多细节问题 更完整的刻画机器学习应用的流程 distances = [] for x_train in X_train ...

  2. 聚类算法:K-means 算法(k均值算法)

    k-means算法:      第一步:选$K$个初始聚类中心,$z_1(1),z_2(1),\cdots,z_k(1)$,其中括号内的序号为寻找聚类中心的迭代运算的次序号. 聚类中心的向量值可任意设 ...

  3. 分类算法----k近邻算法

    K最近邻(k-Nearest Neighbor,KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一.该方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的 ...

  4. 机器学习(四) 机器学习(四) 分类算法--K近邻算法 KNN (下)

    六.网格搜索与 K 邻近算法中更多的超参数 七.数据归一化 Feature Scaling 解决方案:将所有的数据映射到同一尺度 八.scikit-learn 中的 Scaler preprocess ...

  5. 机器学习(四) 分类算法--K近邻算法 KNN (上)

    一.K近邻算法基础 KNN------- K近邻算法--------K-Nearest Neighbors 思想极度简单 应用数学知识少 (近乎为零) 效果好(缺点?) 可以解释机器学习算法使用过程中 ...

  6. python 机器学习(二)分类算法-k近邻算法

      一.什么是K近邻算法? 定义: 如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别. 来源: KNN算法最早是由Cover和Hart提 ...

  7. KNN 与 K - Means 算法比较

    KNN K-Means 1.分类算法 聚类算法 2.监督学习 非监督学习 3.数据类型:喂给它的数据集是带label的数据,已经是完全正确的数据 喂给它的数据集是无label的数据,是杂乱无章的,经过 ...

  8. 分类算法——k最近邻算法(Python实现)(文末附工程源代码)

    kNN算法原理 k最近邻(k-Nearest Neighbor)算法是比较简单的机器学习算法.它采用测量不同特征值之间的距离方法进行分类,思想很简单:如果一个样本在特征空间中的k个最近邻(最相似)的样 ...

  9. 【学习笔记】分类算法-k近邻算法

    k-近邻算法采用测量不同特征值之间的距离来进行分类. 优点:精度高.对异常值不敏感.无数据输入假定 缺点:计算复杂度高.空间复杂度高 使用数据范围:数值型和标称型 用例子来理解k-近邻算法 电影可以按 ...

  10. 【机器学习】聚类算法——K均值算法(k-means)

    一.聚类 1.基于划分的聚类:k-means.k-medoids(每个类别找一个样本来代表).Clarans 2.基于层次的聚类:(1)自底向上的凝聚方法,比如Agnes (2)自上而下的分裂方法,比 ...

随机推荐

  1. Adobe Scout 使用参考说明

    Adobe Scout 用于优化 Flash 内容,是一款极为强大的工具,因为它能让您看到 Flash Player 幕后正在发生的事情.但是若明白 Flash Player 为什么做这些事情,您看到 ...

  2. 关于JAVA应用中文字体显示小方框的问题解决

    最近碰到linux下jboss应用中中文字体显示为小方框: “在JRE 5以上的java环境中,java会自动加载$JAVA_HOME/jre/lib/fonts目录下的字体.链接或复制宋体或微软雅黑 ...

  3. jquery给元素添加样式表的方法

    //1.获取和设置样式 $("#tow").attr("class")获取ID为tow的class属性 $("#two").attr(&qu ...

  4. f2fs解析(四)f2fs的extent特性

    extent的意思是“程度”,但是我还是搞不清楚要如何把“程度”和我理解的extent联系到一起. 文件的偏移和page-cache的映射关系体现在address space 中的一颗基数树上:当基数 ...

  5. LeetCode 笔记28 Maximum Gap

    Given an unsorted array, find the maximum difference between the successive elements in its sorted f ...

  6. 《Linux内核设计与实现》课程学习重点问题总结

    (问题均是同学提出或是老师上课重点讲解的部分内容,根据自身理解和笔记总结出自己的答案.如有不对,还请指教.) week2 [Q1]命令qemu -kernel 内核可执行文件 -initrd root ...

  7. warning: LF will be replaced by CRLF

    一. Git提供了一个换行符检查功能(core.safecrlf),可以在提交时检查文件是否混用了不同风格的换行符.这个功能的选项如下: false - 不做任何检查warn - 在提交时检查并警告t ...

  8. 文本模板转换工具包和 ASP.NET MVC

    http://msdn.microsoft.com/zh-sg/magazine/ee291528.aspx

  9. 用javascript实现简单排序算法

    声明:本文为原创文章,如需转载,请注明来源WAxes,谢谢! 本文为楼主自己的学习记录文章,若有不当之处请斧正. 本文主要记录排序算法 [冒泡排序] 感觉这个是最简单的排序算法了.直接引用维基百科里的 ...

  10. sql server T-SQL 基础

    SQL语言按照用途可以分为如下3类: ①DDL(Data Definition Language)  数据定义语言: 定义修改和删除数据库.表.索引和视图等 ②DML(Data Manipulatio ...