聚类:把相似的东西分到一组,是无监督学习。

聚类算法的分类

(1)基于划分聚类算法(partition clustering):建立数据的不同分割,然后用相同标准评价聚类结果。(比如最小化平方误差和)

典型算法:k-means、k-medoids

K-means 基本假设:对于每一个 cluster ,可以选出一个中心点,使得该 cluster 中的所有点到该中心点的距离小于到其他 cluster 的中心的距离。

算法步骤:

1、选择K个点作为初始中心;

2、Repeat

3、      将每个点归类到最近的中心,形成K个簇;

4、      重新计算每个簇的中心;

5、Until  簇的中心不再变化或迭代了最大的步数。

k-medoids:k-medoids 和 k-means 不一样的地方在于中心点的选取,在 k-means 中,我们将中心点取为当前 cluster 中所有数据点的平均值,而在 k-medoids 中,我们将中心点的选取限制在当前 cluster 所包含的数据点的集合中。即我们将从当前 cluster 中选取这样一个点——它到其他所有(当前 cluster 中的)点的距离之和最小——作为中心点。 k-medoids 对数据的要求比 k-means 要低。

(2)基于模型的聚类算法:对于每个类假定一个分布模型,试图找到每个类最好的模型。该方法主要分为基于概率模型的方法和基于神经网络模型的方法。

概率模型主要指概率生成模型(generative Model),同一”类“的数据属于同一种概率分布,这种方法的优点就是对”类“的划分不那么”坚硬“,而是以概率形式表现,每一类的特征也可以用参数来表达;但缺点就是执行效率不高,特别是分布数量很多并且数据量很少的时候。其中最典型、也最常用的方法就是高斯混合模型(GMM),GMM和k-means很像,不过GMM是学习出一些概率密度函数来,简单地说,k-means的结果是每个数据点被分配到其中某一个cluster了,而GMM则给出这些数据点被分配到每个cluster的概率,又称作 soft assignment 。

基于神经网络模型的方法主要指SOM(Self Organized Maps)。

(3)降维算法: 先降维,再聚类

典型算法:Spectral clustering,Ncut

(4)基于层次聚类算法(hierarchical method):对给定的数据对象集合进行层次的分解,根据层次的形成方法,又可以分为凝聚和分裂方法两大类;层次聚类的关键是度量相似性,常用的就是欧式距离(向量对应分量差的组合)和绝对值距离(向量间距离)。

典型算法:BIRCH、CURE、ROCK、CHEMALOEN等。

(5)基于密度聚类算法:根据领域对象的密度或者某种密度函数来生成聚类,使得每个类在给定范围的区域内必须至少包含一定数目的点;

典型算法:DBSCAN、OPTICS

(6)基于网格的聚类算法:将对象空间量化为有限数目的单元,形成一个网格结构,使所有聚类操作都在这个网格结构上进行,使聚类速度得到较大提高;

典型算法:STING、CLIQUE

聚类clustering的更多相关文章

  1. Stanford机器学习笔记-9. 聚类(Clustering)

    9. Clustering Content 9. Clustering 9.1 Supervised Learning and Unsupervised Learning 9.2 K-means al ...

  2. sklearn:聚类clustering

    http://blog.csdn.net/pipisorry/article/details/53185758 不同聚类效果比较 sklearn不同聚类示例比较 A comparison of the ...

  3. 机器学习课程-第8周-聚类(Clustering)—K-Mean算法

    1. 聚类(Clustering) 1.1 无监督学习: 简介 在一个典型的监督学习中,我们有一个有标签的训练集,我们的目标是找到能够区分正样本和负样本的决策边界,在这里的监督学习中,我们有一系列标签 ...

  4. 机器学习之&&Andrew Ng课程复习--- 聚类——Clustering

    第十三章.聚类--Clustering ******************************************************************************** ...

  5. [C8] 聚类(Clustering)

    聚类(Clustering) 非监督学习:简介(Unsupervised Learning: Introduction) 本章节介绍聚类算法,这是我们学习的第一个非监督学习算法--学习无标签数据,而不 ...

  6. 机器学习(九)-------- 聚类(Clustering) K-均值算法 K-Means

    无监督学习 没有标签 聚类(Clustering) 图上的数据看起来可以分成两个分开的点集(称为簇),这就是为聚类算法. 此后我们还将提到其他类型的非监督学习算法,它们可以为我们找到其他类型的结构或者 ...

  7. 机器学习-聚类(clustering)算法:K-means算法

    1. 归类: 聚类(clustering):属于非监督学习(unsupervised learning) 无类别标记(class label) 2. 举例: 3. Kmeans算法 3.1 clust ...

  8. 海量数据挖掘MMDS week5: 聚类clustering

    http://blog.csdn.net/pipisorry/article/details/49427989 海量数据挖掘Mining Massive Datasets(MMDs) -Jure Le ...

  9. [综]聚类Clustering

    Annie19921223的博客 [转载]用MATLAB做聚类分析 http://blog.sina.com.cn/s/blog_9f8cf10d0101f60p.html Free Mind 漫谈 ...

随机推荐

  1. c# 相对路径的一些资料

    1.获取和设置当前目录的完全限定路径. string str = System.Environment.CurrentDirectory; Result: C:\xxx\xxx 2.获取启动了应用程序 ...

  2. Leetcode: Strong Password Checker

    A password is considered strong if below conditions are all met: It has at least 6 characters and at ...

  3. JVM参数设置、分析(转发)

    JVM参数的含义 实例见实例分析 参数名称 含义 默认值   -Xms 初始堆大小 物理内存的1/64(<1GB) 默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40%时,J ...

  4. JSP-11-Servlet

    1 初识Servlet Ø  Servlet做了什么 本身不做业务 只接收请求并决定调用哪个JavaBean去处理请求 确定用哪个页面来显示处理返回的数据 Ø  Servlet 是什么 Servlet ...

  5. web移动前端的click点透问题

    在移动端开发中,有时会出现click点透的问题. 一.什么是click点透 以下情况,在B元素上有半透明红色遮盖层A,黄色B元素内有可点击链接C. tips:以下举例仅针对webkit内核浏览器,所有 ...

  6. Aspect Oriented Programming (AOP)

    切面”指的是那些在你写的代码中在项目的不同部分且有相同共性的东西.它可能是你代码中处理异常.记录方法调用.时间处理.重新执行一些方法等等的一些特殊方式.如果你没有使用任何面向切面编程的类库来做这些事情 ...

  7. :enabled 匹配所有可用元素

    描述: 查找所有可用的input元素 HTML 代码: <form> <input name="email" disabled="disabled&qu ...

  8. maven、strutst版本号

    struts.2.3.15.3 :大版本号 struts1-->struts2 :分支版本号 增加新功能 :小版本号 修复bug beta:公测版release:发行版(已可以使用)Genera ...

  9. 剑指offer——变态跳台阶

    题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 问题分析 由于每次跳的阶数不确定,没有一个固定的规律,但是可以了解的是后一次跳 ...

  10. Java 菜鸟学习之 script脚本语句

    脚本语句  一般分为  顺序语句   分支语句   循环语句 顺序语句  就是从上到下依次读取 分支语句 是if语句 if(判断条件) { 满足条件执行的语句 } else { 不满足条件执行的语句 ...