聚类算法教程(1):聚类简介与算法资源

http://blog.sina.com.cn/s/blog_6f0c85fb0100xhz1.html

原文链接在这里:http://home.dei.polimi.it/matteucc/Clustering/tutorial_html/index.html
有个哥们已经翻译了一部分,部分内容在他的基础了修改,原文在这里http://hi.baidu.com/keefo/blog/item/718ab41f46c6d6f4e1fe0b32.html

由于百度空间的限制,具体的算法放在其他文章了:

 

什么是聚类?

聚类被认为是最重要的无监督学习问题。所以,正如其他一切这类问题一样,处理过程首先要在无标记数据中寻找相应一种结构.

聚类一个粗略的定义可以“用某种方式把相似的物体分组的过程”。 因此簇内对象相似度大,簇间对象相似度小。如下图所示一个简单聚类过程:

 聚类算法教程(1):聚类简介与算法资源 - xiongyp86 - 北极熊的博客

例如: 在上图情况下我们可以很容易找出4个簇,并把他们的数据分开;根据相似测度的距离,如果两个或多个对象间距离较为近那么他们属于一个簇(在上图情况中距离准则为“几何距离”). 这就是所谓的基于距离的聚类。另一种是概念聚类:一个概念所定义的两个或两个以上物体都属于同一簇。换言之,对象的聚簇依据,是根据它们所符合的定义来计算相似度的,而不是按照简单的计算测量。

 

聚类目标

聚类的目标是要使未标记数据按数据内在固有属性分组为标记数据。但如何确定一个聚类是否是有效的呢?实践证明并没有绝对的“最好”的标准,聚类结果的好坏只取决与希望的聚类目标。 因此,使用聚类的用户必须供给它这个标准,这样做才可能使得聚类的结果更加满足他们的需求。比如,我们希望找到具有某种共同特性的集合,寻找"natural clusters”,并描述它们的未知特性("natural" 数据类型) , 用以找到有用的或者最合适的数据集合("useful" 数据类) ,或在找到一些利群数据。

聚类算法的可能应用领域

聚类算法可以应用于许多领域,例如:

商业营销:通过大量的顾客消费行为模式、顾客背景、购物记录的数据,寻找潜在客户群体团;

生物学:根据植物和动物的各自特点对他们进行分类;

图书馆:图书订货;

保险: 找出汽车保险客户群中高索赔的平均成本;查找诈骗行为;

城市规划: 根据房子的类型,价值和地理位置,分组房屋;

地震研究: 聚类观测地震的震中位置,以确定危险区;

万维网:文件分类; 聚类分析博客数据以发现各组类似的访问模式.

主要要求

即聚类算法应满足如下要求:

* 可测量性;
     * 处理不同类型的属性;
     * 聚类任意形状的簇;
     * 对专业领域知识的需求低,以确定输入参数;
     * 有能力处理噪声数据和离群点数据;
     * 数据输入顺序的低敏感性;
     * 高维处理能力;
     * 可解释性和可用性.

问题

聚类涉及的一些问题, 其中包括:

* 现有聚类技术并不能满足当前所有的要求;
     * 由于算法时间复杂度的缘故,处理高纬度和海量数据项的问题;
     * 聚类算法的效率取决于“距离”的定义(基于距离的聚类);
     * 如果一个明显的距离并不存在,我们必须为其做相应的“定义”,而在多维空间中距离的定义是很困难的;
     * 结果的聚类算法,可以有不同的解释。

聚类算法

聚类算法分类:

* 排除聚类
     * 重叠聚类
     * 层次聚类
     * 概率聚类

对于第一种情况,排除聚类。一个数据属于且仅属于一个簇。如下图所示的一个简单例子:在二维空间中的点被一条直线所分开。

 聚类算法教程(1):聚类简介与算法资源 - xiongyp86 - 北极熊的博客

与第一种聚类相反,重叠聚类。它使用模糊簇集,同一个点可能同时数据两个或多个不同的簇,并赋予不同的成员标记。

