在初學分類聚類時,對這兩個概念不是很瞭解。隨着深入的瞭解,現有了一些基本的認識。現對聚類進行個人理解上的總結,歡迎大家批評指正。
一、分類和聚類的區別
分類和聚類的概念是比較容易混淆的。
對於分類來說,在對數據集分類時,我們是知道這個數據集是有多少種類的,比如對一個學校的在校大學生進行性別分類,我們會下意識很清楚知道分爲“男”,“女”
而對於聚類來說,在對數據集操作時,我們是不知道該數據集包含多少類,我們要做的,是將數據集中相似的數據歸納在一起。比如預測某一學校的在校大學生的好朋友團體,我們不知道大學生和誰玩的好玩的不好,我們通過他們的相似度進行聚類,聚成n個團體,這就是聚類。
按照李春葆老師的話說,聚類是將數據對象的集合分成相似的對象類的過程。使得同一個簇(或類)中的對象之間具有較高的相似性,而不同簇中的對象具有較高的相異性。如下圖所示
二、 聚類的定義
我們這樣來對聚類進行定義。聚類可形式描述爲:D={o1,o2,…,on}表示n個對象的集合,oi表示第i(i=1,2,…,n)個對象,Cx表示第x(x=1,2,…,k)個簇,CxÍD。用sim(oi,oj)表示對象oi與對象oj之間的相似度。若各簇Cx是剛性聚類結果,則各Cx需滿足如下條件:
其中,條件①和②表示所有Cx是D的一個劃分,條件③表示簇內任何對象的相似度均大於簇間任何對象的相似度。
聚類的整體流程如下:
三、聚類的方法
根據定義我們知道,聚類,簡單的來說,是通過“臭味相投”的原理來進行選擇“戰友”的。
那麼這個“臭味相投”的原理或準則是什麼呢?
前人想出了四種相似度的比對方法,即距離相似度度量、密度相似度度量、連通性相似度度量和概念相似度度量。
3.1距離相似度量
距離相似度度量是指樣本間的距離越近,那麼這倆樣本間的相似度就越高。距離這個詞我們可以這麼理解,把數據集的每一個特徵當做空間上的一個維度,這樣就確定了兩個點,這兩個點間的“連接”直線就可以當做是它們的距離。一般有三種距離度量,曼哈頓距離、歐氏距離、閔可夫斯基距離,這三個距離表示方式都是原始距離的變形,具體形式如下:
因爲相似度與距離是反比的關係,因此在確定好距離後可以設計相似函數如下:
其中,K-means算法就是基於距離的聚類算法
3.2密度相似度度量密度相似度的出發點是“物以類聚,人以羣分”,相同類別的物體往往會“抱團取暖”,也就是說,每個團體都會圍在一個圈子裏,這個圈子呢,密度會很大,所以就有密度相似度度量這一考察形式。
密度是單位區域內的對象個數。密度相似性度量定義爲:
density(Ci,Cj)=|di-dj|
其中di、dj表示簇Ci、Cj的密度。其值越小,表示密度越相近,Ci、Cj相似性越高。這樣情況下,簇是對象的稠密區域,被低密度的區域環繞。
其中,DBSCAN就是基於密度的聚類算法
3.3連通性相似度度量
數據集用圖表示,圖中結點是對象,而邊代表對象之間的聯繫,這種情況下可以使用連通性相似性,將簇定義爲圖的連通分支,即圖中互相連通但不與組外對象連通的對象組。
也就是說,在同一連通分支中的對象之間的相似性度量大於不同連通分支之間對象的相似性度量。
3.4概念相似度度量
若聚類方法是基於對象具有的概念,則需要採用概念相似性度量,共同性質(比如最近鄰)越多的對象越相似。簇定義爲有某種共同性質的對象的集合。
四、聚類的評定標準
說了這麼多聚類算法,我們都知道,聚類算法沒有好壞,但聚類之後的結果根據數據集等環境不同有着好壞之分,那麼該怎麼評價聚類的好壞呢?
一個好的聚類算法產生高質量的簇,即高的簇內相似度和低的簇間相似度。通常估聚類結果質量的準則有內部質量評價準則和外部質量評價準則。比如,我們可以用CH指標來進行評定。CH指標定義如下:
其中:
traceB表示簇間距離,traceW表示簇內距離,CH值越大,則聚類效果越好。