學習向量量化是一種聚類演算法,我自己感覺這應該是一種監督學習演算法吧,這種演算法屬於原型聚類,找到初始原型來刻畫聚類結構,與一般聚類演算法不同的是,(lvq)這種演算法資料樣本帶有監督資訊標記
通過資料集不斷學習不斷移動原型向量的位置,把高維空間劃分成 n 個簇,每個原型向量代表乙個聚類簇。
初始化一組原型向量,初始化的方法一般為,從第q個簇裡面隨機找乙個標記為tq的樣本進行初始化
repeat :
從樣本中隨機選擇樣本
計算樣本到每乙個原型向量的距離
找到乙個最短的距離
if yj = ti (同一類)
p' := pj + a (xj - pj) (減小兩者之間的距離可以用數學公式算,也具有幾何直觀性,讓p接近這個樣本點 a 為學習率)
else
p' := pj - a (xj - pj) (增大距離,讓p遠離樣本點)
更新 pj := p'
迭代直到滿足要結束的條件。
演算法最終學得一組原型向量,每乙個原型向量控制乙個範圍,每個原型向量類似數學中的 (voronoi 劃分中的中心點),對整個高維空間進行了 劃分,當然這個劃分也就滿足了 voronoi 劃分的性質 (那個距離的性質)。
感覺這像是乙個分類演算法 嘻嘻嘻
LVQ學習向量量化
現在已經2011年五月份了,今年的兩個多月幾乎沒什麼成果,想到水樣年華這個詞,額!總結過往,翹首未來,心中不免些許迷茫,程式設計師之路在何方?靡靡之音,不絕於耳,然何時我也能奏一首陽春白雪,不為流傳於世,只求一心靈安靜之所!lvq原理不再贅述,其本質可以看成是最近鄰分類,所謂競爭性神經網路,即把歐氏...
手寫LVQ(學習向量量化)聚類演算法
lvq聚類與k means不同之處在於,它是有標記的聚類。基本思想 初始化q個原型向量 q代表需要聚類的類別數 每個原型向量也初始化其標籤 標籤與樣本標籤取值範圍相同 如果原型向量的標籤與某樣本標籤相同 不同,則使用兩者間距離更新原型向量 相同時靠近更新,不同時遠離更新 因此,原型向量將反映乙個標籤...
學習向量量化
與 k 均值演算法類似,學習向量量化 learning vector quantization,簡 稱 lvq 也是試圖找到一組原型向量來刻畫聚類結構,但與一般聚類演算法不同 的是,lvq 假設資料樣本帶有類別標記,學習過程利用樣本的這些監督資訊來 輔助聚類.可看作通過聚類來形成 類別 子類 結構,...