十大經典資料探勘演算法 k means

2021-08-26 02:44:06 字數 1859 閱讀 7232

作者簡介:treant 人工智慧愛好者社群專欄作者

部落格專欄:

1、引言k-means與knn雖然都是以k打頭,但卻是兩類演算法——knn為監督學習中的分類演算法,而k-means則是非監督學習中的聚類演算法;二者相同之處:均利用近鄰資訊來標註類別。

聚類是資料探勘中一種非常重要的學習流派,指將未標註的樣本資料中相似的分為同一類,正所謂「物以類聚,人以群分」嘛。k-means是聚類演算法中最為簡單、高效的,核心思想:由使用者指定k個初始質心(initial centroids),以作為聚類的類別(cluster),重複迭代直至演算法收斂。

2、基本演算法

在k-means演算法中,用質心來表示cluster;且容易證明k-means演算法收斂等同於所有質心不再發生變化。基本的k-means演算法流程如下:

選取k個初始質心(作為初始cluster);

repeat:

對每個樣本點,計算得到距其最近的質心,將其類別標為該質心所對應的cluster;

重新計算k個cluser對應的質心;

until 質心不再發生變化

對於歐式空間的樣本資料,以平方誤差和(sum of the squared error, sse)作為聚類的目標函式,同時也可以衡量不同聚類結果好壞的指標:

表示樣本點

到cluster

的質心距離平方和;最優的聚類結果應使得sse達到最小值。

下圖中給出了乙個通過4次迭代聚類3個cluster的例子:

k-means存在缺點:

同時,k值的選取也會直接影響聚類結果,最優聚類的k值應與樣本資料本身的結構資訊相吻合,而這種結構資訊是很難去掌握,因此選取最優k值是非常困難的。

3、優化

為了解決上述存在缺點,在基本k-means的基礎上發展而來二分 (bisecting) k-means,其主要思想:乙個大cluster進行**後可以得到兩個小的cluster;為了得到k個cluster,可進行k-1次**。演算法流程如下:

初始只有乙個cluster包含所有樣本點;

repeat:

從待**的clusters中選擇乙個進行二元**,所選的cluster應使得sse最小;

until 有k個cluster

上述演算法流程中,為從待**的clusters中求得區域性最優解,可以採取暴力方法:依次對每個待**的cluster進行二元**(bisect)以求得最優**。二分k-means演算法聚類過程如圖:

從圖中,我們觀察到:二分k-means演算法對初始質心的選擇不太敏感,因為初始時只選擇乙個質心。

4、參考資料

[1] pang-ning tan, michael steinbach, vipin kumar, introduction to data mining.

[2] xindong wu, vipin kumar, the top ten algorithms in data mining.

資料探勘十大經典演算法

最近想看看資料探勘是個什麼東西,因此特別的關注了下,首先看看資料探勘包含哪些演算法,網上找到了十大經典演算法 01.c4.5 是機器學習演算法中的一種分類決策樹演算法,其核心演算法是 id3演算法 02.k means演算法 是一種聚類演算法。03.svm 一種 監督式學習 的方法,廣泛運用於統計分...

資料探勘十大經典演算法

1 c4.5 2 k means 3 svm 4 apriori 5 em 6 pagerank 7 adaboost 8 knn 9 bayes 10 cart 1 c4.5 計算增益率 step1 計算資料集d的熵 單位為位元 info d step2 計算每個屬性的熵info x d step...

十大經典資料探勘演算法

c4.5演算法 機器學習演算法中的乙個分類決策樹演算法 cart 分類與回歸樹 c4.5與cart都是決策樹演算法 id3用資訊增益,c4.5用資訊增益率,cart用gini係數 knn 樸素貝葉斯 bayes 在眾多的分類模型中,應用最為廣泛的兩種分類模型是決策樹模型 decision tree ...