《機器學習》周志華 k均值演算法學習筆記
無監督學習中的研究最多的應用最廣的演算法。
通過對無標記訓練樣本的學習來獲得資料內在的規律。
「聚類將能夠像資料集中的樣本劃分為通常不相交的子集,每乙個子集稱為簇。」——《機器學習》周志華
我們希望「物以類聚」,同一簇的樣本盡可能相似,不同簇的樣本盡量不同。效能度量就是評估聚類結果的好壞。
聚類的效能度量的兩個指標:外部指標和內部指標。兩者的區別在於有沒有外界參考模型提供參考。
jaccard係數:
fm 指數:
rand指數:
這些效能度量結果值在[0,1]且越大約好。
db指數:
db指數越小越好。
dunn指數:
dunn指數越大越好。
距離度量的函式需要滿足4個基本性質:非負性,同一性,對稱性,直遞性。 直遞性不好理解,可以理解為三角形兩邊之和大於第三邊。
非直遞性的例子:人馬例子。
假如人與人馬的相似距離為1,馬與人馬的相似距離也為1,但是人與馬的不相似,距離為5。1+1<5,這裡不滿足直遞性,不能作為度量距離。所以要基於具體的資料來決定合適的距離計算式。
給定兩個樣本xi
x
i, xj
x
j,每個樣本具有n個特徵,計算這兩個樣本特徵的距離(相似度)常用閔可夫斯基距離(minkowski distance) di
stmb
(xi,
xj)=
(∑u=
1n|x
iu−x
ju|p
)1p dis
tmb(
xi,x
j)=(
∑u=1
n|xi
u−xj
u|p)
1p
p = 1時稱為曼哈頓距離;p = 2時稱為歐氏距離。
把直接能在屬性上計算距離的屬性,如,1與2近離3遠,稱為有序屬性
閔可夫斯基距離用於計算有序屬性。
不能直接在屬性上計算距離的屬性,如,稱為無序屬性
無序屬性用vdm (value difference metric) 計算,mu
,am u,
a表示在屬性u上取值為a的樣本數,mu
,a,i
m u,
a,
i表示在第i個樣本簇中在屬性u上取值為a的樣本簇數,k為樣本簇數,屬性u上的兩個離散值a,b之間的vdm距離為 vd
mp(a
,b)=
∑i=1
k|mu
,a,i
mu,a
−mu,
b,im
u,b|
p vdm
p(a,
b)=∑
i=1k
|mu,
a,im
u,a−
mu,b
,imu
,b|p
假設聚類結構能夠通過一組原型刻畫,不同的原型表示、求解方法會產生不同演算法,常用的有:
給定樣本集d=
d
=,k均值演算法針對聚類所的簇c=
c
=劃分最小平方誤差 e=
∑i=1
k∑x∈
ci∥x
−ui∥
22, e=∑
i=1k
∑x∈c
i‖x−
ui‖2
2,
其中ui
=1|c
i|∑x
∈cix
u i=
1|ci
|∑x∈
ci
x是ci的均值向量。
e很難求,實際上式通過迭代優化求解。
演算法流程:
輸入: 樣本集和簇數k
過程:
(1)隨機選擇k個樣本組成初始均值向量(簇均值);
(2)計算每乙個樣本與初始均值向量的距離;
(3)根據最近原則把樣品劃入相應的簇;
(4)計算新的簇均值並更新當前簇均值;
(5)重複(2)-(5),若迭代更新後聚類結果不變,返回簇分類結果。
輸出:簇劃分c=
c
=
K Means聚類演算法
k means聚類演算法 intergret kmeans演算法的基本思想是初始隨機給定k個簇中心,按照最鄰近原則把待分類樣本點分到各個簇。然後按平均法重新計算各個簇的質心,從而確定新的簇心。一直迭代,直到簇心的移動距離小於某個給定的值。k means聚類演算法主要分為三個步驟 1 第一步是為待聚類...
聚類演算法 K means
演算法接受引數 k 然後將事先輸入的n個資料物件劃分為 k個聚類以便使得所獲得的聚類滿足 同一聚類中的物件相似度較高 而不同聚類中的物件相似度較小。聚類相似度是利用各聚類中物件的均值所獲得乙個 中心物件 引力中心 來進行計算的。k means演算法是最為經典的基於劃分的聚類方法,是十大經典資料探勘演...
k means聚類演算法
說到聚類,得跟分類區別開來,分類是按人為給定的標準將樣本歸到某個類別中去,在機器學習中多是監督學習,也就是訓練樣本要給標籤 正確的類別資訊 而聚類是在某種規則下自動將樣本歸類,在機器學習中是無監督學習,不需要提前給樣本打標籤。k means聚類演算法,就是在某種度量方式下,將樣本自動劃分到k個類別中...