1. 程式人生 > >自組織神經網路模型與學習演算法

自組織神經網路模型與學習演算法

自組織神經網路又稱為自組織競爭神經網路,特別適合於解決模式分類和識別方面的應用問題。該網路模型屬於前向神經網路模型,採用無監督學習演算法,其工作的基本思想是讓競爭層的各個神經元通過競爭與輸入模式進行匹配,最後僅有一個神經元成為競爭的勝利者,這一獲勝神經元的輸出就代表對輸入模式的分類。

常用的自組織競爭神經網路有自適應共振理論(ART)網路,自組織特徵對映(SOM)網路,對傳(CP)網路和協同神經網路(SNN)等。

自組織特徵對映網路的學習演算法

Kohonen自組織特徵對映演算法。能夠自動找出輸入資料之間的類似度,將相似的輸入在網路上就近配置,因此是一種可以構成對輸入資料有選擇地給予反應的網路。其學習演算法的步驟如下:

  1. 網路初始化 用隨機數設定輸入層和對映層之間的權值的初始值
  2. 輸入向量的輸入 把輸入向量 x=(x1,x2,,xn)T 輸入給輸入層
  3. 計算對映層的權值向量和輸入向量的距離 在對映層,計算各神經元的權值向量和輸入向量的歐氏距離。這裡,對映層的第j個神經元和輸入向量的距離為:d=i=1n(xiwij)2 其中,wij 為輸入層的i神經元和對映層的j神經元之間的權值。
  4. 選擇權值向量的距離最小的神經元 計算並選擇使輸入向量和權值向量的距離最小的神經元,如dj 為最小,把其稱為勝出神經元,並記作j 並給出其鄰接神經元集合。
  5. 權值的學習 勝出神經元和位於其臨界神經元的權值,以下式更新Δ
    wij=ηh(j,j)(xiwij)
    其中 η 是一個大於0小於1的常數。 h(j,j)=exp(|jj|2σ2) 其中 σ2 會隨著學習的進行而減小,因此h(j,j) 也會隨著學習的進行而慢慢變窄。 換言之,隨著學習的進行,從粗調會過度到微調。
  6. 是否到達預先設定的要求 如達到要求,則演算法結束,否則返回2 進行下一輪的學習。

可見,勝出神經元和其附近的神經元全部接近當時的輸入向量。學習初期,根據鄰域函式h(j,j) 在附近有很多神經元,形成粗略的對映。隨著學習的進行,其鄰域函式變窄,勝出神經元附近的神經元數變少,因此,接著進行區域性微調,空間解析度提高。

自組織競爭神經網路演算法能夠進行有效的自適應分類,但它仍然存在一些問題。第一個問題就是學習速度的選擇使其不得不在學習速度和最終權值向量的穩定性之間進行折衷。第二個問題是有時一個神經元的初始權值向量離輸入向量太遠以至於它從未在競爭中獲勝,因而也從未得到學習,這就形成毫無用處的“死”神經元。