some_uygurqa serik kino_Self Organizing Maps (SOM): 一種基于神經(jīng)網(wǎng)絡
本文關鍵詞:SOM,由筆耕文化傳播整理發(fā)布。
Self Organizing Maps (SOM): 一種基于神經(jīng)網(wǎng)絡的聚類算法
自組織映射神經(jīng)網(wǎng)絡, 即Self Organizing Maps (SOM), 可以對數(shù)據(jù)進行無監(jiān)督學習聚類。它的思想很簡單,,本質上是一種只有輸入層--隱藏層的神經(jīng)網(wǎng)絡。隱藏層中的一個節(jié)點代表一個需要聚成的類。訓練時采用“競爭學習”的方式,每個輸入的樣例在隱藏層中找到一個和它最匹配的節(jié)點,稱為它的激活節(jié)點,也叫“winning neuron”。 緊接著用隨機梯度下降法更新激活節(jié)點的參數(shù)。同時,和激活節(jié)點臨近的點也根據(jù)它們距離激活節(jié)點的遠近而適當?shù)馗聟?shù)。
所以,SOM的一個特點是,隱藏層的節(jié)點是有拓撲關系的。這個拓撲關系需要我們確定,如果想要一維的模型,那么隱藏節(jié)點依次連成一條線;如果想要二維的拓撲關系,那么就行成一個平面,如下圖所示(也叫Kohonen Network):
既然隱藏層是有拓撲關系的,所以我們也可以說,SOM可以把任意維度的輸入離散化到一維或者二維(更高維度的不常見)的離散空間上。 Computation layer里面的節(jié)點與Input layer的節(jié)點是全連接的。
拓撲關系確定后,開始計算過程,大體分成幾個部分:
1) 初始化:每個節(jié)點隨機初始化自己的參數(shù)。每個節(jié)點的參數(shù)個數(shù)與Input的維度相同。
2)對于每一個輸入數(shù)據(jù),找到與它最相配的節(jié)點。假設輸入時D維的, 即 X={x_i, i=1,...,D},那么判別函數(shù)可以為歐幾里得距離:
3) 找到激活節(jié)點I(x)之后,我們也希望更新和它臨近的節(jié)點。令S_ij表示節(jié)點i和j之間的距離,對于I(x)臨近的節(jié)點,分配給它們一個更新權重:
簡單地說,臨近的節(jié)點根據(jù)距離的遠近,更新程度要打折扣。
4)接著就是更新節(jié)點的參數(shù)了。按照梯度下降法更新:
迭代,直到收斂。
與K-Means的比較
同樣是無監(jiān)督的聚類方法,SOM與K-Means有什么不同呢?
(1)K-Means需要事先定下類的個數(shù),也就是K的值。 SOM則不用,隱藏層中的某些節(jié)點可以沒有任何輸入數(shù)據(jù)屬于它。所以,K-Means受初始化的影響要比較大。
(2)K-means為每個輸入數(shù)據(jù)找到一個最相似的類后,只更新這個類的參數(shù)。SOM則會更新臨近的節(jié)點。所以K-mean受noise data的影響比較大,SOM的準確性可能會比k-means低(因為也更新了臨近節(jié)點)。
(3) SOM的可視化比較好。優(yōu)雅的拓撲關系圖 。
參考文獻:~jxb/NN/l16.pdf
posted on
本文關鍵詞:SOM,由筆耕文化傳播整理發(fā)布。
本文編號:108048
本文鏈接:http://sikaile.net/zhongyixuelunwen/108048.html