层次聚类算法的思想是合并最相似的两个簇。初始条件可以把每个数据看作一个单独的簇,在数词迭代计算后就可以得到希望的聚类簇集。

最后一种聚类算法使用Bayes全概率方法进行聚类计算。

在本教程中,我们介绍四个最常用的聚类算法:

* K-means

* 模糊C-means

* 层次聚类

* 高斯模糊聚类

 

他们中每个都属于上文所列的一种聚类类型。因此, K-means的是一个排除聚类算法,模糊C-means是一个重叠聚类算法, 层次聚类显而易见,高斯模糊是一个概率聚类算法。我们将下一部分讨论每一个聚类算法。

距离度量

距离度量是聚类算法的一个重要组成部分,它对数据点之间进行距离测度。如果数据成分具有相同的物理单位,则使用欧几里德距离就可以简单的计算出数据相似度。然而,即使在这种情况下欧几里德距离有时也会长生误导. 下图说明这个问题:

 聚类算法教程(1):聚类简介与算法资源 - xiongyp86 - 北极熊的博客

          图像中使用宽度和高度的测量对象,尽管两种测量均采取相同的物理单位,但是实际上一个明智的决定是,两者都必须以相对尺度。如上图所示,不同的尺度,可导 致不同聚类效果。注意,这不仅是一个图形的问题。问题从利用数学公式计算单一数据特征向量,上升为把特殊距离计算用于聚类算法中:这导致不同的公式得到不 同的聚类结果。正因如此,对于不同的聚类应用,适当的先验知识必须作为制定距离测度公对的准则。

Minkowski 度量

对于高维数据,流行的计算方法是使用Minkowski度量:

 聚类算法教程(1):聚类简介与算法资源 - xiongyp86 - 北极熊的博客

其中d是数据的维度。在p=2时这个特殊情况下就可以使用欧几里德距离公式计算,在Manhattan度量P值为1。不过,目前没有通用理论指导多维距离计算的公式。

在多数情况下,数据的特征向量无法直接比较。这些特征不连续变量,如长度,但名次分类除外,如从周日到周一。在这些多次提到的例子中,不同领域的先验知识必须恰当的使用。

参考文献

 

链接资源

Andrew Moore: “K-means and Hierarchical Clustering - Tutorial Slides”
http://www-2.cs.cmu.edu/~awm/tutorials/kmeans.html

 

Brian T. Luke: “K-Means Clustering”
http://fconyx.ncifcrf.gov/~lukeb/kmeans.html

 

Tariq Rashid: “Clustering”
http://www.cs.bris.ac.uk/home/tr1690/documentation/fuzzy_clustering_initial_report/node11.html

 

Hans-Joachim Mucha and Hizir Sofyan: “Cluster Analysis”
http://www.quantlet.com/mdstat/scripts/xag/html/xaghtmlframe142.html

 

Frigui Hichem: “Similarity Measures and Criterion Functions for clustering”
http://prlab.ee.memphis.edu/frigui/ELEC7901/UNSUP2/SimObj.html

 

Osmar R. Za?ane: “Principles of Knowledge Discovery in Databases - Chapter 8: Data Clustering”
http://www.cs.ualberta.ca/~zaiane/courses/cmput690/slides/Chapter8/index.html

 

Pier Luca Lanzi: “Ingegneria della Conoscenza e Sistemi Esperti – Lezione 2: Apprendimento non supervisionato”
http://www.elet.polimi.it/upload/lanzi/corsi/icse/2002/Lezione%202%20-%20Apprendimento%20non%20supervisionato.pdf

 

Stephen P. Borgatti: “How to explain hierarchical clustering”
http://www.analytictech.com/networks/hiclus.htm

 

Maria Irene Miranda: “Clustering methods and algorithms”
http://www.cse.iitb.ac.in/dbms/Data/Courses/CS632/1999/clustering/dbms.html

 

Jia Li: “Data Mining - Clustering by Mixture Models”
http://www.stat.psu.edu/~jiali/course/stat597e/notes/mix.pdf

posted @ 2015-03-04 16:52  清风一曲  阅读(640)  评论(0编辑  收藏  举报