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

聚类算法的分类

(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. PL301 matrix内部模块

    ASIB中的valid信号,有两部分,一部分add产生的地址映射,到main中的default addr.(vect) 一部分由Dmu和Cdas组成,到main中的build. Dmu:interco ...

  2. 十一、Java基础---------内部类与匿名内部类

    内部类分为普通内部类(有名)和匿名内部类.普通内部类分为成员内部类.局部内部类.静态内部类(嵌套内部类).顾名思义,内部类就是定义在一个类内部的类.什么时候都会使用内部类呢?当我们定义一个类,发现内部 ...

  3. 【转】PowerShell入门(一):PowerShell能干什么?

    转至:http://www.cnblogs.com/ceachy/archive/2013/01/30/WhatCanPowerShellDo.html PowerShell能干什么呢?就像序言中提到 ...

  4. 开源项目Html Agility Pack实现快速解析Html

    这是个很好的的东西,以前做Html解析都是在用htmlparser,用的虽然顺手,但解析速度较慢,碰巧今天找到了这个,就拿过来试,一切出乎意料,非常爽,推荐给各位使用. 下面是一些简单的使用技巧,希望 ...

  5. [课程设计]Scrum 2.8 多鱼点餐系统开发进度(下单一览页面-菜式一览功能的最终实现)

    Scrum 2.8 多鱼点餐系统开发进度 (下单一览页面-菜式一览功能的最终实现) 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4.团队 ...

  6. ajax (返回类型:text)

    <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8&quo ...

  7. 【jQuery】window.onload 和 $(document).ready() 的区别

    ... 在Stack Overflow上看到了这个问题,自己翻译了过来. The onload event is a standard event in the DOM, while the read ...

  8. SQL基础语法笔记教程整理

    PS:本文适用SQL Server2008语法. 一.关系型数据库和SQL 实际上准确的讲,SQL是一门语言,而不是一个数据库. 什么是SQL呢?简而言之,SQL就是维护和使用关系型数据库中的的数据的 ...

  9. Spring 定时任务2

    转载自http://www.cnblogs.com/nick-huang/p/4864737.html > 版本说明 <dependencies> <dependency> ...

  10. 实操canvas

    我觉得仅仅靠看书是不会学好canvas的,经过前几天对canvas画布属性的阅读和了解,然后我觉得还是要实际操作才会学的更好. <canvas width="" height ...