機器學習筆記 自組織對映網路(SOM)

2022-07-25 20:15:09 字數 4088 閱讀 2616

什麼是自組織對映?

乙個特別有趣的無監督系統是基於競爭性學習,其中輸出神經元之間競爭啟用,結果是在任意時間只有乙個神經元被啟用。這個啟用的神經元被稱為勝者神經元(winner-takes-all neuron)。這種競爭可以通過在神經元之間具有橫向抑制連線(負反饋路徑)來實現。其結果是神經元被迫對自身進行重新組合,這樣的網路我們稱之為自組織對映(self organizing map,som)

神經生物學研究表明,不同的感覺輸入(運動,視覺,聽覺等)以有序的方式對映到大腦皮層的相應區域。

這種對映我們稱之為拓撲對映,它具有兩個重要特性:

我們的興趣是建立人工的拓撲對映,以神經生物學激勵的方式通過自組織進行學習。

我們將遵循拓撲對映形成的原則:「拓撲對映中輸出層神經元的空間位置對應於輸入空間的特定域或特徵」。

som的主要目標是將任意維度的輸入訊號模式轉換為一維或二維離散對映,並以拓撲有序的方式自適應地執行這種變換。

因此,我們通過將神經元放置在一維或二維的網格節點上來建立我們的som。更高的尺寸圖也是可能的,但不是那麼常見。

在競爭性學習過程中,神經元有選擇性地微調來適應各種輸入模式(刺激)或輸入模式類別。如此調整的神經元(即獲勝的神經元)的位置變得有序,並且在該網格上建立對於輸入特徵有意義的座標系。因此,som形成輸入模式所需的拓撲對映。我們可以將其視為主成分分析(pca)的非線性推廣。

輸入空間中的點x

'>x

x對映到輸出空間中的點i(x

)'>i(x)

i(x),如圖所示

其中。每乙個輸出空間中的點i

'>i

i將會對映到對應輸入空間中的點w(i

)'>w(i)

w(i)

我們將專注於被稱為kohonen網路的特定型別的som。 這個som(以二維對映為例)有乙個前饋結構,以行列方陣構成的單一計算層。每個神經元完全連線到輸入層中的所有源節點:

顯然,如果是一維的對映,那麼在計算層中只有一行(或一列)。

自組織的過程包括以下四個主要方面:

競爭過程

如果輸入空間是d

'>d

d維(即有d

'>d

d個輸入單元),我們可以把輸入模式寫成x

='>x=

x=,輸入單元i

'>i

i和神經元j

'>j

j之間在計算層的連線權重可以寫成wj=

'>wj=

wj=,其中n

'>n

n是神經元的總數。

然後,我們可以將我們的判別函式定義為輸入向量x

'>x

x和每個神經元j

'>j

j的權向量w

j'>wj

wj之間的平方歐幾里德距離dj

(x)=

∑i=1

d(xi

−wji

)2'>dj(x)=∑i=1d(xi−wji)2

dj(x)=∑i=1d(xi−wji)2

換句話說,權重向量最接近輸入向量(即與其最相似)的神經元被宣告為勝利者。這樣,連續的輸入空間可以通過神經元之間的乙個簡單的競爭過程被對映到神經元的離散輸出空間。

合作過程

在神經生物學研究中,我們發現在一組興奮神經元內存在橫向的相互作用。當乙個神經元被啟用時,最近的鄰居節點往往比那些遠離的鄰居節點更興奮。並且存在乙個隨距離衰減的拓撲鄰域

我們想為我們的som中的神經元定義乙個類似的拓撲鄰域。 如果sij

'>sij

sij是神經元網格上神經元i

'>i

i和j'>j

j之間的橫向距離,我們取tj

,i(x

)=exp⁡(−

sj,i

(x)2

2σ2)

'>tj,i(x)=exp(−s2j,i(x)2σ2)

tj,i(x)=exp⁡(−sj,i(x)22σ2)

作為我們的拓撲鄰域,其中i(x

)'>i(x)

i(x)是獲勝神經元的索引。該函式有幾個重要的特性:它在獲勝的神經元中是最大的,且關於該神經元對稱,當距離達到無窮大時,它單調地衰減到零,它是平移不變的(即不依賴於獲勝的神經元的位置)。

som的乙個特點是σ

'>σ

σ需要隨著時間的推移而減少。常見的時間依賴性關係是指數型衰減:σ(t

)=σ0

