kmeans聚類算法實驗報告心得體會 kmeans聚類算法屬于哪一類?
kmeans聚類算法屬于哪一類?K-Mkmeans聚類屬于距離度量嗎?K-means算法是一種基于距離的聚類算法,通過距離來衡量對象之間的相似性。兩個樣本對象之間的距離越大,相似性越小。關(guān)于K-mea
kmeans聚類算法屬于哪一類?
K-M
kmeans聚類屬于距離度量嗎?
K-means算法是一種基于距離的聚類算法,通過距離來衡量對象之間的相似性。兩個樣本對象之間的距離越大,相似性越小。關(guān)于K-means算法。
K-means算法的思想和上面故事中的牧師選擇原理非常相似,最終目標(biāo)是最小化所有樣本數(shù)據(jù)(村民)到聚類中心(牧師)的距離之和。K-means算法的實現(xiàn)步驟如下:
輸入:數(shù)據(jù)集D{x1,x2,?,xn}D{x1,x2,?,xn},聚類數(shù)kk
輸出:聚類結(jié)果聚類
(1)隨機(jī)初始化kk個樣本作為聚類中心{μ1,μ2,?,μk}{μ1,μ2,?,μk };
(2)計算所有樣本西溪到數(shù)據(jù)集中每個聚類中心的距離dist(xi,μj)dist(xi,μj),將西溪劃分為距離最小的聚類中心所在的聚類;
(3)對于每個聚類,更新其聚類中心:μ i1 | ci |∈ x ∈ cix μ i1 | ci |∈ x ∈ cix。
(4)重復(fù)步驟(2)和(3),直到聚類中心無明顯變化或滿足迭代次數(shù)。
綜上所述,K-means算法的整個過程可以概括為一個優(yōu)化問題,通過不斷迭代使目標(biāo)函數(shù)收斂。K-means算法的目標(biāo)函數(shù)是:
J∑kj1∑ni1dist(xi,μj)J∑j1k∑i1ndist(xi,μj)
從目標(biāo)函數(shù)可以看出,有兩個因素對聚類結(jié)果有至關(guān)重要的影響:kk值和距離度量方法。
對于kk值,這是K-means算法不可避免的問題,直接影響最終聚類結(jié)果的準(zhǔn)確性。在如何確定kk值的問題上,傳統(tǒng)的K-means算法在數(shù)據(jù)分布未知的情況下,只能通過多次嘗試不同的kk值來探索最優(yōu)值。值得一提的是,很多專家學(xué)者對K-means算法進(jìn)行了優(yōu)化和改進(jìn),解決了K-means算法中如何確定kk值甚至避免kk值的問題,設(shè)計了很多改進(jìn)的K-means算法,這是另外一個大的話題,本文不贅述。
讓 讓我們來談?wù)劸嚯x測量。問題。
K-means算法是一種應(yīng)用廣泛、出現(xiàn)率高的聚類算法。想法簡單,解釋有力。設(shè)置kk值后,可以輸出指定數(shù)量的簇。但是,在實際應(yīng)用中,我們也需要注意K-means算法的缺點:
聚類前必須確定K-means算法的kk值,在缺乏數(shù)據(jù)集分布知識的情況下,往往難以估計,只能通過多次嘗試探索出最佳的kk值。
K-means算法第一次迭代中的kk聚類中心對算法的最終結(jié)果影響很大,但在K-means算法中,第一次迭代中的kk聚類中心是隨機(jī)選取的,這給算法的聚類結(jié)果帶來了不確定性。
K-means算法在非球形分布數(shù)據(jù)集上表現(xiàn)不佳。K-means算法等基于距離的聚類算法的基本假設(shè)是,同一個聚類中的對象之間的距離遠(yuǎn)小于不同聚類中的對象之間的距離,相當(dāng)于把聚類看作一個球體,因此K-means算法對于非球形分布的數(shù)據(jù)集可能表現(xiàn)不佳。
K-means算法在不斷迭代的過程中逐步優(yōu)化算法。每次迭代都要計算每個對象到聚類中心的距離,所以當(dāng)數(shù)據(jù)量非常大的時候,時間開銷比較大。