1. 程式人生 > >二.線性神經網路

二.線性神經網路

  自適應線性元件20世紀50年代末由Widrow和Hoff提出,主要用於線性逼近一個函式式而進行模式聯想以及訊號濾波、預測、模型識別和控制等。

  線性神經網路和感知器的區別是,感知器只能輸出兩種可能的值,而線性神經網路的輸出可以取任意值。線性神經網路採用Widrow-Hoff學習規則,即LMS(Least Mean Square)演算法來調整網路的權值和偏置。線性神經網路在結構上與感知器非常相似,只是神經元啟用函式不同。在模型訓練時把原來的sign函式改成了pureline函式(y=x)

  只能解決線性可分的問題。

  與感知器類似,神經元傳輸函式不同。

線性神經網路結構

 

兩個啟用函式,當訓練時用線性purelin函式,訓練完成後,輸出時用到sign函式 (>0, <0)

假設輸入是一個N維向量(公式1),從輸入到神經元的權值為wi,則輸出為公式2.

若傳遞函式採用線性函式purelin,則輸入與輸出為一個簡單的比例關係,x(n),w(n),y,q寫成矩陣的形式,公式如下、

若網路中包含多個神經元節點,則可以形成多個輸出,這種可以以兩種間接的方式解決線性不可分問題

  • 用多個線性函式對區域進行劃分,然後對各個神經元的輸出做邏輯運算
  • 或者對神經元新增非線性輸入,引入非線性成分。

LMS 最小均方規則

LMS 學習規則可以看作是δ學習規則的一個特殊情況

LMS演算法只能訓練單層網路,,但是單層網路理論上講不會比單層網路差。
該學習規則與神經元採用的轉移函式無關,因而不需要對轉移函式求導,不僅學習速度較快,而且具有較高的精度,權值可以初始化為任意值,通過權值調整使得神經元實際輸出與期望輸出之間的平方差最小:

定義某次迭代時的訊號為  e(n)=d(n)-xT(n)w(n)

n為迭代次數,d表示期望輸出,採用均方誤差作為評價指標。

Q是輸入訓練樣本的個數。線性神經網路學習的目標是找到適當的w,使得均方差mse最小。mse對w求偏導,令偏導等於0求得mse極值,因為mse 必為正,二次函式凹向上,求得的極值必為極小值。

   實際運算中,為了解決權值w維數過高,給計算帶來困難,往往調節權值,使mse從空間中的某一點開始,沿著斜面向下滑行,最終達到最小值。滑行的方向使該店最陡下降的方向,即負梯度方向。

   實際計算中,代價函式常定義為

                   

Delta學習規則

1986年,認知心理學家McClelland和Rumelhart 在神經網路訓練中引入該規則,也成為連續感知器學習規則
該學習規則是一種利用梯度下降法的一般性的學習規則

代價函式(損失函式) (Cost Function, Lost Function)

誤差E是權向量Wj的函式,欲使誤差E最小,Wj應與誤差的負梯度成正比

 

梯度即是導數,對誤差(代價/損失)函式求導,


 該學習規則可以推廣到多層前饋網路中,權值可以初始化為任意值。

梯度下降法的問題

  • 學習率難以選取,太大會產生振盪,太小收斂緩慢
  • 容易陷入區域性最優解
  • 第一個問題解決方法,開始的學習率可以設的較大,後面逐漸調小學習率

 

LMS演算法步驟

(1)定義變數和引數。

  x(n)=N+1維輸入向量=[+1,x1(n),x2(n),...,xN(n)]T

  w(n)=N+1維權值向量=[b(n),w1(n),w2(n),...,wN(n)]T

  b(n)=偏置

  y(n)=實際輸出

  d(n)=期望輸出

  η(n)=學習率引數,是一個比1小的正常數

(2)初始化。n=0,將權值向量w設定為隨機值或全零值,n=0。

(3)輸入樣本,計算實際輸出和誤差,根據給定的期望輸出d(n),計算得:e(n)=d(n)-xT(n)*w(n)

(4)更加所算的的結果調整權值向量(由上圖所給公式)

(5)判斷演算法是否收斂,若滿足收斂條件,則演算法結束,否則繼續

收斂條件:當權值向量w已經能正確實現分類時,演算法就收斂了,此時網路誤差為零。收斂條件通常可以是:

    誤差小於某個預先設定的較小的值ε。即

                  |e(n)|<ε

    兩次迭代之間的權值變化已經很小,即

                  |w(n+1)-w(n)|<ε

    設定最大迭代次數M,當迭代了M次就停止迭代。

 

LMS演算法中學習率的選擇

LMS演算法中,學習率的選擇十分重要,直接影響了神經網路的效能和收斂性。

 1996年Hayjin證明,只要學習率η滿足   LMS演算法就是按方差收斂的。

      其中,λmax是輸入向量x(n)組成的自相關矩陣R的最大特徵值。往往使用R的跡(trace)來代替。矩陣的跡是矩陣主對角線元素之和。

      可改寫成  0<η<2/向量均方值之和。

    學習率逐漸下降:

    學習初期,用比較大的學習率保證收斂速度,隨著迭代次數增加,減小學習率保證精度,確保收斂。

學習率逐漸下降如何設計:多種方式,自己可以思考思考

 

線性神經網路與感知器的對比

LMS演算法運用梯度下降法用於訓練線性神經網路,這個思想後來發展成為反向傳播演算法用於訓練多層神經網路。

兩者的傳輸函式不一樣導致感知器只能用於分類,而線性神經網路還可以用於擬合或者逼近

LMS演算法的分類邊界往往處於兩種模式的中間,容錯能力強,感知器演算法則在剛好能正確分類的地方就停下了,容錯能力差。