自組織神經網絡介紹:自組織特徵映射SOM(Self-organizing feature Map),第一部分
自組織神經網絡介紹:自組織特徵映射SOM(Self-organizing feature Map),第二部分
自組織神經網絡介紹:自組織特徵映射SOM(Self-organizing feature Map),第三部分算法
本文詳細介紹一下自組織神經網絡概念和原理,並重點介紹一下自組織特徵映射SOM網絡。SOM和如今流行的ANN(MLP)模型在結構上相似,都由很是簡單的神經元結構組成,可是SOM是一類「無監督學習」模型,通常的用法是將高維的input數據在低維的空間表示[1],所以SOM自然是一種降維方法。除了降維,SOM還能夠用於數據可視化,以及聚類等應用中。markdown
SOM是一種自組織(競爭型)神經網絡,除了SOM外,其餘常見的自組織(競爭型)神經網絡還有對偶傳播(Counter propagation)網絡,自適應共振理論(Adaptive Resonance Theory)網絡等。網絡
生物學研究代表,在人腦的感受通道上,神經元的組織原理是有序排列的。當外界的特定時空信息輸入時,大腦皮層的特定區域興奮,並且相似的外界信息在對應的區域是連續映像的。生物視網膜中有許多特定的細胞對特定的圖形比較敏感,當視網膜中有若干個接收單元同時受特定模式刺激時,就使大腦皮層中的特定神經元開始興奮,輸入模式接近,與之對應的興奮神經元也接近;在聽覺通道上,神經元在結構排列上與頻率的關係十分密切,對於某個頻率,特定的神經元具備最大的響應,位置相鄰的神經元具備相近的頻率特徵,而遠離的神經元具備的頻率特徵差異也較大。大腦皮層中神經元的這種響應特色不是先天安排好的,而是經過後天的學習自組織造成的[2]。(注:我認爲其中很大一部分是由無監督學習自發造成的)機器學習
在生物神經系統中,存在着一種側抑制現象,即一個神經細胞興奮之後,會對周圍其餘神經細胞產生抑制做用。這種抑制做用會使神經細胞之間出現競爭,其結果是某些獲勝,而另外一些則失敗。表現形式是獲勝神經細胞興奮,失敗神經細胞抑制。自組織(競爭型)神經網絡就是模擬上述生物神經系統功能的人工神經網絡[3]。學習
自組織(競爭型)神經網絡的結構及其學習規則與其餘神經網絡相比有本身的特色。在網絡結構上,它通常是由輸入層和競爭層構成的兩層網絡;兩層之間各神經元實現雙向鏈接,並且網絡沒有隱含層。有時競爭層各神經元之間還存在橫向鏈接(注:上面說的特色只是根據傳統網絡設計來講的通常狀況,隨着技術發展,尤爲是深度學習技術的演進,我認爲這種簡單的自組織網絡也會有所改變,好比,變得更深,或者引入time series概念)。在學習算法上,它模擬生物神經元之間的興奮、協調與抑制、競爭做用的信息處理的動力學原理來指導網絡的學習與工做,而不像多層神經網絡(MLP)那樣是以網絡的偏差做爲算法的準則。競爭型神經網絡構成的基本思想是網絡的競爭層各神經元競爭對輸入模式響應的機會,最後僅有一個神經元成爲競爭的勝者。這一獲勝神經元則表示對輸入模式的分類[3]。所以,很容易把這樣的結果和聚類聯繫在一塊兒。.net
一種自組織神經網絡的典型結構:以下圖,由輸入層和競爭層組成。主要用於完成的任務基本仍是「分類」和「聚類」,前者有監督,後者無監督。聚類的時候也能夠當作將目標樣本分類,只是是沒有任何先驗知識的,目的是將類似的樣本聚合在一塊兒,而不類似的樣本分離。設計
說到這裏,通常的資料都會介紹一下歐式距離和餘弦類似度,我也會講一下基本的概念,更多距離計算方法能夠參考我前面轉載介紹的《距離計算方法總結》,以及《機器學習距離公式總結》,尤爲是後一篇,寫的不錯:)blog
最多見的距離(類似度)計算方法就是歐氏距離和餘弦類似度了,示意圖以下,我就很少講了。圖片
歐式距離:
ip
餘弦類似度:
很容易證實,當圖中X與Xi都是模爲1的單位向量時(其實不必定要1,只要是常數就行),歐氏距離等價於餘弦類似度(距離最小類似度越大),而餘弦類似度退化爲向量內積。
競爭學習規則——Winner-Take-All
網絡的輸出神經元之間相互競爭以求被激活,結果在每一時刻只有一個輸出神經元被激活。這個被激活的神經元稱爲競爭獲勝神經元,而其它神經元的狀態被抑制,故稱爲Winner Take All。
那麼如何尋找獲勝神經元?首先,對網絡當前輸入模式向量X和競爭層中各神經元對應的權重向量Wj(對應j神經元)所有進行歸一化,使得X和Wj模爲1;當網絡獲得一個輸入模式向量X時,競爭層的全部神經元對應的權重向量均與其進行類似性比較,並將最類似的權重向量判爲競爭獲勝神經元。前面剛說過,歸一化後,類似度最大就是內積最大:
也就是在單位圓(2D狀況)中找到夾角最小的點。
知道哪一個神經元獲勝後就是神經元的輸出和訓練調整權重了:
所以,總結來講,競爭學習的步驟是:
(1)向量歸一化
(2)尋找獲勝神經元
(3)網絡輸出與權值調整
步驟(3)完成後回到步驟1繼續訓練,直到學習率衰減到0。學習率處於(0,1],通常隨着學習的進展而減少,即調整的程度愈來愈小,神經元(權重)趨於聚類中心。
爲了說明狀況,用一個小例子[2]:
OK,今天先到這裏,簡單介紹一下自組織神經網絡的概念,下一部分講一下SOM的原理和應用場景,是重點哦。
[1] https://en.wikipedia.org/wiki/Self-organizing_map [2] 百度文庫,《SOM自組織特徵映射神經網絡》 [3] 《第四章 自組織競爭型神經網絡》, PPT