Matlab神经网络十讲(7): Self-Organizing and LVQ Networks
1. Self-Organization Network
? ? ? ? ?SOM和現在流行的ANN(MLP)模型在結構上類似,都由非常簡單的神經元結構組成,但是SOM是一類“無監督學習”模型,一般的用法是將高維的input數據在低維的空間表示,因此SOM天然是一種降維方法。除了降維,SOM還可以用于數據可視化,以及聚類等應用中。
? ? ? ? ??SOM是一種自組織(競爭型)神經網絡,除了SOM外,其他常見的自組織(競爭型)神經網絡還有對偶傳播(Counter propagation)網絡,自適應共振理論(Adaptive Resonance Theory)網絡等。
? ? ? ? ? ?生物學研究表明,在人腦的感覺通道上,神經元的組織原理是有序排列的。當外界的特定時空信息輸入時,大腦皮層的特定區域興奮,而且類似的外界信息在對應的區域是連續映像的。生物視網膜中有許多特定的細胞對特定的圖形比較敏感,當視網膜中有若干個接收單元同時受特定模式刺激時,就使大腦皮層中的特定神經元開始興奮,輸入模式接近,與之對應的興奮神經元也接近;在聽覺通道上,神經元在結構排列上與頻率的關系十分密切,對于某個頻率,特定的神經元具有最大的響應,位置相鄰的神經元具有相近的頻率特征,而遠離的神經元具有的頻率特征差別也較大。大腦皮層中神經元的這種響應特點不是先天安排好的,而是通過后天的學習自組織形成的。
? ? ? ? ?在生物神經系統中,存在著一種側抑制現象,即一個神經細胞興奮以后,會對周圍其他神經細胞產生抑制作用。這種抑制作用會使神經細胞之間出現競爭,其結果是某些獲勝,而另一些則失敗。表現形式是獲勝神經細胞興奮,失敗神經細胞抑制。自組織(競爭型)神經網絡就是模擬上述生物神經系統功能的人工神經網絡。
? ? ? ? ? 自組織(競爭型)神經網絡的結構及其學習規則與其他神經網絡相比有自己的特點。在網絡結構上,它一般是由輸入層和競爭層構成的兩層網絡;兩層之間各神經元實現雙向連接,而且網絡沒有隱含層。有時競爭層各神經元之間還存在橫向連接(注:上面說的特點只是根據傳統網絡設計來說的一般情況,隨著技術發展,尤其是深度學習技術的演進,我認為這種簡單的自組織網絡也會有所改變,比如,變得更深,或者引入time series概念)。在學習算法上,它模擬生物神經元之間的興奮、協調與抑制、競爭作用的信息處理的動力學原理來指導網絡的學習與工作,而不像多層神經網絡(MLP)那樣是以網絡的誤差作為算法的準則。競爭型神經網絡構成的基本思想是網絡的競爭層各神經元競爭對輸入模式響應的機會,最后僅有一個神經元成為競爭的勝者。這一獲勝神經元則表示對輸入模式的分類。因此,很容易把這樣的結果和聚類聯系在一起。
2.?競爭學習的概念與原理
一種自組織神經網絡的典型結構如左圖,由輸入層和競爭層組成。主要用于完成的任務基本還是“分類”和“聚類”,前者有監督,后者無監督。聚類的時候也可以看成將目標樣本分類,只是是沒有任何先驗知識的,目的是將相似的樣本聚合在一起,而不相似的樣本分離。
最常見的距離(相似度)計算方法就是歐氏距離和余弦相似度了,示意圖如下:
??
3.?學習向量量化LVQ神經網絡
? ? ? ? ??在競爭網絡結構的基礎上,學習向量化(learning vector quantization,LVQ)網絡被提出來,融合競爭學習思想和有監督學習算法的特點,通過教導信號對輸入樣本的分配類別進行規定,從而克服自組織網絡采用無監督學習算法帶來的缺乏分類信息的弱點。
? ? ? 3.1??向量量化
? ? ? ? ??向量量化的思路是,將高維輸入空間分成若干不同的區域,對每個區域確定一個中心向量作為聚類的中心,與其處于同一區域的輸入向量可用該中心向量來代表,從而形成了以各中心向量為聚類中心的點集。在圖像處理領域常用各區域中心點(向量)的編碼代替區域內的點來存儲或傳輸,從而提出了各種基于向量量化的有損壓縮技術。
? ? ? ? ? 在二維輸入平面上表示的中心向量分布稱為Voronoi圖,如下圖所示:
自組織映射可以起到聚類作用,但無法直接分類或識別,因此它只是自適應解決模式分類問題兩步中的第一步。且把第二步:學習向量量化,采用監督機制,在訓練中加入教師信號作為分類信息對權值進行細調,并對輸出神經元預先指定其類別。
? ? ? ?3.2?LVQ網絡結構與工作原理
競爭層有m個神經元,輸入層有n個神經元,兩層之間完全連接。輸出層每個神經元只與競爭層中的一組神經元連接,連接權重固定為1,訓練過程中輸入層和競爭層之間的權值逐漸被調整為聚類中心。當一個樣本輸入LVQ網絡時,競爭層的神經元通過勝者為王學習規則產生獲勝神經元,容許其輸出為1,其它神經元輸出為0。與獲勝神經元所在組相連的輸出神經元輸出為1,而其它輸出神經元為0,從而給出當前輸入樣本的模式類。將競爭層學習得到的類成為子類,而將輸出層學習得到的類成為目標類。
? ? ? ?3.3?LVQ網絡結構與工作原理
LVQ網絡的學習規則結合了競爭學習規則和有導師學習規則,所以樣本集應當為{(xi,di)}。其中di為l維,對應輸出層的l個神經元,它只有一個分量為1,其他分量均為0。通常把競爭層的每個神經元指定給一個輸出神經元,相應的權值為1,從而得到輸出層的權值。比如某LVQ網絡競爭層6個神經元,輸出層3個神經元,代表3類。若將競爭層的1,3指定為第一個輸出神經元,2,5指定為第二個輸出神經元,3,6指定為第三個輸出神經元。則競爭層到輸出層的權值矩陣為:
訓練預先定義好競爭層到輸出層權重,從而指定了輸出神經元類別,訓練中不再改變。網絡的學習通過改變輸入層到競爭層的權重來進行。根據輸入樣本類別和獲勝神經元所屬類別,可判斷當前分類是否正確。若分類正確,則將獲勝神經元的權向量向輸入向量方向調整,分類錯誤則向相反方向調整。如下圖所示:
LVQ網絡學習算法的步驟如下:
(1) ? 初始化。競爭層各神經元權值向量隨機賦值小隨機數,確定初始學習速率和訓練次數。
(2) ? 輸入樣本向量。
(3) ? 尋找獲勝神經元。
(4) ? 根據分類是否正確按照不同規則調整獲勝神經元的權值:當網絡分類結果與教師信號一致時,向輸入樣本方向調整權值:
當網絡分類結果與教師信號不一致時,向輸入樣本反方向調整權值:
其他非獲勝神經元權值保持不變。
(5) ? 更新學習速率
(6) ? 當訓練次數未達到設定的次數時,轉到步驟(2)輸入下一個樣本,重復各步驟直到達到設定訓練次數為止。上述訓練過程中,要保證η(t)為單調下降函數。
? ? ? 3.4 總結
? ? ? ? ??LVQ網絡是SOFM網絡一種有監督形式的擴展,兩者有效結合可更好地發揮競爭學習和有監督學習的優點。
網絡結構-LVQ神經網絡有三層組成:輸入層,競爭層,線性輸出層
連接方式-輸入層與競爭層之間采用全連接的方式,競爭層與線性輸出層之間采用部分連接的方式。競爭層神經元個數總是大于線性輸出層神經元個數,每個競爭層神經元只與一個線性輸出層神經元相連接且連接權值恒為1。但是,每個線性輸出層神經元可以與多個競爭層神經元相連接。競爭層神經元與線性輸出層神經元的值只能是1或0。
? ? ? ? 當某個輸入模式被送至網絡時,與輸入模式距離最近的競爭層神經元被激活,神經元的狀態為“1”,而其他競爭層神經元的狀態均為“0”。因此,與被激活神經元相連接的線性輸出層神經元狀態也為“1”,而其他線性輸出層神經元的狀態均為“0”。
總結
以上是生活随笔為你收集整理的Matlab神经网络十讲(7): Self-Organizing and LVQ Networks的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 教你29招,让你在社交,职场上人人对你刮
- 下一篇: 结合PE格式对linker分析1