[english][all] (請注意:中文版本並未隨英文版本同步更新!)
學習式向量量化(learning vector quantization)簡稱 LVQ,此方法是透過自動學習的演進過程,進行即時的微調,使各個類別的代表點趨近最佳值,可說明如下:
其中,α 是一個隨疊代次數而遞減函數,而且0 < α < 1。
- 設定每一個類別的代表點。假設共有四個類別,每一個類別有三個代表點,那就共有 12 個代表點。每個類別的代表點,可由此類別的資料來進行 k-means 分群法而得到,這方面是和 VQ 完全相同。(如果每個類別資料個數差距很大,也可以讓具有大量資料的類別有較多的代表點。)
- 對每一個資料點 x,尋找最接近的代表點,假設是 yk
- 比較 x 和 yk 的類別,進行下列處理:
- 若類別相同,則將 yk 朝 x 的方向拉近:
yk = yk + α [x - yk] - 若類別不同,則將 yi 朝 x 的反方向拉遠:
yk = yk - α [x - yk] - 回到步驟二,反覆對所有資料點進行運算並微調代表點,直到代表點不再變化。
上述疊代方法收斂後,我們即可以使用每個類別的代表點來代表這一類的資料分佈。遇到未知類別的新資料,我們只需以最近鄰居法則,找出最近的代表點,即可判定該資料的類別。
LVQ 的方法和 VQ 很接近,但不同的是:
- VQ 是用在資料的壓縮與取編碼向量,適用於無類別資訊的資料。
- LVQ 的目標再找出同一個類別資料的代表點,再以代表點來進行分類,因此適用於分類問題。
References:
- T. Kohonen, "Improved Versions of Learning Vector Quantization", International Joint Conference on Neural Networks (IJCNN), 1990.
Data Clustering and Pattern Recognition (資料分群與樣式辨認)