將一群物理物件或者抽象物件的劃分成相似的物件類的過程。其中類簇是資料物件的集合,在類簇中所有的物件都彼此相似,而類簇與類簇之間的物件是彼此相異。
聚類除了可以用於資料分割(data segmentation),也可以用於離群點檢測(outlier detection),所謂的離群點指的是與「普通」點相對應的「異常」點,而這些「異常」點往往值的注意。
很多人在學習聚類之初,容易將聚類和分類搞混淆。其實聚類屬於無監督學習範疇(unsupervised learning),也可稱作觀察式學習過程,與分類不同,聚類並不依賴已有既定的先驗知識。舉個例子,我們成年後,很清楚世界是由男人和女人組成的,所 以我們在建廁所的時候,會把廁所分為男廁所和女廁所,這就是「分類」;而當我們剛生下來,我們並不知道什麼是男人,什麼是女人,通過後天對生活的觀察,我 們發現有一類人他們有鬍子,而有一類人她們頭髮比較長(當然,我的這個舉例已經顯然不符合當今世界的發展了,你們明白就行),於是我們就把有鬍子的人分為 一類人,把長頭髮的分為另一類人,然後「研究」發現,原來有鬍子的叫男人,有長頭髮的叫女人,這個過程就是「聚類」。
資料探勘對聚類的典型要求如下:
1) 可伸縮性:當聚類物件由幾百上公升到幾百萬,我們希望最後的聚類結果的準確度能一致。
2) 處理不同型別屬性的能力:有些聚類演算法,其處理物件的屬性的資料型別只能為數值型別,但是實際應用場景中,我們往往會遇到其他型別的資料,比如二元資料, 分類資料等等。當然,在處理過程我們是可以將這些其他型別的資料預處理成數值型資料的,但是在聚類效率上或者聚類準確度上往往會有折損
3) 發現任意形狀的類簇:因為許多聚類演算法是用距離(eg:歐幾里得距離或者曼哈頓距離)來量化物件之間的相似度的,基於這種方式,我們往往只能發現相似尺寸和密度的球狀類簇或者成為凸形類簇。但是,類簇的形狀可能是任意的。
4) 對聚類演算法初始化引數的知識需求的最小化:很多演算法在分析過程中需要使用者提供一定的初始引數,比如期望的類簇個數,類簇初始質點的設定。聚類結果對這些引數是十分敏感的。這不僅加重了使用者的負擔,也非常影響聚類結果的準確性
5) 處理雜訊資料的能力:所謂的雜訊資料,可以理解為影響聚類結果的干擾資料,這些雜訊資料的存在會造成聚類結果的畸變,最終導致低質量的聚類。
6) 增量聚類和對輸入次序的不敏感:一些聚類演算法不能將新加入的資料插入到已有的聚類結果;輸入次序的敏感是指,對於給定的資料物件集合,以不同的次序提供輸入物件時,最終產生的聚類結果的差異會比較大。
7) 高維性:有些演算法只適合處理2維或者3維的資料,而對高維資料的處理能力很弱,因為在高維空間中資料分布可能十分稀疏,而且高度傾斜。
8) 基於約束的聚類:現實應用中可能需要在各種條件下進行聚類。因為同乙個聚類演算法,在不同的應用場景中所帶來的聚類結果也是各異的,因此找到滿足特定約束的具有良好聚類特性的資料分組是十分有挑戰性的。
9) 可解釋性和可用性:我們希望得到的聚類結果都能用特定的語義、知識進行解釋,和實際的應用場景相聯絡。
聚類過程
1 )特徵選擇 (feature selection) :就像其他分類任務一樣,特徵往往是一切活動的基礎,如何選取特徵來盡可能的表達需要分類的資訊是乙個重要問題。表達性強的特徵將很影響聚類效果。這點在以後的實驗中我會展示。
2)近鄰測度 (proximity measure):當選定了例項向量的特徵表達後,如何判斷兩個例項向量相似呢?這個問題是非常關鍵的乙個問題,在聚類過程中也有著決定性的意義,因為聚類本質在區分相似與不相似,而近鄰測度就是對這種相似性的一種定義。
3)聚類準則 (clustering criterion):定義了相似性還不夠,結合近鄰測度,如何判斷相似才是關鍵。直觀理解聚類準則這個概念就是何時聚類,何時不聚類的聚類條件。當我們使用聚類演算法進行計算時,如何聚類是演算法關心的,而聚與否需要乙個標準,聚類準則就是這個標準。(話說標準這東西一拿出來,夠嚇人了吧 ^_^)
4)聚類演算法 (clustering algorithm):這個東西不用細說了吧,整個學習的重中之重,核心的東西這裡不講,以後會細說,簡單開個頭——利用近鄰測度和聚類準則開始聚類的過程。
5)結果驗證 (validation of the results):其實對於 pr的作者提出這個過程也放到聚類任務流程中,我覺得有點冗餘,因為對於驗證演算法的正確性這事應該放到演算法層面吧,可以把 4)和 5)結合至一層。因為演算法正確和有窮的驗證本身就是演算法的特性嘛。(誰設計了乙個演算法不得證明啊)
6) (interpretation of the results):中文版的 pr上翻譯為結果判定,而我感覺字面意思就是結果解釋。(聚類最終會將資料集分成若干個類,做事前要有原則,做事後要有解釋,這個就是解釋了。自圓其說可能是比較好的了 ^_^)
聚類分析(一) 什麼是聚類分析
將一群物理物件或者抽象物件的劃分成相似的物件類的過程。其中類簇是資料物件的集合,在類簇中所有的物件都彼此相似,而類簇與類簇之間的物件是彼此相異。聚類除了可以用於資料分割 data segmentation 也可以用於離群點檢測 outlier detection 所謂的離群點指的是與 普通 點相對應...
聚類分析筆記
1.什麼是聚類 定義 將無力或抽象物件的集合分組成為由類似的物件組成的多個類的過程被稱為聚類。由聚類所生成的簇是一組資料物件的集合,這些物件與同乙個簇中的物件彼此相似,與其他簇中的物件相異。與分類的區別,分類是有指導學習 類數目已知 聚類是無指導學習 類數目未知 典型應用 商務上,分析不同的客戶群,...
聚類分析(Clustering Analysis)
聚類分析 clustering analysis 聚類作為資料探勘與統計分析的乙個重要的研究領域,近年來倍受關注。從機器學習的角度看,聚類是一種無監督的機器學習方法,即事先對資料集的分布沒有任何的了解,它是將物理或抽象物件的集合組成為由類似的物件組成的多個類的過程。聚類方法作為一類非常重要的資料探勘...