神經網絡(Neural Network)概述

1.神經網絡概況

1943年,心理學家W.Mcculloch和數理邏輯學家W. Pitts根據生物神經元功能和結構,提出M-P神經元模型

1957Rosenblatt提出感知機MLP模型

Rosenblatt, Frank.x. Principles ofNeurodynamics:Perceptrons and the Theory of Brain Mechanisms. Spartan Books, Washington DC,1961.
1981年,Kohonen1981年提出了自組織映射(SOM)網絡
T. Kohonen,Self-organizedformation of topologically correct feature maps, Biological Cybernetics.1982.43:59-69.
1982年,Hopfield提出Hopfield網絡,用於聯想記憶和優化。
John J. Hopfield, Neural networks andphysical systems with emergent collective computational abilities, Proc. Natl. Acad. Sci.USA, vol. 79 no. 8, pp. 2554–2558, April 1982.
1986
年,RumelhartMcCelland等提出了誤差反向傳播(BP)算法,用於多層前饋神經網絡的優化。迄今爲止應用最廣的神經網絡學習算法。
Rumelhart, David E.; Hinton,Geoffrey E.; Williams, Ronald J. (8 October 1986).Learningrepresentations byback-propagatingerrors.Nature 323 (6088): 533–536.
------------------------------------------------------------------------------------------------------------------

2.神經網絡的學習機理

神經網絡分爲兩種,一種叫做有導師學習,一種叫做無導師學習。有導師學習感知器的學習規則;而無導師學習是認知器的學習規則。典型的有導師學習網絡有BP網絡,Hopfield網絡;而典型的無導師學習網絡有ART網絡,Kohonen網絡。所謂的“導師”,是指的“導師信號”,也就是學習過程中的監督信號,是在神經網絡學習中由外部提供的模式樣本信號。


1.)感知器的學習結構

感知器的學習是神經網絡最經典的學習。如下圖所示,感知器的學習分爲三個部分:輸入部訓練部輸出部。某種模式樣本X從輸入部輸入到感知器中,經過訓練部的權值處理後,從輸出部輸出;而輸出部的實際輸出與導師信號(期望輸出信號)做比較,產生誤差信號e,這裏反應了實際與期望(現實和理想)的差距;然後通過誤差信號e調整訓練部的權值W,使得新產生的W能讓誤差信號儘可能的小(實際與期望儘可能接近),從而達到訓練的作用。


下圖是神經網絡中具體的結構圖。輸入樣本X是一個n維向量,記爲{X1,X2,...,Xn},相應的權值也爲一個n維向量,記爲{W1,W2,...,Wn}。訓練過程如上所述,X的n個元素與對應的n個權值分別相乘再求和,得到輸出u,輸出與期望輸出相減得到誤差信號e,誤差通過權值調整機制修改相應的W權值,使得誤差最小。這也預示着此種訓練的判決條件是“最小誤差準則”。



2.)感知器的學習算法

感知器是有單層計算單元的神經網絡,由線性元件閾值元件組成。如圖,線性元件指的是輸入向量與權值的加權求和操作,而閾值元件指的是得到的結果 u 要經過一個非線性處理 f 得到最終的輸出Y。


所以感知器的數學模型爲:


其中,基本的非線性函數爲符號函數,取值爲+1或-1:

感知器最大的作用就是對輸入樣本進行分類。所以感知器可以作爲分類器,如定義:


上式中感知器的分類邊界爲:


如此,我們可以總結一下感知器的算法流程

      (1)對權係數置初值 w = (W1,W2,...,Wn,Wn+1);

      (2)輸入樣本 X = (X1,X2,...,Xn,Xn+1) 以及它的期望 d;

      (3)計算實際的輸出值:


      (4)根據實際的輸出求出誤差:


      (5)用誤差 e 去修改權值係數:


      (6)轉到第(2)步,一直執行到一切樣本都已穩定爲止。

其中,在初始化時,有:



3.)感知器分類的例子

如圖,我們有一張X1與X2的真值表:


我們定義X1與X2的值爲1的爲A類,X1與X2的值爲0的爲B類。於是我們認爲,輸出向量X是一個2維向量{X1,X2},而權值向量爲{W1,W2}。我們根據感知器的傳遞函數,列出以下關係式:


解上述方程得到:


取值:


此時感知器的邊界爲:


分類結果如下圖:



4.)神經網絡學習的梯度算法

對於感知器的學習算法,因其傳遞函數(階躍函數)的簡單而存在侷限性

  • 當函數不是線性可分時,則求不出結果;
  • 不能推廣到一般的前饋網絡中。

爲了克服存在的問題,所以人們提出了另一種算法:梯度算法(LMS法)

這種算法是在前面的算法上進行了三種改進:

(1)改進一:將激勵函數從階躍函數改爲了可微分的Sigmoid函數

非對稱型: 或 對稱型:


(2)改進二:改變了誤差公式的計算方法:


要使得誤差 e 對權值係數 W 最小:


(3)改進三:按負梯度方向修改權值係數 W 。


算法流程方面與感知器的算法流程一致。


梯度法的優點在於:

  • 神經元傳遞函數採用連續S型函數,而不是階躍函數;
  • 對權值係數的修改採用誤差的梯度去控制,而不是採用誤差去控制;
  • 具有更好的動態特性,加快收斂進程

------------------------------------------------------------------------------------------------------------------

總結

  • 神經網絡可以用於分類、聚類、預測等用途;
  • 神經網絡需要有一定量的歷史數據,通過歷史數據的訓練,網絡可以學習到數據中隱含的知識。
  • 神經網絡已被用來解決各種各樣的很難用普通的以規則爲基礎的編程解決的任務,包括計算機視覺和語音識別。


如有任何疑問,歡迎一起討論。

如要轉載本文,請註明出處:http://blog.csdn.net/ws_20100/
發佈了43 篇原創文章 · 獲贊 42 · 訪問量 39萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章