自適應線性元件20世紀50年代末由widrow和hoff提出,主要用於線性逼近乙個函式式而進行模式聯想以及訊號濾波、**、模型識別和控制等。
線性神經網路和感知器的區別是,感知器只能輸出兩種可能的值,而線性神經網路的輸出可以取任意值。線性神經網路採用widrow-hoff學習規則,即lms(least mean square)演算法來調整網路的權值和偏置。
只能解決線性可分的問題。
與感知器類似,神經元傳輸函式不同。
二、lms學習演算法
widrow和hoff在2023年提出自適應濾波lms演算法,也稱為δ規則(delta rule)。lms演算法只能訓練單層網路,
定義某次迭代時的訊號為 e(n)=d(n)-xt
(n)w(n)
其中n表示迭代次數,d表示期望輸出。這裡採用均方誤差作為評價指標:
q是輸入訓練樣本的個數。線性神經網路學習的目標是找到適當的w,使得均方差mse最小。mse對w求偏導,令偏導等於0求得mse極值,因為mse 必為正,二次函式凹向上,求得的極值必為極小值。
實際運算中,為了解決權值w維數過高,給計算帶來困難,往往調節權值,使mse從空間中的某一點開始,沿著斜面向下滑行,最終達到最小值。滑行的方向使該店最陡下降的方向,即負梯度方向。
實際計算中,代價函式常定義為
推導,梯度下降法。(推導有些複雜,可查閱書籍文獻)
lms演算法步驟:與上節感知器類似。
(1)定義引數和變數。
(2)初始化
(3)輸入樣本,計算實際輸出和誤差。
(4)調整權值向量
(5)判斷是否收斂
學習率的選擇:
2023年hayjin證明,只要學習率η滿足
lms演算法就是按方差收斂的。
其中,λmax是輸入向量x(n)組成的自相關矩陣r的最大特徵值。往往使用r的跡(trace)來代替。矩陣的跡是矩陣主對角線元素之和。
可改寫成 0
學習率逐漸下降:
學習初期,用比較大的學習率保證收斂速度,隨著迭代次數增加,減小學習率保證精度,確保收斂。
五、線性神經網路相關函式
newlind--設計乙個線性層
net=newlind(p,t,pi)
相當於生成了神經網路和訓練了神經網路,不用再訓練。
newlin--構造乙個線性層
相當於生成神經網路,再更高的版本中廢棄,推薦使用的新函式是linearlayer.
minmax(p) 求最大最小值。
maxlinlr(p)求最大學習率。見上節。
之後再用train訓練。
purelin--線性傳輸函式。 輸出等於輸入。
learnwh--lms學習函式
bp神經網路matlab 神經網路有哪些網路
深度學習,人工智慧,神經網路這些概念往往令初學者頭疼不已,這裡列出其基礎概念的歸納總結,幫助小白入坑,共同學習。人工神經網路 artificial neural network,ann 是一種模擬生物神經網路的結構和功能的數學模型或計算模型。神經網路與小波分析 混沌 粗糙理論 分形理論的融合。194...
MATLAB神經網路
ai 菌這幾天沉迷於數模的ai菌來補發文章啦。深深地體會到雖然神經網路工具的api已經有了非常完備的封裝,但是資料的預處理真的讓人感覺非常的麻煩。當你把所有的異常點一一清理,有一種 掘地求公升終於爬出大氣層 飛向太空的感覺 雖然ai菌連夢想開始的地方都爬不出去 所以今天就來介紹一下這幾天的收穫吧 a...
線性神經網路
線性神經網路 啟用函式為y x import numpy as np import matplotlib.pyplot as plt 輸入資料 x np.array 1,3,3 1,4,3 1,1,1 標籤y np.array 1,1,1 權值初始化,1行3列,取值範圍 1到1 w np.rando...