exp⁡(−

t/τσ

)'>σ(t)=σ0exp(−t/τσ)

σ(t)=σ0exp⁡(−t/τσ)

適應過程

顯然,我們的som必須涉及某種自適應或學習過程,通過這個過程,輸出節點自組織,形成輸入和輸出之間的特徵對映

地形鄰域的一點是,不僅獲勝的神經元能夠得到權重更新,它的鄰居也將更新它們的權重,儘管不如獲勝神經元更新的幅度大。在實踐中,適當的權重更新方式是δw

ji=η

(t)⋅

tj,i

(x)(

t)⋅(

xi−w

ji)'>δwji=η(t)⋅tj,i(x)(t)⋅(xi−wji)

δwji=η(t)⋅tj,i(x)(t)⋅(xi−wji)i(

x)'>

其中我們有乙個依賴於時間的學習率η(t

)=η0

exp⁡(−

t/τη

)'>η(t)=η0exp(−t/τη)

η(t)=η0exp⁡(−t/τη),該更新適用於在多輪迭代中的所有訓練模式x

'>x

x。每個學習權重更新的效果是將獲勝的神經元及其鄰居的權向量w

i'>wi

wi向輸入向量x

'>x

x移動。對該過程的迭代進行會使得網路的拓撲有序。

如果正確選擇引數(σ0,

τσ,η

0,τη

'>σ0,τσ,η0,τη

σ0,τσ,η0,τη),我們可以從完全無序的初始狀態開始,並且som演算法將逐步使得從輸入空間得到的啟用模式表示有序化。(但是,可能最終處於特徵對映具有拓撲缺陷的亞穩態。)

這個自適應過程有兩個顯著的階段:

我們有乙個空間連續的輸入空間,其中包含我們的輸入向量。我們的目的是將其對映到低維的離散輸出空間,其拓撲結構是通過在網格中布置一系列神經元形成的。我們的som演算法提供了稱為特徵對映的非線性變換。

som演算法過程總結如下:

初始化- 為初始權向量w

j'>wj

wj選擇隨機值。

取樣- 從輸入空間中抽取乙個訓練輸入向量樣本x

'>x

x。匹配- 找到權重向量最接近輸入向量的獲勝神經元i(x

)'>i(x)

i(x)。

更新- 更新權重向量 δwj

i=η(

t)⋅t

j,i(

x)(t

)⋅(x

i−wj

i)'>δwji=η(t)⋅tj,i(x)(t)⋅(xi−wji)

δwji=η(t)⋅tj,i(x)(t)⋅(xi−wji)

繼續- 繼續回到步驟2,直到特徵對映趨於穩定。

我們來看維基百科上給出的乙個som學習過程示意圖,

乙個自組織對映訓練的例證。藍色斑點是訓練資料的分布,而小白色斑點是從該分布中抽取得到的當前訓練資料。首先(左圖)som節點被任意地定位在資料空間中。我們選擇最接近訓練資料的節點作為獲勝節點(用黃色突出顯示)。它被移向訓練資料,包括(在較小的範圍內)其網格上的相鄰節點。經過多次迭代後,網格趨於接近資料分布(右圖)。

**:

自組織對映

自組織對映的主要目的是將任意維數的輸入訊號模式轉變為一維或二維的離散對映,並且以拓撲有序的方式自適應實現這個變換。合作 獲勝神經元決定興奮神經元的拓撲領域的空間位置,從而提供這樣的相鄰神經元之間的合作。競爭 對每個輸入模式,網路中的神經元計算它們各自的判別函式的值,這個判別函式為神經元之間的競爭提供...

自組織團隊 學習筆記

mishkin 這個很難 說,因為在不同的組織,情況會稍微不同。不過,對於一些規模較小的公司來說。要開發軟體,最重要的可能是測試驅動開發 test driven development 和迭代式開發 iterative delivery 在專案初期,這兩種實踐是最簡單也是最重要的。但是,從長遠來看,...

SOM自組織特徵對映神經網路 MATLAB

競爭層?正方形?看不出來資料屬於哪類?神經網路建立函式 一 newsom函式 net newsom pr,d1,d2,tfcn,dfcn,olr,osteps,tlr,pr r個輸入元素的最大值和最小值的設定值,r 2維矩陣 di 第i層的維數,預設為 5 8 tfcn 拓撲函式,預設為hextop...