大資料之資料探勘理論筆記 聚類問題之K-means
大資料之資料探勘理論筆記 聚類問題之K-means
推薦參考博文: http://www.cnblogs.com/leoo2sk/archive/2010/09/20/k-means.html
推薦參考博文: http://blog.csdn.net/cyxlzzs/article/details/7416491 試過了,確實可執行。
http://blog.csdn.net/ghostfromheaven/article/details/6516188
1. 聚類的理解
聚類是一個劃分資料物件集的過程。一個數據物件集被劃分為幾個簇,並且簇內物件之間具有較高的相似性,但與其他簇中的物件卻很不相似。劃分依據往往是描述物件的屬性值評估,通常涉及距離量度。劃分方法採用聚類演算法,即使對於相同的資料集,不同的聚類方法可能產生不同的聚類結果。
聚類的類標號資訊是未知的(即每個訓練元組隸屬哪一類示先並未知曉),因此聚類是無監督學習。
2. 聚類應用領域
商務智慧、影象識別、Web搜尋等
聚類用於離群點檢測 outlier detection(如:信用卡欺詐檢測)
3. 聚類的兩種經典方法
基於距離的方法 K-means
基於密度的方法 DBScan
4. K-means (K-均值)
聚類演算法核心思想:把資料集中的物件分割槽,每個分割槽代表一個簇;簇的形成旨在優化一個客觀劃分準則(如基於距離的相異性函式,e.g.簇中所有物件與該簇代表形心之間的誤差平方和),使得根據資料集的屬性,在同一個簇中的物件相似,不同簇中的物件相異。
K-means演算法的核心要點:1. K-means演算法把簇的形心
5. K-means 演算法過程簡述:
initialization
1、從資料集D中隨機取k個元素,作為k個簇的各自的中心。
2、分別計算剩下的元素到k個簇中心的相異度,將這些元素分別分配到相異度最低的簇。
repeat
3、根據聚類結果,重新計算k個簇各自的中心,計算方法是取簇中所有元素各自維度的算術平均數。
4、將D中全部元素按照新的中心重新聚類。
until
5、重複第4步,直到聚類結果不再變化。
6、將結果輸出。
輸入:K——簇的數目,即劃分的組數;D——資料集
輸出:聚類結果
6. 相異度的數學內函計算
推薦參考博文: http://www.cnblogs.com/leoo2sk/archive/2010/09/20/k-means.html 之內容4.2相異度的計算
另外補充一句,博主給的例子很有趣~
7. K-means演算法java實現
推薦參考博文: http://blog.csdn.net/cyxlzzs/article/details/7416491 試過了,確實可執行。
http://blog.csdn.net/ghostfromheaven/article/details/6516188