感知器及其訓練法則

2021-08-11 13:57:02 字數 2590 閱讀 3876

1. 什麼是感知器

感知器以乙個實數值向量作為輸入,計算這些輸入的線性組合,然後如果結果大於某個閾值,就輸出1,否則輸出-1。更準確地,如果輸入為x1到xn,那麼感知器計算的輸出為:

其中wi為權值,用來決定輸入xi對感知器輸出的貢獻率。為了簡化表示,我們假想有乙個附加的常量輸入x0=1,那麼我們就可以寫成向量形式:

這樣,感知器可以表示成下圖:

圖1 感知器

學習乙個感知器意味著選擇w1,...,wn的值,接下來我們就來介紹一下常用的感知器訓練法則。

2. 感知器的訓練法則

對於單個感知器的權值,已經有幾個常用演算法,這裡給出兩種:感知器法則、delta法則。這兩種演算法可以保證收斂到可接受的假設,只是在不同的條件下收斂到的假設略有不同。

2.1 感知器法則

為了得到可接受的權向量,感知器法則是從隨機的權值開始,然後反覆地對每乙個訓練樣例應用這個感知器,在當前感知器誤分類樣例時修改感知器的權值。重複這個過程,直到感知器正確分類所有的訓練樣例。修改權值的法則如下:

其中:這裡,wi為每次迭代時xi對應的權值,△wi為每次wi的修正值,t是當前訓練樣本的目標輸出,o是感知器的輸出,η是學習速率。學習速率的作用是緩和每一步調整權的程度,它通常被設為乙個小的數值(例如0.1),而且有時會使其隨著權調整次數的增加而衰減。

事實證明,在經過有限次地使用感知器訓練法則後,上面的訓練過程會收斂到乙個正確分類所有訓練樣例的權向量,前提是訓練樣例線性可分,並且使用了充分小的η。如果資料不是線性可分的,那麼不能保證訓練過程收斂。

2.2 delta法則

當訓練樣本是非線性可分時,感知器訓練法則就束手無策了,為了解決這個問題,提出了delta法則。delta法則的關鍵思想是使用梯度下降來搜尋可能的權向量假設空間,以找到最佳擬合訓練樣本的權向量。delta訓練法可以理解成乙個無閾值的感知器,即乙個線性單元,其輸出o可表示為:

為了推導線性單元的權值學習法則,先指定乙個度量標準來衡量假設(權向量)相對於訓練樣例的訓練誤差,其中最常用的度量標準為:

其中,d是訓練樣例的集合,td是樣例d的目標輸出,od是線性單元對樣例d的輸出。

接下來,我們的目的就是確定乙個權向量使得e達到最小。梯度下降法從任意的初始向量開始,然後以很小的步伐反覆修改這個向量。每一步都沿誤差曲面產生最陡峭下降的方向修改權向量,繼續這個過程直到得到全域性的最小誤差點。

那麼怎麼計算最陡峭下降的方向呢?答案是通過計算e關於向量w的偏導數來確定,實際上這個下降最快的方向就是使e上公升最快的方向的反方向。既然梯度確定了e最陡峭上公升的方向,那麼梯度下降的訓練法則為:

其中:這裡η是乙個正數的學習速率,它決定梯度下降搜尋中的步長。公式的負號是因為我們想讓權向量向e下降的方向移動。這個訓練法則也可以寫成它的分量形式:

其中:

這樣,公式變得很清楚,最陡峭的下降可以按照∂e/∂wi

改變w中的每乙個分量wi來實現。現推導每個梯度分量的公式,如下:

最終,梯度下降權值更新公式為:

梯度下降是一種重要的通用學習范型,在實踐中會遇到這樣兩個問題:(1)有時收斂過程可能非常慢(它可能需要數千步的梯度下降);(2)如果在誤差曲面上有多個區域性極小值,那麼不能保證這個過程會找到全域性最小值。為了緩解這些問題,提出一種隨機梯度下降。隨機梯度下降的思想是根據每乙個單獨樣例的誤差增量計算權值更新,修改後的公式為:

標準的梯度下降與隨機梯度下降的區別:

a. 標準的梯度下降是在權值更新前對所有樣例彙總誤差,而隨機梯度下降的權值是通過考查每個訓練例項來更新的;

b. 在標準梯度下降中,權值更新的每一步對多個樣例求和,這需要大量的計算,另一方面由於使用的是真正的梯度,標準的梯度下降對於每一次權值的更新經常使用比隨機梯度下降較大的步長;

c. 由於隨機梯度下降使用不同的▽ed(w)而不是▽e(w)來引導搜尋,所以隨機梯度下降可能避免陷入這些區域性極小值中。

3. 小結

本文討論了迭代學習感知器權值的兩個相似的演算法,感知器法則和delta法則(隨機梯度下降)。這兩個演算法的關鍵差異是感知器法則是根據閾值化的感知器輸出誤差更新權值,而delta法則則是根據輸入的非閾值化線性組合的誤差來更新權值。另乙個差異是感知器法則經過有限次地迭代就可以收斂到乙個能理想分類的假設,但前提是訓練樣例線性可分;隨機梯度下降無論樣例是否線性可分都會收斂,只是需要的時間很長。

感知器法則

感知器以乙個實數值向量作為輸入,計算這些輸入的線性組合,然後如果結果大於某個閾值就輸出 1,否則輸出 1。更精確地,如果輸入為 x1 到 xn,那麼感知器計算的輸出為 所以我們的目標是 學習權 w0 wn 的值 我們可以把感知器看作是 n 維例項空間 即點空間 中的超平面決策面。對於超平面一側的例項...

學習筆記 感知器 單層感知器舉例

在人體神經網路中,神經細胞是有著基本處理訊號功能的基本單元,單層感知器就是人工神經網路中模擬人體神經細胞的基本單元。單層感知器 單層感知器是最簡單的神經網路,它包含輸入層和輸出層,訊號先經過線性組合器處理然後再經過啟用函式,最後輸出結果。1 輸入節點 input 輸入節點是訊號的輸入端,感知器可以有...

神經網路 感知器訓練演算法

感知器訓練 perceptron rule 物件 單個單元 perceptron unit 用途 處理線性可分的資料集 對下列公式進行有限次的迭代 repeat x,y 目的 設定權值以便獲得與預期相同的資料集 方式 通過不斷地修改權值來實現目的,這裡採用給權值w賦予學習速率的方式,但碰到乙個問題是...