聚類演算法資料探勘(五) 聚類

2021-09-06 09:58:49 字數 3662 閱讀 9501

首先宣告,我是乙個菜鳥。一下文章中湧現技術誤導情況蓋不負責

聚類是資料探勘描述任務的乙個主要組成部分。資料探勘任務包括描述性任務**性任務兩種。描述性任務包括聚類、關聯分析、序列、異常檢測等,**性任務包括回歸和分類

聚類:將資料物件分別為若干類,同一類的物件具有較高的相似度,不同類的物件相似度較低。從這個簡略的描述中,可以看出聚類的關鍵是如何度量物件間的相似性。較為罕見的用於度量物件的相似度的方法有距離密度等。

凡滿足距離定義四個條件(唯一性、非負性、對稱性和三角不等式)的函式都可以作為距離公式。經常使用的有歐氏距離(euclid)、曼哈頓距離(manhattan)、契比雪夫距離(chebyshev)、馬哈拉諾比斯距離(mahalanobis)等。

基於距離的兩類經典聚類演算法:分別方法(partitioning method)和層次聚類方法(hierarchical method)。

該方法的典範代表有k-meansk-medoids

k-means演算法的核心思惟是把n個資料物件分別為k個類(這k各種事前未知),使得分別後每個類中的資料點到該類**的距離最小。即使j最小。

k-means演算法流程:

輸入:分類個數k,包括n個資料物件的資料集

輸出:k個聚類

(1)從n個資料物件中任意選取k個物件作為初始的聚類**;

(2)分別盤算每個物件到各個聚類**的距離,把物件分配到距離最近的聚類中;

(3)全部物件分配完成後,重新盤算k個聚類的**;

(4)與前一次盤算得到的k個聚類**比較(檢測是否收斂),如果聚類**發生變化(未收斂),轉(2),否則聚類結束。

k-means演算法本質上是實現了聚類的基本思惟:類內資料點越近越好,類間資料點越遠越好。

上述演算法大多數情況下會終究求得收斂的最優聚類結果,但也有可能陷入區域性最優解。還存在乙個問題,上述演算法有乙個前提,就是指定k的值,即聚類個數。而在事實應用中k值是無法事前給定的,因此k-means演算法的另乙個重點就是要找出乙個適合的k,使平方誤差數值達到最小。一般的做法是嘗試若干個k,選擇使平方誤差(距離)最小的k值。

k-means演算法第(3)步中聚類**是盤算以後每個cluster的均值作為新的聚類**,這恰是k-means演算法得名的原因。盤算公式為

第(4)步中檢測是否收斂的標準並非經常使用標準,因為要達到完全收斂可能並不事實。因此,較為罕見的說法為,直到迭代了最大的步數或者前後的 j 的值相差小於乙個閾值為止。

k-medoids演算法中,我們將從以後 cluster 中選取這樣乙個點——它到其他全部(以後 cluster 中的)點的距離之和最小——作為**點。也就是說,k-means演算法選擇的**點未必在n個資料點中,而可所以連續空間的任意值;k-medoids則只能在給樣本給定的那些點裡頭選。也恰是因為這樣,k-means對雜訊和孤立點資料非常敏感,而k-medoids則可以有效地消除這種影響。

每日一道理

毅力,是千里大堤一沙一石的凝聚,一點點地累積,才有前不見頭後不見尾的壯麗;毅力,是春蠶吐絲一縷一縷的環繞,一絲絲地堅持,才有破繭而出重見光明的輝煌; 毅力,是遠航的船的帆,有了帆,船才可以到達成功的彼岸。

當結果簇是密集的,而簇與簇之間區別顯著時,k-means演算法的效果較好。對於大規模資料集,該演算法是絕對可擴充套件的,並且效率較高。僅就k-means和k-medoids兩者而言,在第(3)步中,k-means具有o(n)的時間複雜度,而k-medoids的時間複雜度是o(n^2)。

k-means的不足:首先,k-means只有在簇資料點的平均值有定義的情況下才能應用,這可能不適用於某些應用,如離散資料。對k-means改進後的k-模演算法用取代簇的平均值作為相似性度量,用基於頻率的方法來修改聚類的模。k-模演算法可用於解決離散問題。k-means和k-模相結合用來處理有數值型別和分類型別屬性的資料,這就是k-原型演算法。其次,k-means和k-medoids不適用於發現非球狀的簇。原因是這類演算法應用距離來描述資料間的相似性,但是對於非球狀資料集,只用距離來描述是不夠的。對於這種情況,要採取密度作為相似性度量。(參見2)

層次聚類方法(hierarchical method)按資料分層建立簇,形成一棵以簇為節點的樹。該方法的典範代表有凝聚法agglomerative)和**法divisive)。若自底向上進行層次聚集,則稱為凝聚的層次聚類;若自頂向下進行層次分解,則稱為**法的層次聚類。

凝聚的層次聚類首先將每個物件作為乙個簇,然後逐漸合併這些簇形成較大的簇,直到全部物件都在同乙個簇中,或者滿足某個終止條件。**與之相反,它首先將全部的物件置於乙個簇中,然後逐漸分別為越來越小的簇,直到每個物件自成一簇,或者達到了某個終止條件,例如達到了某個希望的簇數目,或兩個最近的簇之間的距離超過了必定的閾值。

層次方法可以在不同粒度水平上對資料進行探測,而且容易實現相似度量或距離度量。但是,單純的層次聚類演算法終止條件曖昧,而且執行合併或**簇的操作不可修正,這可能致使聚類結果品質很低。另外,由於須要檢查和預算大量物件或簇才能決定簇的合併或**,所以其可擴充套件性較差。因此,事實應用中常把層次方法與其他方法結合應用,形成多階段聚類,改善聚類品質。這類方法包括birch、cure、rock、chameleon等。

對於非球狀的聚類問題可採取基於密度的聚類演算法。基於密度的聚類演算法(density-based method)從資料物件的分布密度觸發,把密度足夠大的區域連線起來,從而可以發現任意外形的簇,而且此類演算法還能有效去除雜訊。罕見的基於密度的演算法有dbscan、optics、denclue等。

視覺聚類演算法是基於尺度空間理論建立的。其基本思惟是:將資料集看作影象,將資料建模問題看作認知問題,通過模擬認知心理學的格式塔原理與生物視覺原理解決問題。格式塔原理(gestalt)就是物體的團體是由區域性特徵組織在一起的認知原則,包括相似率、連續率、閉合率、近鄰率、對稱率。將這五者作為聚類的基本原則,模擬人的眼睛由近到遠視察風物的程序設盤算法進行聚類。隨著由近到遠,視察尺度由小變大,所看到的風物層次會逐漸變化,這就是乙個聚類的程序。

視覺聚類的關鍵是最好聚類個數的選擇。隨著尺度σ由小變大,聚類個數逐漸變少,但會湧現尺度σ在很大範圍內變化而聚類個數穩定穩定的情況,這意味著這個聚類個數存活週期最長,它就是最好聚類個數。這解決了聚類有效性問題。

資料探勘(五) 聚類

聚類是資料探勘描述任務的乙個重要組成部分。資料探勘任務包括描述性任務和 性任務兩種。描述性任務包括聚類 關聯分析 序列 異常檢測等,性任務包括回歸和分類。聚類 將資料物件劃分為若干類,同一類的物件具有較高的相似度,不同類的物件相似度較低。從這個簡單的描述中,可以看出聚類的關鍵是如何度量物件間的相似性...

資料探勘 聚類

將現實世界的問題進行資料建模 mathlab 什麼是聚類分析 類似於 乙個同學是乙個資料,這乙個寢室的同學可以是乙個簇,不同的寢室是不同的簇,錯誤的,這個是劃分,聚類的甄別沒有準確的定則 簇內 同乙個寢室同學距離點小,一定比兩個不同的簇之間的兩個點直接距離小。與劃分不同點,他是有意義的 兩個簇的對小...

資料探勘 K Means聚類演算法

聚類分析是根據資料本身結構特徵對資料點進行分類的方法。實質是按照彼此距離 的遠近將資料分為若干個類別,以使得類別內資料的 差異性 盡可能小 即 同質 性 盡可能大 類別間 差異性 盡可能大。聚類的目標 將一組資料分成若干組,組 內資料是相似的,而組間資料是有較明顯 差異。與分類區別 分類與聚類最大的...