迷人的神經網絡——機器學習筆記1

目錄html

迷人的神經網絡——機器學習筆記1

開始接觸神經網絡(Neural Network,NN)的入門例子 MNIST及其論文 Y. LeCun, L. Bottou, Y. Bengio and P. Haffner: Gradient-Based Learning Applied to Document Recognition, Proceedings of the IEEE, 86(11):2278-2324, November 1998 時,不免會有不少疑問:例如:ios

  • 什麼是CNN、RNN、LSTM?什麼是卷積(convolution)層、池化(pooling)層、全鏈接(fully connected)層、Dropout層?
  • 爲何須要激活函數?爲何ReLU不到處可微卻性能優良?
  • 什麼是反向傳播?怎麼實現?
  • 損失函數如何設置?
  • 優化算法如何選取?什麼是貝葉斯正則化?如何設置學習率能夠保證最速訓練且收斂到全局最優?
  • 學習率、Batch_Size和Epoch的如何設置?

帶着這些疑問找到了一本講述傳統神經網絡的書《神經網絡設計(第二版)》,讀以後感受豁然開朗,學了多年的《線性代數》終於明白了怎麼用,並且順便複習了不少學過的課程:線性代數、高等數學、機率論與數理統計、離散信號處理、隨機信號處理、數字圖像處理、數學物理方法等。收穫良多,故而整理下做爲學習筆記。本文全部配圖及其版權歸原做者全部,本文僅供學習。另外中文翻譯版內容有些許錯誤,強烈建議對照着原版pdf一塊兒學習。git

原書名爲《NEURAL NETWORK DESIGN (Second Edition)》,做者:Mattin T.Hagan、Howard B.Demuth、Mark H.Bearle 和 Orlando De Jesus。算法

配套的演示軟件、書籍pdf版及ppt下載頁面以下:性能優化

第1章 神經元模型及網絡結構

1.1 神經元模型

1.1.1 單輸入神經元

標量輸入 \(p\) 乘以權值(weight) \(w\) 獲得 \(wp\),做爲其中的一項進入累加器,另外一個輸入"1"乘以一個偏置值(bias)\(b\) ,再送入累加器。累加器的輸出結果 \(n\) ,一般稱做 淨輸入 (net input) ,送給 傳輸函數(transfer function) \(f\) 做用後,產生標量 \(a\) ,做爲神經元的輸出(一些做者使用「激活函數」而不是「傳輸函數」,「補償」而不是「偏置值」)。權值 \(w\) 對應生物神經元的突觸鏈接的強度,胞體由累加器和激活函數來表述,神經元的輸出 \(a\) 表明突觸上的信號。神經元的實際輸出依賴於不一樣激活函數的選擇。網絡

\[ a = f(wp+b) \]app

圖1:神經元

1.1.2 激活函數

激活函數能夠是一個關於淨輸入 $ n $ 的線性或非線性函數。cors

(1)硬限值:若是自變量小於0,神經元輸出0;若是函數大於等於0,神經元輸出1。
\[ a= \begin{cases} 1 & n \ge 0\\ 0 & n < 0 \end{cases} \]
輸入/輸出特性以下
框架

(2)線性:輸出等於輸入
\[ a=n \]
輸入/輸出特性以下圖:
機器學習

(3)對數-S型(log-sigmoid):
\[ a=\frac{1}{1+e^{-n}} \]
輸入/輸出特性以下

(4)Tanh (hyperbolic tangent sigmoid 雙曲正切S型),用於循環神經網絡RNN(recurrent neural networks):
\[ a=\frac{e^{n}-e^{-n}}{e^{n}+e^{-n}} \]

(5)ReLU (rectified linear units),目前卷積神經網絡CNN(convolutional neural networks)中喜歡使用的激活函數:
\[ a= \begin{cases} n & n \ge 0\\ 0 & n < 0 \end{cases} \]

1.1.3 多輸入神經元

\(R\) 個輸入權值 \(p_{1}\)\(p_{2}\) ,... , \(p_{r}\)對應權值矩陣 \(W\)

共享神經元的偏置 \(b\)
\[ a = f(Wp+b) \]

1.2 網絡結構

1.2.1 單層神經網絡

\(R\)個輸入,\(S\)個神經元的權值矩陣:
\[ W=\left[ \begin{matrix} w11 & w12 & {\dots} & w1r \\ w21 & w22 & {\dots} & w2r\\ {\vdots} & {\vdots} & {} & {\vdots} \\ ws1 & ws2 & {\dots} & wsr \end{matrix} \right] \]

1.2.2 多層神經網絡

1.2.3 循環神經網絡(recurrent network , RNN)

延遲器:
\[ a(t)=u(t-1) \]
假設時間步長的更新是離散的,而且只取整數值

積分器:
\[ a(t)=\int{u(\tau)d(\tau)+a(0)} \]
\(a(0)\)表明初始條件

循環神經網絡是一個帶有反饋的網絡,它的部分輸出鏈接到它的輸入。
延遲器、積分器和循環神經網絡RNN如圖所示:

第2章 一個小例子

三種網絡:前饋網絡(感知機爲表明)、競爭網絡(Hamming 網絡爲表明)和循環神經網絡(Hopfield 網絡爲表明)

2.1 問題描述:模式識別

水果的三種特徵:形狀、紋理和重量

  • 形狀感知器:近似圓輸出 1 ,近似橢圓輸出 -1
  • 紋理感知器:表面光滑輸出 1 , 表面粗糙輸出 -1
  • 重量感知器:大於1磅輸出 1 , 小於1磅輸出 -1

輸入、標準的橘子和標準的蘋果爲:
\[ p= \left[ \begin{matrix} 形狀 \\ 紋理 \\ 重量 \end{matrix} \right], p_{橘子}= \left[ \begin{matrix} 1 \\ -1 \\ -1 \end{matrix} \right], p_{蘋果}= \left[ \begin{matrix} 1 \\ 1 \\ -1 \end{matrix} \right] \]

2.2 感知機

採用對稱硬限值激活函數 handlims 的單層感知機

2.2.1 兩個輸入的實例

單神經元的感知機能把輸入向量分爲兩類

\[ a=hardlinms(n)=hardlinms([w_{1,1} , w_{1,2}]p+b) \]
若是輸入權值矩陣(這裏是一個行向量)和輸入向量的內積大於或者等於 \(-b\) ,則感知機的輸出爲 1 ,若是內積小於 \(-b\) ,則輸出 -1 。這樣將空間劃分爲兩個部分

邊界條件爲:
\[ Wp+b=0 \]

2.2.2 模式識別實例

\[ a=hardlinms(n)=hardlinms([w_{1,1} ,w_{1,2},w_{1,3}] \left[ \begin{matrix} p_{1} \\ p_{2} \\ p_{3} \end{matrix} \right]+b) \]

偏置值 \(b=0\) , 權值矩陣 \(W=[0,1,0]\),權值矩陣正交與決策邊界

感知機的決策邊界與標準向量:

2.3 Hamming 網絡

爲了解決二值模式識別的問題而特別設計的(輸入向量中的每一個元素都只有2個可能的取值)

包含一層前饋層和一層反饋層,兩層神經元個數相同,標準的Hamming 網絡以下:

Hamming 網絡的目標是判斷哪一個標準向量最接近輸入向量。判斷結果由反饋層的輸出表示。對於每個標準模式而言,在反饋層中都有與之對應的神經元。當反饋層收斂後,只有一個神經元會輸出非零值,該神經元就表示哪個標準模式最接近輸入向量。

2.3.1 前饋層

前饋層用來計算每一個標準模式輸入模式之間的相關性或內積。爲了達到計算相關性的目的,前饋層中權值矩陣用鏈接矩陣 \(W^{1}\) 表示,該矩陣每一行設置爲一個標準模式。在蘋果和橘子實例中:
\[ \mathbf{W}^{1}=\left[ \begin{array}{c}{\mathbf{p}_{1}^{T}} \\ {\mathbf{p}_{2}^{T}}\end{array}\right]=\left[ \begin{array}{cc}{1} & {-1} & {-1} \\ {1} & {1} & {-1}\end{array}\right] \]
前饋層中使用線性傳輸函數,偏置向量中的每一個元素都等於 \(r\) ,其中 \(r\) 等於輸入向量中元素的個數,偏置向量爲:
\[ \mathbf{b}^{1}=\left[ \begin{array}{l}{3} \\ {3}\end{array}\right] \]
經過選擇權值和偏置向量,前饋層的輸出爲:
\[ \mathbf{a}^{1}=\mathbf{W}^{1} \mathbf{p}+\mathbf{b}^{1}=\left[ \begin{array}{c}{\mathbf{p}_{1}^{T}} \\ {\mathbf{p}_{2}^{T}}\end{array}\right] \mathbf{p}+\left[ \begin{array}{l}{3} \\ {3}\end{array}\right]=\left[ \begin{array}{c}{\mathbf{p}_{1}^{T} \mathbf{p}+3} \\ {\mathbf{p}_{2}^{T} \mathbf{p}+3}\end{array}\right] \]

注意:前饋層的輸出等於每一個標準模式和輸入向量的內積加上 \(r\) 。對於兩個長度(範數)相同的向量而言,當它們方向相同時內積最大,方向相反時內積最小。經過給內積加上 \(r\) ,來確保前饋層的輸出永遠不會爲負數,這也是反饋層所須要的。

2.3.2 反饋層

反饋層正是所謂的 競爭層 。初始值爲前饋層的輸出,這個輸出表明着標準模式和輸入向量的相關性。而後該層的神經元互相競爭決定一個勝者。競爭結束後,只會有一個神經元的輸出爲零。獲勝的神經元代表了網絡輸入的類別。
\[ a= \begin{cases} \mathbf{a}^{2}(0)=\mathbf{a}^{1} & (初始條件)\\ \mathbf{a}^{2}(t+1)=\operatorname{ReLU}\left(\mathbf{W}^{2} \mathbf{a}^{2}(t)\right) & n < 0 \end{cases} \]
其中上標表示網絡層數

權值矩陣爲:
\[ \mathbf{W}^{2}=\left[ \begin{array}{cc}{1} & {-\varepsilon} \\ {-\varepsilon} & {1}\end{array}\right] \]
其中 \(\varepsilon\) 是一個小於 $ 1/(s-1)$ 的數, \(s\) 爲反饋層中神經元的個數。

反饋層一次迭代計算過程爲:

\[ \mathbf{a}^{2}(t+1)=\operatorname{ReLU}\left(\left[ \begin{array}{cc}{1} & {-\varepsilon} \\ {-\varepsilon} & {1}\end{array}\right] \mathbf{a}^{2}(t)\right)=\operatorname{ReLU}\left(\left[ \begin{array}{c}{a_{1}^{2}(t)-\varepsilon a_{2}^{2}(t)} \\ {a_{2}^{2}(t)-\varepsilon a_{1}^{2}(t)}\end{array}\right]\right) \]

向量中每個元素都要同等比例減去另外一個元素的一部分,值較大的元素減幅小一些,值較小的元素減幅大一些,所以值較大的元素與值較小元素之間的差別就會增大。反饋層的做用就在於將除了初始值最大的神經元外的其餘全部神經元的輸出逐步縮小爲0(最終輸出值最大的神經元對應着與輸入的 Hamming 距離最小的標準輸入模式)

運行過程以下:
考慮用於驗證感知機的橢圓形橘子
\[ \mathbf{p}=\left[ \begin{array}{c}{-1} \\ {-1} \\ {-1}\end{array}\right] \]
前饋層的輸出爲:
\[ \mathbf{a}^{1}=\left[ \begin{array}{rrr}{1} & {-1} & {-1} \\ {1} & {1} & {-1}\end{array}\right] \left[ \begin{array}{c}{-1} \\ {-1} \\ {-1}\end{array}\right]+\left[ \begin{array}{l}{3} \\ {3}\end{array}\right] = \left[ \begin{array}{c}{(1+3)} \\ {(-1+3)}\end{array}\right] = \left[ \begin{array}{l}{4} \\ {2}\end{array}\right] \]

上式的結果是反饋層的初始條件:

反饋層第一次迭代結果:

\[ \mathbf{a}^{2}(1)=\operatorname{ReLU}\left(\mathbf{W}^{2} \mathbf{a}^{2}(0)\right) = \begin{cases} \operatorname{ReLU}\left(\left[ \begin{array}{rr}{1} & {-0.5} \\ {-0.5} & {1}\end{array}\right] \left[ \begin{array}{l}{4} \\ {2}\end{array}\right]\right) \\ \\ \operatorname{ReLU}\left(\left[ \begin{array}{l}{3} \\ {0}\end{array}\right]\right)=\left[ \begin{array}{l}{3} \\ {0}\end{array}\right] \end{cases} \]

反饋層第二次迭代結果:

\[ \mathbf{a}^{2}(1)=\operatorname{ReLU}\left(\mathbf{W}^{2} \mathbf{a}^{2}(1)\right) = \begin{cases} \operatorname{ReLU}\left(\left[ \begin{array}{rr}{1} & {-0.5} \\ {-0.5} & {1}\end{array}\right] \left[ \begin{array}{l}{3} \\ {0}\end{array}\right]\right) \\ \\ \operatorname{poslin}\left(\left[ \begin{array}{r}{3} \\ {-1.5}\end{array}\right]\right)=\left[ \begin{array}{l}{3} \\ {0}\end{array}\right] \end{cases} \]

因爲後續迭代的輸出都相同,因此網絡是收斂的。由於只有第一神經元輸出了非零值,因此選擇第一個標註模式 橘子 做爲匹配結果。由於 橘子 的標準模式與輸入模式的 Hamming 距離爲 1 ,而蘋果的標準模式和輸入模式的 Hamming 距離爲2 ,因此網絡作出的選擇是正確的。

2.4 Hopfield 網絡

循環網絡,能夠完成 Hamming 網絡兩層結構才能完成的工做。Hopfield 網絡的一種變形以下圖:

使用輸入向量來初始化該網絡的神經元,而後網絡不斷迭代直到收斂。當網絡結果正確時,其輸出結果將會是某一個標準向量。

在 Hamming 網絡中由輸出非零值的神經元來代表選定了哪一種標準模式,而 Hopfield 網絡則是直接生成一個選定的標準模式做爲輸出。

網絡運算:

\[ \begin{cases} \mathbf{a}(0)=\mathbf{p}\\ \mathbf{a}(t+1)=\operatorname{satlins}(\mathbf{W} \mathbf{a}(t)+\mathbf{b}) \end{cases} \]

satlins 表示對稱飽和輸出函數,其輸入輸出爲:
\[ a= \begin{cases} -1 & n<-1 \\ n & -1 \le n \le 1 \\ 1 & n>1 \end{cases} \]

Hamming 網絡的前饋層的權值爲標準模式,在Hopfield 網絡中權值矩陣和偏置向量的設置要複雜許多。

2.5 總結

感知機是前饋網絡的一個實例。在這些網絡中,輸出是直接根據輸入計算獲得的,中間沒有任何形式的反饋。前饋網絡能夠用於模式識別,也能夠用於函數逼近。函數逼近在自適應濾波和自動控制等領域已有所應用。

以 Hamming 網絡爲表明的競爭網絡由兩個主要的特性。第一,它們計算了已存儲的標準模式和輸入模式之間的距離。第二,它們經過競爭來決定哪一個神經元所表明的標準模式最接近輸入。

以 Hopfield 網絡爲表明的循環網絡,最初是受統計力學的啓發。它們被用做聯想記憶,其中已存儲的數據能夠經過與輸入數據的關聯關係而不是基於地址被提取。循環網絡已經被用來解決各類優化問題。

第3章 感知機學習規則

在不能可視化決策邊界的狀況下,如何肯定多輸入感知機網絡的權值矩陣和偏置值?
單層感知機網絡的優勢和侷限性

3.1 學習規則

指修改網絡權值和偏置值的方法和過程,也稱爲訓練算法。學習規則是爲了訓練網絡來完成某些任務。學習規則能夠概括爲三大類:

  • 有監督學習
  • 無監督學習
  • 加強(評分)學習 :適合應用於決策等控制系統

3.2 感知機結構


網絡的輸出爲:
\[ \mathbf{a}=\mathbf{hardlim} (\mathbf{W} \mathbf{p}+\mathbf{b}) \]

網絡中的每一個神經元把輸入空間劃分紅了兩個區域

3.2.1 單神經元感知機

考慮兩個輸入,輸出爲:
\[ \begin{aligned} a &= \operatorname{hardlim}(n)=\operatorname{hardlim}(\mathbf{W} \mathbf{p}+b) \\ &= \operatorname{hardlim}\left(\mathbf{w}^{T} \mathbf{p}+b\right)=\operatorname{hardlim}\left(w_{1,1} p_{1}+w_{1,2} p_{2}+b\right) \end{aligned} \]

決策邊界(descision boundary)經過網絡的淨輸入 \(n\) 等於 0 的輸入向量來肯定
\[ _{1} \mathbf{w}^{T} \mathbf{p}+b=0 \]
對於決策邊界上的全部點而言,輸入向量與權值向量間的內積都相等。

3.2.2 多神經元感知機

每一個神經元都有一個決策邊界:
\[ _{i} \mathbf{w}^{T} \mathbf{p}+b_{i}=0 \]

## 3.3 感知機學習規則
有監督訓練的學習過程是從一組可以正確反映網絡行爲的樣本集中得到的:

\[ \left\{\mathbf{p}_{1}, \mathbf{t}_{1}\right\},\left\{\mathbf{p}_{2}, \mathbf{t}_{2}\right\}, \ldots,\left\{\mathbf{p}_{Q}, \mathbf{t}_{Q}\right\} \]

其中 \({p}_{q}\) 是網絡的輸入, \(t_{q}\) 是該輸入相應的目標輸出。當每一個輸入做用到網絡上時,將網絡的實際輸出與目標輸出相比較。爲了使網絡的實際輸出儘可能靠近目標輸出,學習規則將調整該網絡的權值和偏置值。

統一的學習規則:
定義感知機偏差 \(e\)
\[ e=t-a \]
其中 \(t\) 表明目標輸出, \(a\) 表明實際輸出
權值學習規則:
\[ _{1} \mathbf{w}^{n e w}=_{1} \mathbf{w}^{o l d}+e \mathbf{p}=_{1} \mathbf{w}^{o l d}+(t-a) \mathbf{p} \]
將偏置值看做一個輸入老是1的權值,則偏置值學習規則:
\[ b^{n e w}=b^{o l d}+e \]

一般將權值和偏置值初始化爲較小的隨機數

3.4 收斂性證實

能夠證實:

該規則總能收斂到能實現正確分類的權值上(假設權值存在)
感知機的學習規則將在有限次迭代後收斂

侷限性:

沒法解決 「異或」門 (兩個輸入值相同輸出0,輸入值不一樣輸出1)問題

3.5 小結

決策邊界總與權值向量正交

單層感知機只能對線性可分的向量進行分類

學習規則:
\[ \begin{cases} e=t-a \\ \mathbf{w}^{n e w}=\mathbf{w}^{o l d}+e \mathbf{p}=\mathbf{w}^{o l d}+(t-a) \mathbf{p} \\ b^{n e w}=b^{o l d}+e \end{cases} \]

第4章 Hebb 學習

Hebb 規則是最先的神經網絡學習規則之一,Donald Hebb 在1949年提出,做爲一種可能的大腦神經元突觸調整機制,一直用於人工神經網路設計。Donald Hebb加拿大人,立志成爲一名小說家,英語專業學士,心理學碩士(巴普洛夫條件反射),哈佛博士。1949年出版專著《The Origanization of Behavior》(《行爲自組織》)。

Hebb 學習假說:
當神經細胞A的軸突足夠接近到可以激發神經細胞B,且反覆或持續地刺激細胞B,那麼A或B中一個或者兩個細胞將會產生某種增加過程或代謝變化,從而加強細胞A對細胞B的刺激效果。

這一假說提出了一種在細胞層次進行學習的物理機制。直至今日,Hebb理論依然影響着神經科學的研究。

4.1 線性聯想器

Hebb 學習規則能適用於多種神經網絡結構。採用 線性聯想器(linear associator) 這個很是簡單的網絡結構來介紹 Hebb 學習。(James Anderson [Ande72] 和 Teuvo Kohonen[Koho72] 提出)

網絡的輸出向量 \(a\) 由輸入向量 \(p\) 根據下式決定:
\[ a=Wp \]
也能夠記做:
\[ a_{i}=\sum_{j=1}^{R} w_{i j} p_{j} \]
線性聯想器屬於一類被稱爲 聯想記憶(associative memory)模型的神經網絡。結構如圖所示:

4.2 Hebb 規則

若是突觸兩側的兩個神經元被同時激活,那麼突觸的鏈接強度將會增長。

數學解釋:
\[ w_{i j}^{n e w}=w_{i j}^{o l d}+\alpha f_{i}\left(a_{i q}\right) g_{j}\left(p_{j q}\right) \]
能夠簡化爲:
\[ w_{i j}^{n e w}=w_{i j}^{o l d}+\alpha a_{i q} p_{j q} \]
其中 \(p_{j q}\) 是第 \(q\) 個輸入向量 \(p_{q}\) 中的第 \(j\) 個元素,\(a_{i q}\) 是網絡給定輸入向量 \(p_{q}\) 後輸出的第 \(i\) 個元素, \(\alpha\) 是一個被稱爲學習率正常數。這個等式代表 權值 \(W_{ij}\) 的變化與突觸兩側傳輸函數值的乘積成正比

上式定義了一種 無監督學習規則:它並不須要目標輸出的任何信息。

對於有監督的 Hebb 規則,咱們用目標輸出代替實際輸出。這樣,學習算法將瞭解網絡應該作什麼,而不是當前網絡正在作什麼。

\[ w_{i j}^{n e w}=w_{i j}^{o l d}+t_{i q} p_{j q} \]
其中 \(t_{iq}\) 是第 \(q\) 個目標向量 \(t_{q}\) 中的第 \(i\) 個元素(爲簡化,設學習率爲1),向量形式爲:

\[ \mathbf{W}^{n e w}=\mathbf{W}^{o l d}+\mathbf{t}_{q} \mathbf{p}_{q}^{T} \]
若是假設權值矩陣初始值爲0,將其應用於 \(Q\) 個輸入/輸出對,可得:
\[ \mathbf{W}=\mathbf{t}_{1} \mathbf{p}_{1}^{T}+\mathbf{t}_{2} \mathbf{p}_{2}^{T}+\cdots+\mathbf{t}_{Q} \mathbf{p}_{Q}^{T}=\sum_{q=1}^{Q} \mathbf{t}_{q} \mathbf{p}_{q}^{T} \]
矩陣形式爲:
\[ \mathbf{W}=\left[ \begin{array}{llll}{\mathbf{t}_{1}} & {\mathbf{t}_{2}} & {\ldots} & {\mathbf{t}_{Q}}\end{array}\right] \left[ \begin{array}{c}{\mathbf{p}_{1}^{T}} \\ \\ {\mathbf{p}_{2}^{T}} \\ \\ {\mathbf{p}_{2}^{T}} \\ \\ {\vdots} \\ \\ {\mathbf{p}_{Q}^{T}}\end{array}\right] =\mathbf{T} \mathbf{P}^{T} \]
其中\(\mathbf{T}=\left[ \begin{array}{lll}{\mathbf{t}_{1}} & {\mathbf{t}_{2}} & {\dots} & {\mathbf{t}_{Q}}\end{array}\right]\)\(\mathbf{P} = \left[ \begin{array}{lll}{\mathbf{p}_{1}} & {\mathbf{p}_{2}} & {\dots} & {\mathbf{p}_{Q}}\end{array}\right]\)

性能分析

當輸入向量爲標準正交向量時,Hebb 規則對每一個輸入向量都能產生正確的輸出結果
\[ \mathbf{a}=\mathbf{W} \mathbf{p}_{k}=\left(\sum_{q=1}^{Q} \mathbf{t}_{q} \mathbf{p}_{q}^{T}\right) \mathbf{p}_{k}=\sum_{q=1}^{Q} \mathbf{t}_{q}\left(\mathbf{p}_{q}^{T} \mathbf{p}_{k}\right) = \mathbf{t}_{k} \]
當輸入向量不正交時候的單位向量時,
\[ \mathbf{a}=\mathbf{W} \mathbf{p}_{k}=\mathbf{t}_{k}+\sum_{q \neq k} \mathbf{t}_{q}\left(\mathbf{p}_{q}^{T} \mathbf{p}_{k}\right) \]
另一項爲偏差,大小取決於標準輸出模式之間相關性的總和。

4.3 僞逆規則

有些方法能夠減少上述的偏差
選取一個能最小化如下性能指標的權值矩陣:
\[ F(\mathbf{W})=\sum_{q=1}^{Q}\left\|\mathbf{t}_{q}-\mathbf{W} \mathbf{p}_{q}\right\|^{2} \]
當矩陣 \(P\)可逆時,矩陣 \(\mathbf{W P}=\mathbf{T}\) 的解爲 \(\mathbf{w}=\mathbf{T} \mathbf{P}^{-1}\) 。然而一般狀況下 \(P\) 不是一個方陣,因此不存在準確的逆矩陣。

僞逆規則[Albe72]:
\[ \mathbf{W}=\mathbf{T} \mathbf{P}^{+} \]
其中 \(P+\) 是 Moore-Penrose 僞逆矩陣(廣義逆矩陣)。對於實數矩陣 \(P\) ,它的僞逆矩陣惟一存在。且知足以下條件:
\[ \begin{cases} \mathbf{P P}^{+} \mathbf{P}=\mathbf{P}\\ \mathbf{P}^{+} \mathbf{P} \mathbf{P}^{+}=\mathbf{P}^{+}\\ \mathbf{P}^{+} \mathbf{P}=\left(\mathbf{P}^{+} \mathbf{P}\right)^{T}\\ \mathbf{P} \mathbf{P}^{+}=\left(\mathbf{P} \mathbf{P}^{+}\right)^{T} \end{cases} \]
當矩陣 \(P\) 的行數 \(R\) 大於其列數 \(Q\) ,且 \(P\) 的列向量線性無關時,其僞逆矩陣爲:
\[ \mathbf{P}^{+}=\left(\mathbf{P}^{T} \mathbf{P}\right)^{-1} \mathbf{P}^{T} \]

注意 : 使用 僞逆規則 不須要對輸入向量進行歸一化

4.4 應用

自聯想記憶模型

4.5 Hebb 學習的變形

難題: 當訓練數據集包含大量輸入模式時,權值矩陣將會包含一些高數值元素,能夠添加一項衰減器,讓學習規則表現得像一個平滑濾波器,使得最近一次的輸入變得更重要,而慢慢淡忘以前的輸入:
\[ \mathbf{W}^{n e w}=\mathbf{W}^{o l d}+\alpha \mathbf{t}_{q} \mathbf{p}_{q}^{T}-\gamma \mathbf{W}^{o l d}=(1-\gamma) \mathbf{W}^{o l d}+\alpha \mathbf{t}_{q} \mathbf{p}_{q}^{T} \]
這限制了權值矩陣元素值的無限制增加。

過濾權值變化和調整學習率的思想很是重要

採用目標輸出與實際輸出之差來代替目標輸出:
\[ \mathbf{W}^{n e w}=\mathbf{W}^{o l d}+\alpha\left(\mathbf{t}_{q}-\mathbf{a}_{q}\right) \mathbf{p}_{q}^{T} \]

這一規則被稱爲增量規則。這一規則也以它的發明人命名,稱爲 Widrow-Hoff 算法。

  • 增量規則經過調整權值來最小化均方偏差。這一規則與僞逆規則獲得的結果相同,由於僞逆規則最小化的是偏差的平方和。
  • 增量規則的優點在於每接收一個輸入模式,權值矩陣就會進行更新,而僞逆規則在接受到全部輸入/輸出對以後,進行一次計算而獲得權值矩陣。這種依次更新方式使得增量規則能適用於動態變化的環境。

無監督學習 Hebb 學習中,網絡的目標輸出將由其實際輸出來代替:
\[ \mathbf{W}^{n e w}=\mathbf{W}^{o l d}+\alpha \mathbf{a}_{q} \mathbf{p}_{q}^{T} \]

第5章 Widrow-Hoff 學習

把性能學習應用於單層神經網絡

Widrow-Hoff 學習算法 是一個以均方偏差爲性能指標的近似最速降低算法。重要性體如今兩個方面:首先,該算法被普遍應用於現今諸多信號處理的實際問題中;其次,它是多層網絡學習算法——BP算法的前導工做。

ADALINE (自適應線性神經網絡)和 LMS (Least Mean Square 最小均方)

ADALINE 與感知機類似,傳輸函數是線性函數而不是硬限值函數。只能解決線性可分問題

LMS 算法在信號處理領域應用中取得了巨大成功。

5.1 ADALINE 網絡

\[ \mathbf{a}=\operatorname{purelin}(\mathbf{W} \mathbf{p}+\mathbf{b})=\mathbf{W} \mathbf{p}+\mathbf{b} \]
其中 \(\operatorname{purelin}\) 表明 線性傳輸函數。網絡結構如圖:

5.2 均方偏差

LMS 算法是一個有監督的訓練算法。其學習規則將使用一個表徵網絡正確行爲的樣本集合:
\[ \left\{\mathbf{p}_{1}, \mathbf{t}_{1}\right\},\left\{\mathbf{p}_{2}, \mathbf{t}_{2}\right\}, \ldots,\left\{\mathbf{p}_{Q}, \mathbf{t}_{Q}\right\} \]
其中 \(\mathbf{p}_{Q}\) 表示網絡的一個輸入,而 \(\mathbf{t}_{Q}\) 是對應的目標輸出。對於每個網絡輸入,網絡的實際輸出將與對應的目標輸出相比較,其差值稱爲 偏差

LMS 算法將會調整 ADALINE 網絡 的權值和偏置值來最小化均方偏差。

首先考慮單個神經元的狀況。爲了簡化,將全部須要調整的參數(包括偏置值)構成一個向量
\[ \mathbf{x}=\left[ \begin{array}{c}{\mathbf{w}} \\ {b}\end{array}\right] \]
相似地,將偏置值輸入"1" 做爲向量的一部分
\[ \mathbf{z}=\left[ \begin{array}{l}{\mathbf{p}} \\ {1}\end{array}\right] \]
網絡的輸出爲
\[ a=_{1} \mathbf{w}^{T} \mathbf{p}+b \]
也能夠記爲
\[ a=\mathbf{x}^{T} \mathbf{z} \]
均方偏差(mean sqare error)爲
\[ F(\mathbf{x})=E\left[e^{2}\right]=E\left[(t-a)^{2}\right]=E\left[\left(t-\mathbf{x}^{T} \mathbf{z}\right)^{2}\right] \]
其中,指望值在全部輸入/目標對的集合上求得。(這裏咱們使用 \(E[ \quad ]\) 表示指望,使用指望的一個廣義定義,即肯定信號的時間平均值,參考[WiSt85]),上式可擴展爲:
\[ F(\mathbf{x})=E\left[t^{2}-2 t \mathbf{x}^{T} \mathbf{z}+\mathbf{x}^{T} \mathbf{z} \mathbf{z}^{T} \mathbf{x}\right] =E\left[t^{2}\right]-2 \mathbf{x}^{T} E[t \mathbf{z}]+\mathbf{x}^{T} E\left[\mathbf{z} \mathbf{z}^{T}\right] \mathbf{x} \]
能夠簡化爲:
\[ F(\mathbf{x})=c-2 \mathbf{x}^{T} \mathbf{h}+\mathbf{x}^{T} \mathbf{R} \mathbf{x} \]
其中 \(c=E\left[t^{2}\right]\)\(h=E[tz]\)\(R = E[tz]\)
這裏,向量 \(h\) 給出了輸入向量和對應目標輸出之間的相關性, \(R\) 是輸入相關矩陣(correlation matrix) 。矩陣的對角線元素等於輸入向量的均方值。

ADALINE 網絡 的均方偏差是一個二次函數,其中,\(d=-2h\)\(A=2R\)

這裏, Hessian 矩陣是相關矩陣 \(R\) 的兩倍。顯然,全部相關矩陣式正定或半正定的,即它們不會有負的特徵值。所以,性能指標存在兩種可能性:若相關矩陣只有正的特徵值,性能指標將有一個惟一的全局極小點;若相關矩陣有一個特徵值爲0,那麼性能矩陣將有一個弱極小點或者沒有極小點,這取決於向量 \(d=-2h\)

如今來肯定駐點。性能指標的梯度爲
\[ \nabla F(\mathbf{x})=\nabla\left(c+\mathbf{d}^{T} \mathbf{x}+\frac{1}{2} \mathbf{x}^{T} \mathbf{A} \mathbf{x}\right)=\mathbf{d}+\mathbf{A} \mathbf{x}=-2 \mathbf{h}+2 \mathbf{R} \mathbf{x} \]
\(F(\mathbf{x})\) 的駐點能夠經過令梯度等於0來求得:
\[ -2 \mathbf{h}+2 \mathbf{R} \mathbf{x}=0 \]
若相關矩陣是正定的,則存在惟一駐點,並且它是一個強極小值點:
\[ \mathbf{x}^{*}=\mathbf{R}^{-1} \mathbf{h} \]
值得注意的是,惟一解是否存在僅取決於相關矩陣 \(R\) 。所以,輸入向量的性質決定了是否存在惟一解。

5.3 LMS 算法

Widrow 和 Hoff 的關鍵思想在於使用下式估計均方偏差 \(F(x)\)
\[ \hat{F}(\mathbf{x})=(t(k)-a(k))^{2}=e^{2}(k) \]
其中,均方偏差的指望被第 \(k\) 次迭代的均方偏差所代替。每次迭代都有一個以下形式的梯度估計:
\[ \hat{\nabla} F(\mathbf{x})=\nabla e^{2}(k) \]
該梯度有時被稱爲 隨機梯度 (stochastic gradient)。當該梯度用於梯度降低算法的時候,每當一個樣本輸入網絡,權值都會被更新。
\(\nabla e^{2}(k)\) 的前 \(R\) 個元素是關於網絡權值的導數值,而第 \((R+1)\) 個元素是關於偏置值的導數值。因而有
\[ \left[\nabla e^{2}(k)\right]_{j}=\frac{\partial e^{2}(k)}{\partial w_{1, j}}=2 e(k) \frac{\partial e(k)}{\partial w_{1, j}} \text { for } j=1,2, \ldots, R \]

\[ \left[\nabla e^{2}(k)\right]_{R+1}=\frac{\partial e^{2}(k)}{\partial b}=2 e(k) \frac{\partial e(k)}{\partial b} \]
接下來考慮其中的偏導數項。首先計算 \(e(k)\) 對於網絡權值 \(w_{1, j}\) 的偏導數
\[ \frac{\partial e(k)}{\partial w_{1, j}}=\frac{\partial[t(k)-a(k)]}{\partial w_{1, j}}=\frac{\partial}{\partial w_{1, j}}\left[t(k)-\left(_{1} \mathbf{w}^{T} \mathbf{p}(k)+b\right)\right]\\ =\frac{\partial}{\partial w_{1, j}}\left[t(k)-\left(\sum_{i=1}^{R} w_{1, i} p_{i}(k)+b\right)\right] \]
其中 \(p_{i}(k)\) 是第 \(k\) 次迭代中輸入向量的第 \(i\) 個元素,上式可簡化爲:
\[ \frac{\partial e(k)}{\partial w_{1, j}}=-p_{j}(k) \]
梯度的最後一項爲:
\[ \frac{\partial e(k)}{\partial b}=-1 \]
注意,由於 \(p_{j}(k)\) 和 1 式輸入向量 \(z\) 的元素,因此第 \(k\) 次迭代的均方偏差的梯度能夠記爲:
\[ \hat{\nabla} F(\mathbf{x})=\nabla e^{2}(k)=-2 e(k) \mathbf{z}(k) \]

計算均方偏差的公式用第 \(k\) 次迭代時的瞬時偏差來近似均方偏差的精妙之處:這個梯度的近似值的計算只須要將偏差與輸入相乘。

\(\nabla F(\mathbf{x})\) 的近似值可被用於最速降低算法。具備固定學習率的最速降低算法可寫做:
\[ \mathbf{x}_{k+1}=\mathbf{x}_{k}-\alpha \nabla F\left.(\mathbf{x})\right|_{\mathbf{X}=\mathbf{X}_{k}} \]

若是用梯度的估計值替代梯度,可得:
\[ \mathbf{x}_{k+1}=\mathbf{x}_{k}+2 \alpha e(k) \mathbf{z}(k) \]
或者
\[ _{1} \mathbf{w}(k+1)=_{1} \mathbf{w}(k)+2 \alpha e(k) \mathbf{p}(k) \]

\[ b(k+1)=b(k)+2 \alpha e(k) \]

最後兩個等式構成了最小均方(LMS)算法。將前面的結果擴展到多維可得矩陣的第 \(i\) 行的更新:
\[ _{i} \mathbf{w}(k+1)=_{i} \mathbf{w}(k)+2 \alpha e_{i}(k) \mathbf{p}(k) \]
其中 \(e_{i}(k)\) 是第 \(k\) 次迭代時偏差的第 \(i\) 個元素。偏置的第 \(i\) 個元素的更新爲:
\[ b_{i}(k+1)=b_{i}(k)+2 \alpha e_{i}(k) \]
寫成矩陣形式爲:
\[ \mathbf{W}(k+1)=\mathbf{W}(k)+2 \alpha \mathbf{e}(k) \mathbf{p}^{T}(k) \]
\[ \mathbf{b}(k+1)=\mathbf{b}(k)+2 \alpha \mathbf{e}(k) \]
其中 偏差 \(e\) 和偏置 \(b\) 是向量。

5.4 收斂性分析

權值向量的指望值將收斂於
\[ \mathbf{x}^{*}=\mathbf{R}^{-1} \mathbf{h} \]
系統穩定的條件:
\[ \alpha<1 / \lambda_{i} \]

\[ 0<\alpha<1 / \lambda_{\max } \]
若知足上述穩定條件,LMS算法的穩態解爲:
\[ E\left[\mathbf{x}_{s s}\right]=[\mathbf{I}-2 \alpha \mathbf{R}] E\left[\mathbf{x}_{s s}\right]+2 \alpha \mathbf{h} \]
或者
\[ E\left[\mathbf{x}_{s s}\right]=\mathbf{R}^{-1} \mathbf{h}=\mathbf{x}^{*} \]

5.5 自適應濾波器

ADALINE 網絡比感知機有更普遍的應用。事實上,能夠有把握地說,在實際應用中,ADALINE 是使用最普遍的神經網絡之一。

ADALINE 網絡的一個主要應用領域是自適應濾波。知道如今,它仍被普遍地應用。

首先咱們須要介紹一個有 R 個輸入的 抽頭延遲線(tapped delay line) 模塊

輸入信號從左側輸入。抽頭延遲線的輸出端是一個 R 維的向量,由當前時刻的輸入信號和分別通過 1 到 R-1 時間步 延遲的輸入信號所構成。

把 抽頭延遲器 和 ADALINE 網絡 結合起來,咱們就能設計一個 自適應濾波器(adaptive filter) 。濾波器的輸出爲:

\[ a(k)=\operatorname{purelin}(\mathbf{W} \mathbf{p}+b)=\sum_{i=1}^{R} w_{1, i} y(k-i+1)+b \]

上述網絡就是數字信號處理中的 有限衝擊響應濾波器(Finite Impluse Response , FIR)[WiSt85]。

5.5.1 自適應噪聲消除(例子)

例如,網絡最小化的輸出「偏差」,其實是一個近似於咱們試圖要恢復的信號!

假設醫生試圖檢查一個心煩意亂的研究生的腦電圖(Electronencephalogram , EEG)發現他想看的信號被 60Hz 噪聲源發出的噪聲所污染。下面經過一個自適應濾波來消除噪聲信號:

如圖所示,最初的 60Hz 信號樣本輸入一個自適應濾波器中,並經過調整它的元件來使「偏差」 \(e\) 達到最小。所以,自適應濾波器的輸出是被噪聲污染的 EEG 信號 \(t\) 。 因爲自適應濾波器僅僅知道初始的噪聲源 \(v\) ,在濾波器試圖經過重現被污染信號的過程當中,它只能複製自適應濾波器的輸出 \(a\) 將接近於干擾噪聲 \(m\) 。經過這樣的方法,偏差 \(e\) 將接近於未被污染的初始 EEG 信號。

在噪聲源爲單正弦波的狀況下,由兩個權值且沒有偏置值的一個神經元足以實現這個濾波器。濾波器的輸入是噪聲源的當前值和前一時刻的值。

輸入相關矩陣 \(R\) 和 輸入/目標 的互相關向量 \(h\) 分別爲 \(\mathbf{R}=\left[\mathbf{z z}^{T}\right]\)\(\mathbf{h}=E[t \mathbf{z}]\)
輸入向量由噪聲源和當前值和前一時刻的值構成:
\[ \mathbf{z}(k)=\left[ \begin{array}{c}{v(k)} \\ {v(k-1)}\end{array}\right] \]
目標輸出是當前信號和過濾的噪聲信號之和:
\[ t(k)=s(k)+m(k) \]
經過展開 \(R\)\(h\) 可得:
\[ \mathbf{R}=\left[ \begin{array}{cc}{E\left[v^{2}(k)\right]} & {E[v(k) v(k-1)]} \\ {E[v(k-1) v(k)]} & {E\left[v^{2}(k-1)\right]}\end{array}\right] \]

\[ \mathbf{h}=\left[ \begin{array}{c}{E[(s(k)+m(k)) v(k)]} \\ {E[(s(k)+m(k)) v(k-1)]}\end{array}\right] \]
而後能夠獲得權值的最小均方偏差算法的解
\[ \mathbf{x}^{*}=\mathbf{R}^{-1} \mathbf{h} \]
將獲得的 \(R\)\(h\)\(x^{*}\) 帶入可得最終均方偏差值
\[ F(\mathbf{x})=c-2 \mathbf{x}^{T} \mathbf{h}+\mathbf{x}^{T} \mathbf{R} \mathbf{x} \]
該最小均方偏差值與 EEG 信號的均方值相同

5.5.2 回聲消除

在長途電話線和用戶地線之間鏈接的「混合」設備處的阻抗不匹配,因此長途電話線上的回聲廣泛存在。在長距離線的末端,到來的信號被輸送到一個自適應濾波器及混合設備。濾波器的輸出是混合設備的輸出,所以,濾波器試圖消除混合設備輸出中與輸入信號相關的那部分信號,即回聲。

第6章 反向傳播(Back Propagation , BP)

和 LMS 算法學習法則同樣,反向傳播算法也是一種近似最速梯度降低算法,它採用均方偏差做爲性能指標。LMS 算法和反向傳播算法的差別僅在於它們計算導數的方式。對於單層的線性網絡來講,偏差是網絡權值的顯示線性函數,它關於權值的導數能夠輕易地經過計算獲得。然而,多層網絡採用非線性的傳輸函數,網絡權值和偏差之間的關係更爲複雜,爲了計算導數,須要利用微積分中的鏈式法則。

1974年 Paul Werbos 的畢業論文中首次描述多層網絡訓練算法 [Werbo74]。然而直到80年代中期,反向傳播算法才被 David Rumelhart, Geoffrey Hinton 和 Ronald Williams
[RuHi86], David Parker [Park85], 還有 Yann Le Cun [LeCu85]從新發現並獲得普遍宣傳。

現在,經過反向傳播算法訓練的多層感知機網絡是應用最普遍的神經網絡。

6.1 多層感知機

考慮三層網絡,第一層的權值矩陣記爲 \(\mathbf{W}^{1}\) ,第二層的權值矩陣記爲 \(\mathbf{W}^{2}\),將輸入的神經元個數與每層中神經元的個數依次列出,多層網絡結構記爲:
\[ R-S^{1}-S^{2}-S^{3} \]

6.1.1 模式分類

兩層網絡能解決異或問題,有多種不一樣的多層解決方法,如下是一個例子

6.1.2 函數逼近

在控制系統中,目標是找到合適的反饋函數,從而創建從測得輸出到控制輸入的映射。在自適應濾波中,目標是找到一個函數,創建從延遲輸入信號到合適的輸出信號的映射。

已經證實:只要有足夠多的隱層單元,一個隱層採用 S 型傳輸函數,輸出層採用線性傳輸函數的兩層網絡幾乎能夠任意精度逼近任意函數[HoSt89]。

函數逼近網絡示例:

接下來須要設計一個算法來訓練這樣的網絡

6.2 反向傳播算法

多層網絡能夠表達爲:
\[ \mathbf{a}^{m+1}=\mathbf{f}^{m+1}\left(\mathbf{W}^{m+1} \mathbf{a}^{m}+\mathbf{b}^{m+1}\right) \text { for } m=0,1, \ldots, M-1 \]
其中 M 是網絡的層數,第一層的神經元接收外部輸入:
\[ \mathbf{a}^{0}=\mathbf{p} \]
最後一層神經元的輸出做爲網絡的輸出:
\[ \mathbf{a}=\mathbf{a}^{M} \]

6.2.1 性能指標

多層網絡的反向傳播算法是 LMS 算法的推廣,而且兩個算法都使用 均方偏差 做爲性能指標。算法須要一組反應正確網絡行爲的樣本:
\[ \left\{\mathbf{p}_{1}, \mathbf{t}_{1}\right\},\left\{\mathbf{p}_{2}, \mathbf{t}_{2}\right\}, \ldots,\left\{\mathbf{p}_{Q}, \mathbf{t}_{Q}\right\} \]
其中 , \(P_{q}\) 是網絡的一個輸入, \(t_{q}\) 是對應的目標輸出。每個輸入傳給網絡後,網絡的輸出都將和目標輸出進行比較。算法則調整網絡的參數以最小化均方偏差:
\[ F(\mathbf{x})=E\left[e^{2}\right]=E\left[(t-a)^{2}\right] \]
其中 \(x\) 是網絡權值和偏置值構成的向量。若是網絡有多個輸出,則能夠推廣爲:
\[ F(\mathbf{x})=E\left[\mathbf{e}^{T} \mathbf{e}\right]=E\left[(\mathbf{t}-\mathbf{a})^{T}(\mathbf{t}-\mathbf{a})\right] \]
和 LMS 算法同樣,咱們用下式近似表示均方偏差:
\[ \hat{F}(\mathbf{x})=(\mathbf{t}(k)-\mathbf{a}(k))^{T}(\mathbf{t}(k)-\mathbf{a}(k))=\mathbf{e}^{T}(k) \mathbf{e}(k) \]
原來的偏差平方的指望被第 \(k\) 次迭代時的偏差平方代替。

近似均方偏差的最速梯度降低算法(隨機梯度降低)爲:
\[ \begin{cases} w_{i, j}^{m}(k+1)=w_{i, j}^{m}(k)-\alpha \frac{\partial \hat{F}}{\partial w_{i, j}^{m}}\\ \\ b_{i}^{m}(k+1)=b_{i}^{m}(k)-\alpha \frac{\partial \hat{F}}{\partial b_{i}^{m}} \end{cases} \]

6.2.2 鏈式法則

單層線性網絡(ADALINE)的偏導數能夠方便計算出來。對於多層網絡而言,偏差並非隱層網絡權值的顯式函數,所以這些導數的計算並不那麼容易。

因爲偏差是隱層權值的間接函數,咱們將用微積分中的鏈式法則來計算這些導數。假設有一個函數 \(f\) ,它僅僅是變量 \(n\) 的顯式函數。咱們要計算 \(f\) 關於另外一個變量 \(w\) 的導數,鏈式法則爲:
\[ \frac{d f(n(w))}{d w}=\frac{d f(n)}{d n} \times \frac{d n(w)}{d w} \]


\[ f(n)=e^{n} \text { and } n=2 w, \text { so that } f(n(w))=e^{2 w} \]

\[ \frac{d f(n(w))}{d w}=\frac{d f(n)}{d n} \times \frac{d n(w)}{d w}=\left(e^{n}\right)(2) \]
導數爲
\[ \frac{\partial \hat{F}}{\partial w_{i, j}^{m}}=\frac{\partial \hat{F}}{\partial n_{i}^{m}} \times \frac{\partial n_{i}^{m}}{\partial w_{i, j}^{m}} \]

\[ \frac{\partial \hat{F}}{\partial b_{i}^{m}}=\frac{\partial \hat{F}}{\partial n_{i}^{m}} \times \frac{\partial n_{i}^{m}}{\partial b_{i}^{m}} \]
因爲第 \(m\) 層的淨輸入是該層權值和偏置值的顯式函數,所以上式的第二項能夠容易計算處:
\[ n_{i}^{m}=\sum_{j=1}^{S^{m-1}} w_{i, j}^{m} a_{j}^{m-1}+b_{i}^{m} \]
所以
\[ \frac{\partial n_{i}^{m}}{\partial w_{i, j}^{m}}=a_{j}^{m-1}, \frac{\partial n_{i}^{m}}{\partial b_{i}^{m}}=1 \]

定義
\[ s_{i}^{m}=\frac{\partial \hat{F}}{\partial n_{i}^{m}} \]

\(\hat{F}\) 對第 \(m\) 層中淨輸入額第 \(i\) 個元素變化的敏感度(sensitivity) ,導數能夠簡化爲:
\[ \frac{\partial \hat{F}}{\partial w_{i, j}^{m}}=s_{i}^{m} a_{j}^{m-1} \]
\[ \frac{\partial \hat{F}}{\partial b_{i}^{m}}=s_{i}^{m} \]
近似梯度降低算法能夠表示爲:
\[ w_{i, j}^{m}(k+1)=w_{i, j}^{m}(k)-\alpha s_{i}^{m} a_{j}^{m-1} \]
\[ b_{i}^{m}(k+1)=b_{i}^{m}(k)-\alpha s_{i}^{m} \]
寫成矩陣形式:
\[ \mathbf{W}^{m}(k+1)=\mathbf{W}^{m}(k)-\alpha \mathbf{s}^{m}\left(\mathbf{a}^{m-1}\right)^{T} \]
\[ \mathbf{b}^{m}(k+1)=\mathbf{b}^{m}(k)-\alpha \mathbf{s}^{m} \]
其中
\[ \mathbf{s}^{m} \equiv \frac{\partial \hat{F}}{\partial \mathbf{n}^{m}}=\left[ \begin{array}{c}{\frac{\partial \hat{F}}{\partial n_{1}^{m}}} \\ {\frac{\partial \hat{F}}{\partial n_{1}^{m}}} \\ {\vdots} \\ {\frac{\partial F}{\partial n_{s^{m}}^{m}}}\end{array}\right] \]

6.2.3 敏感度的反向傳播

如今剩下的工做就是計算敏感度 \(s^{m}\) ,這須要再次利用鏈式法則。反向傳播正是由這個過程而得名,由於它描述了一種遞歸關係,即第 \(m\) 層敏感度是由第 \(m+1\) 層敏感度計算獲得的。
爲了推導敏感度的遞歸關係,咱們將使用 Jacobian (雅可比)矩陣
\[ \frac{\partial \mathbf{n}^{m+1}}{\partial \mathbf{n}^{m}} \equiv \left[ \begin{array}{cc}{\frac{\partial n_{1}^{m+1}}{\partial n_{1}^{m}}} & {\frac{\partial n_{1}^{m+1}}{\partial n_{2}^{m}}} & \ldots & {\frac{\partial n_{1}^{m+1}}{\partial n_{S^{m}}^{m}}} \\ \\ {\frac{\partial n_{2}^{m+1}}{\partial n_{1}^{m}}} & {\frac{\partial n_{2}^{m+1}}{\partial n_{2}^{m}}} & \ldots & {\frac{\partial n_{2}^{m+1}}{\partial n_{S^{m}}^{m}}} \\ {\vdots} & {\vdots} & {\vdots} & {\vdots}\\ {\frac{\partial n_{s^{m+1}}^{m+1}}{\partial n_{1}^{m}}} & {\frac{\partial n_{s^{m+1}}^{m+1}}{\partial n_{2}^{m}}} & \ldots & {\frac{\partial n_{s^{m+1}}^{m+1}}{\partial n_{s^{m}}^{m}}}\end{array}\right] \]
接下來要找到一種計算表達式。考慮矩陣的第 \(i,j\) 項元素
\[ \frac{\partial n_{i}^{m+1}}{\partial n_{j}^{m}}=\frac{\partial\left(\sum_{l=1}^{m+1} a_{l}^{m}+b_{i}^{m+1}\right)}{\partial n_{j}^{m}}=w_{i, j}^{m+1} \frac{\partial a_{j}^{m}}{\partial n_{j}^{m}}\\ =w_{i, j}^{m+1} \frac{\partial f^{m}\left(n_{j}^{m}\right)}{\partial n_{j}^{m}}=w_{i, j}^{m+1} f^{m}\left(n_{j}^{m}\right) \]
其中
\[ \dot{f}^{m}\left(n_{j}^{m}\right)=\frac{\partial f^{m}\left(n_{j}^{m}\right)}{\partial n_{j}^{m}} \]
故這個雅可比矩陣能夠寫爲
\[ \frac{\partial \mathbf{n}^{m+1}}{\partial \mathbf{n}^{m}}=\mathbf{W}^{m+1} \dot{\mathbf{F}}^{m}\left(\mathbf{n}^{m}\right) \]
其中
\[ \dot{\mathbf{F}}^{m}\left(\mathbf{n}^{m}\right)= \left[ \begin{array}{cc}{\dot{f}^{m}\left(n_{1}^{m}\right)} & {0} & \ldots & {0} \\ \\ {0} & {\dot{f}^{m}\left(n_{2}^{m}\right)} & \ldots & {0} \\ {\vdots} & {\vdots} & {\vdots} & {\vdots}\\ {0} & {0} & \ldots & {\dot{f}^{m}\left(n_{S^{n}}^{m}\right)}\end{array}\right] \]

利用矩陣形式的鏈式法則寫出敏感詞之間的遞歸關係:
\[ \mathbf{s}^{m}=\frac{\partial \hat{F}}{\partial \mathbf{n}^{m}}=\left(\frac{\partial \mathbf{n}^{m+1}}{\partial \mathbf{n}^{m}}\right)^{T} \frac{\partial \hat{F}}{\partial \mathbf{n}^{m+1}}=\dot{\mathbf{F}}^{m}\left(\mathbf{n}^{m}\right)\left(\mathbf{W}^{m+1}\right)^{T} \frac{\partial \hat{F}}{\partial \mathbf{n}^{m+1}} \\ =\dot{\mathbf{F}}^{m}\left(\mathbf{n}^{m}\right)\left(\mathbf{W}^{m+1}\right)^{T} \mathbf{s}^{m+1} \]
由此能夠看出反向傳播算法名稱的由來。敏感度在網絡中從最後一層反向傳播到第一層:
\[ \mathbf{s}^{M} \rightarrow \mathbf{s}^{M-1} \rightarrow \ldots \rightarrow \mathbf{s}^{2} \rightarrow \mathbf{s}^{1} \]
須要強調的是,反向傳播算法利用了和 LMS 算法相同的近似最速降低方法。惟一複雜的地方在於,爲了計算梯度咱們首先要反向傳播敏感度。反向傳播的精妙之處在於鏈式法則的有效實現。

還差一部咱們即可以完成反向傳播算法。咱們須要一個起始點 \(s^{M}\)來實現上述遞歸關係。它能夠在最後一層獲得:
\[ s_{i}^{M}=\frac{\partial \hat{F}}{\partial n_{i}^{M}}=\frac{\partial(\mathbf{t}-\mathbf{a})^{T}(\mathbf{t}-\mathbf{a})}{\partial n_{i}^{M}}=\frac{\partial \sum_{i=1}^{n}\left(t_{j}-a_{j}\right)^{2}}{\partial n_{i}^{M}}=-2\left(t_{i}-a_{i}\right) \frac{\partial a_{i}}{\partial n_{i}^{M}} \]
因爲
\[ \frac{\partial a_{i}}{\partial n_{i}^{M}}=\frac{\partial a_{i}^{M}}{\partial n_{i}^{M}}=\frac{\partial f^{M}\left(n_{i}^{M}\right)}{\partial n_{i}^{M}}=\dot{f}^{M}\left(n_{i}^{M}\right) \]
能夠獲得
\[ s_{i}^{M}=-2\left(t_{i}-a_{i}\right) \dot{f}^{M}\left(n_{i}^{M}\right) \]
寫成矩陣形式爲
\[ \mathbf{s}^{M}=-2 \dot{\mathbf{F}}^{M}\left(\mathbf{n}^{M}\right)(\mathbf{t}-\mathbf{a}) \]

6.2.4 總結

第一步將輸入向前傳過網絡:
\[ \mathbf{a}^{0}=\mathbf{p} \]
\[ \mathbf{a}^{m+1}=\mathbf{f}^{m+1}\left(\mathbf{W}^{m+1} \mathbf{a}^{m}+\mathbf{b}^{m+1}\right) \text { for } m=0,1, \ldots, M-1 \]
\[ \mathbf{a}=\mathbf{a}^{M} \]
接着,將敏感度反向傳過網絡:
\[ \mathbf{s}^{M}=-2 \dot{\mathbf{F}}^{M}\left(\mathbf{n}^{M}\right)(\mathbf{t}-\mathbf{a}) \]
\[ \mathbf{s}^{m}=\dot{\mathbf{F}}^{m}\left(\mathbf{n}^{m}\right)\left(\mathbf{W}^{m+1}\right)^{T} \mathbf{s}^{m+1}, \text { for } m=M-1, \ldots, 2,1 \]
最後,利用近似最速降低規則更新網絡的權值和偏置值:
\[ \mathbf{W}^{m}(k+1)=\mathbf{W}^{m}(k)-\alpha \mathbf{s}^{m}\left(\mathbf{a}^{m-1}\right)^{T} \]
\[ \mathbf{b}^{m}(k+1)=\mathbf{b}^{m}(k)-\alpha \mathbf{s}^{m} \]

6.3 例子

爲了演示反向傳播算法,須要選擇一個網絡並把它應用到一個實際的問題中。
咱們須要一個網絡逼近於下面的函數:
\[ g(p)=1+\sin \left(\frac{\pi}{4} p\right) \text { for }-2 \leq p \leq 2 \]
在多個 \(p\) 值處計算該函數以獲得訓練集

在開始反向傳播算法以前,咱們還須要選定網絡權值和偏置值的初始值。一般它們都被設置爲比較小的隨機數,咱們先將其設爲:
\[ \mathbf{w}^{1}(0)=\left[ \begin{array}{c}{-0.27} \\ {-0.41}\end{array}\right], \mathbf{b}^{1}(0)=\left[ \begin{array}{c}{-0.48} \\ {-0.13}\end{array}\right], \mathbf{w}^{2}(0)=[0.09-0.17], \mathbf{b}^{2}(0)=[0.48] \]

接下來咱們須要選定一個訓練集\(\left\{p_{1}, t_{1}\right\},\left\{p_{2}, t_{2}\right\}, \ldots,\left\{p_{Q}, t_{Q}\right\}\)。咱們在[-2,2]範圍內對函數進行21次間距爲0.2的等距採樣。

雖然訓練樣本能夠任意順序選擇,但一般會採用隨機的方法取選取。第一個輸入咱們選擇 \(p=1\) ,即第16個訓練樣本:
\[ a^{0}=p=1 \]
因而,第一個網絡層的輸出爲
\[ \mathbf{a}^{1}=\mathbf{f}^{1}\left(\mathbf{W}^{1} \mathbf{a}^{0}+\mathbf{b}^{1}\right)= \operatorname{logsig}\left(\left[ \begin{array}{c}{-0.27} \\ {-0.41}\end{array}\right] \left[ \begin{array}{c}{-0.48} \\ {-0.13}\end{array}\right]\right)=\operatorname{logsig}\left(\left[ \begin{array}{c}{-0.75} \\ {-0.54}\end{array}\right]\right)\\ \\ =\left[ \begin{array}{c}{\frac{1}{1+e^{0.7}}} \\ {\frac{1}{1+e^{0.54}}}\end{array}\right]=\left[ \begin{array}{c}{0.321} \\ {0.368}\end{array}\right] \]
第二層的輸出爲
\[ a^{2}=f^{2}\left(\mathbf{W}^{2} \mathbf{a}^{1}+\mathbf{b}^{2}\right)=\text { purelin }([0.09-0.17]] \left[ \begin{array}{c}{0.321} \\ {0.368}\end{array}\right]+[0.48] )=[0.446] \]
偏差爲
\[ e=t-a=\left\{1+\sin \left(\frac{\pi}{4} p\right)\right\}-a^{2}=\left\{1+\sin \left(\frac{\pi}{4} 1\right)\right\}-0.446=1.261 \]
反向傳播的下一步是回傳敏感度。在開始反向傳播以前,咱們還須要計算傳輸函數的導數 \(\dot{f}^{\mathrm{1}}(n)\)\(\dot{f}^{2}(n)\) 。對第一層
\[ \dot{f}^{1}(n)=\frac{d}{d n}\left(\frac{1}{1+e^{-n}}\right)=\frac{e^{-n}}{\left(1+e^{-n}\right)^{2}}=\left(1-\frac{1}{1+e^{-n}}\right)\left(\frac{1}{1+e^{-n}}\right)=\left(1-a^{1}\right)\left(a^{1}\right) \]
對第二層
\[ \dot{f}^{2}(n)=\frac{d}{d n}(n)=1 \]
如今開始進行反向傳播,起點在第二層
\[ \mathbf{s}^{2}=-2 \dot{\mathbf{F}}^{2}\left(\mathbf{n}^{2}\right)(\mathbf{t}-\mathbf{a})=-2\left[\dot{f}^{2}\left(n^{2}\right)\right](1.261)=-2[1](1.261)=-2.522 \]
而後能夠計算出第一層的敏感度:
\[ \mathbf{s}^{1}=\dot{\mathbf{F}}^{1}\left(\mathbf{n}^{1}\right)\left(\mathbf{W}^{2}\right)^{T} \mathbf{s}^{2}=\left[ \begin{array}{cc}{\left(1-a_{1}^{1}\right)\left(a_{1}^{1}\right)} & {0} \\ {0} & {\left(1-a_{2}^{1}\right)\left(a_{2}^{1}\right)}\end{array}\right] \left[ \begin{array}{c}{0.09} \\ {-0.17}\end{array}\right] \left[ \begin{array}{c}{-2.522}\end{array}\right]\\ \\ =\left[ \begin{array}{cc}{(1-0.321)(0.321)} & {0} \\ {0} & {(1-0.368)(0.368)}\end{array}\right] \left[ \begin{array}{c}{0.09} \\ {-0.17}\end{array}\right] \left[ \begin{array}{c}{-2.522}\end{array}\right]\\ \\ =\left[ \begin{array}{cc}{0.218} & {0} \\ {0} & {0.233}\end{array}\right] \left[ \begin{array}{c}{-0.227} \\ {0.429}\end{array}\right]=\left[ \begin{array}{c}{-0.0495} \\ {0.0997}\end{array}\right] \]
算法的最後一步是更新權值,設置學習率 \(\alpha =0.1\) 權值爲:
\[ \mathbf{w}^{2}(1)=\mathbf{w}^{2}(0)-\alpha \mathbf{s}^{2}\left(\mathbf{a}^{1}\right)^{T}\\ =[0.09-0.17]-0.1[-2.522][0.3210 .368] \\ =[0.171-0.0772] \]

\[ \mathbf{b}^{2}(1)=\mathbf{b}^{2}(0)-\alpha \mathbf{s}^{2}=[0.48]-0.1[-2.522]=[0.732] \]

\[ \mathbf{W}^{1}(1)=\mathbf{W}^{1}(0)-\alpha \mathbf{s}^{1}\left(\mathbf{a}^{0}\right)^{T}=\left[ \begin{array}{c}{-0.27} \\ {-0.41}\end{array}\right]-0.1 \left[ \begin{array}{c}{-0.0495} \\ {0.0997}\end{array}\right] \left[ \begin{array}{c}{-0.265} \\ {-0.420}\end{array}\right] \]
\[ \mathbf{b}^{1}(1)=\mathbf{b}^{1}(0)-\alpha \mathbf{s}^{1}=\left[ \begin{array}{c}{-0.48} \\ {-0.13}\end{array}\right]-0.1 \left[ \begin{array}{c}{-0.0495} \\ {0.0997}\end{array}\right]=\left[ \begin{array}{c}{-0.475} \\ {-0.140}\end{array}\right] \]
這樣,就完成了反向傳播算法的第一次迭代。接着再從訓練集中隨機選取另外一個輸入並執行一次新的算法迭代,直到網絡輸出和目標函數之間的差別達到可接受的程度。

6.4 批量訓練和增量訓練

網絡的鏈接權值和偏置值在每個樣本傳過網絡後都被更新。咱們也能夠執行 批量訓練(batch training)先計算完整梯度(即在全部輸入都傳給網絡進行計算以後)再更新鏈接權值和偏置值。例如,假設每一個樣本出現的機率是同樣的,均方偏差性能指標能夠寫爲
\[ F(\mathbf{x})=E\left[\mathbf{e}^{T} \mathbf{e}\right]=E\left[(\mathbf{t}-\mathbf{a})^{T}(\mathbf{t}-\mathbf{a})\right]=\frac{1}{Q} \sum_{q=1}^{Q}\left(\mathbf{t}_{q}-\mathbf{a}_{q}\right)^{T}\left(\mathbf{t}_{q}-\mathbf{a}_{q}\right) \]
這個性能指標的總梯度爲
\[ \nabla F(\mathbf{x})=\nabla\left\{\frac{1}{Q} \sum_{q=1}^{Q}\left(\mathbf{t}_{q}-\mathbf{a}_{q}\right)^{T}\left(\mathbf{t}_{q}-\mathbf{a}_{q}\right)\right\}=\frac{1}{Q} \sum_{q=1}^{Q} \nabla\left\{\left(\mathbf{t}_{q}-\mathbf{a}_{q}\right)^{T}\left(\mathbf{t}_{q}-\mathbf{a}_{q}\right)\right\} \]
所以,均方偏差的總梯度等於每一個樣本平方偏差梯度的平均。因此,爲了實現反向傳播算法的批量訓練,咱們首先對訓練集中的全部樣本先求計算前向傳播的值和反向傳播的敏感度,而後求單個樣本梯度的平均以獲得總梯度。這樣,批量訓練最速降低算法的更新公式爲
\[ \mathbf{W}^{m}(k+1)=\mathbf{W}^{m}(k)-\frac{\alpha}{Q} \sum_{q=1}^{Q} \mathbf{s}_{q}^{m}\left(\mathbf{a}_{q}^{m-1}\right)^{T} \]
\[ \mathbf{b}^{m}(k+1)=\mathbf{b}^{m}(k)-\frac{\alpha}{Q} \sum_{q=1}^{Q} \mathbf{s}_{q}^{m} \]

6.5 使用反向傳播

6.5.1 網絡結構的選擇

要逼近一個具備大量拐點的函數,須要隱層中有大量的神經元。

6.5.2 收斂性

網絡有逼近函數的能力,可是學習算法卻不必定能產生能準確逼近函數的網絡參數。

6.5.3 泛化

一個網絡要可以泛化,它包含的參數個數應該少於訓練集中數據點的個數。

第7章 反向傳播算法的變形

反向傳播算法收斂速度慢

啓發式技術:可變的學習率、使用衝量以及改變變量範圍

數值優化技術:[Shan90], [Barn92], [Batt92] and [Char92] 等。
成功用於訓練多層感知機的數值優化技術:共軛梯度算法和 Levenberg-Marquardt 算法(牛頓法的一種變形)

算法差別在於它們利用獲得的導數來更新權值的方式。

把基本的反向傳播算法稱爲 最速降低反向傳播算法(steepest descent
backpropagation , SDBP)

7.1 反向傳播算法的缺點

爲了防止進入鞍點區域,將初始權值和偏置設置成小的隨機值

平滑軌跡,防止振盪

7.2 反向傳播的啓發式改進

7.2.1 衝量(Momentum)

平滑軌跡上的振盪,提高算法的收斂性。

一階濾波器:
\[ y(k)=\gamma y(k-1)+(1-\gamma) w(k) \]
\(w(k)\) 是濾波器的輸入, \(y(k)\)是濾波器的輸出, \(\gamma\) 是衝量係數且必須知足以下條件
\[ 0 \leq \gamma<1 \]

將衝量用於參數更新時,可得 反向傳播算法的衝量改進(momentum modification to backpropagation , MOBP)
\[ \Delta \mathbf{W}^{m}(k)=\gamma \Delta \mathbf{W}^{m}(k-1)-(1-\gamma) \alpha \mathbf{s}^{m}\left(\mathbf{a}^{m-1}\right)^{T} \]
\[ \Delta \mathbf{b}^{m}(k)=\gamma \Delta \mathbf{b}^{m}(k-1)-(1-\gamma) \alpha \mathbf{s}^{m} \]
目標:使用較大的學習率同時保證算法的穩定性。

該方法傾向於在相同方向上進行梯度更新

7.2.2 可變學習率

可變學習率反向傳播算法(variable learning rate backpropagation algorithm ,VLBP)

7.2.3 數值優化技術

7.2.3.1 共軛梯度

不須要計算二階導數但擁有二階函數的收斂性質。共軛梯度反向傳播(conjugate gradient backpropagation , CGBP)

黃金分割搜索算法[Scal85]:

7.2.3.2 Levenberg-Marquardt 算法

LMBP
用於最小化非線性函數的平方和。此方法很是適合採用均方偏差爲性能指標的神經網絡訓練。
\[ \mathbf{x}_{k+1}=\mathbf{x}_{k}-\left[\mathbf{J}^{T}\left(\mathbf{x}_{k}\right) \mathbf{J}\left(\mathbf{x}_{k}\right)+\mu_{k} \mathbf{I}\right]^{-1} \mathbf{J}^{T}\left(\mathbf{x}_{k}\right) \mathbf{v}\left(\mathbf{x}_{k}\right) \]

\[ \Delta \mathbf{x}_{k}=-\left[\mathbf{J}^{T}\left(\mathbf{x}_{k}\right) \mathbf{J}\left(\mathbf{x}_{k}\right)+\mu_{k} \mathbf{I}\right]^{-1} \mathbf{J}^{T}\left(\mathbf{x}_{k}\right) \mathbf{v}\left(\mathbf{x}_{k}\right) \]
其中 \(J(x)\) 爲雅可比矩陣
偏差向量
\[ \Delta \mathbf{x}_{k}=-\left[\mathbf{J}^{T}\left(\mathbf{x}_{k}\right) \mathbf{J}\left(\mathbf{x}_{k}\right)+\mu_{k} \mathbf{I}\right]^{-1} \mathbf{J}^{T}\left(\mathbf{x}_{k}\right) \mathbf{v}\left(\mathbf{x}_{k}\right) \]
參數向量
\[ \mathbf{x}^{T}=\left[ \begin{array}{lll}{x_{1}} & {x_{2}} & {\dots} & {x_{n}}\end{array}\right]= \left[ \begin{array}{lllllll}{w_{1,1}^{1}w_{1,2}^{1}} & {\dots}&{w_{S^{1}, R}^{1} b_{1}^{1}} & {\dots} & {b_{S^{1}}^{1} w_{1,1}^{2}} & {\dots} & {b_{S^{M}}^{M}}\end{array}\right] \]
\(N=Q \times S^{M}\)\(S^{1}(R+1)+S^{2}\left(S^{1}+1\right)+\cdots+S^{M}\left(S^{M-1}+1\right)\)
雅可比矩陣的每一項均可以經過對反向傳播算法進行簡單改進求得:
\[ [\mathbf{J}]_{h, l}=\frac{\partial v_{h}}{\partial x_{l}}=\frac{\partial e_{k, q}}{\partial w_{i, j}^{m}}=\frac{\partial e_{k, q}}{\partial n_{i, q}^{m}} \times \frac{\partial n_{i, q}^{m}}{\partial w_{i, j}^{m}}=\tilde{s}_{i, h}^{m} \times \frac{\partial n_{i, q}^{m}}{\partial w_{i, j}^{m}}=\tilde{s}_{i, h}^{m} \times a_{j, q}^{m-1} \]
若是 \(x_{l}\) 是偏置值,
\[ [\mathbf{J}]_{h, l}=\frac{\partial v_{h}}{\partial x_{l}}=\frac{\partial e_{k, q}}{\partial b_{i}^{m}}=\frac{\partial e_{k, q}}{\partial n_{i, q}^{m}} \times \frac{\partial n_{i, q}^{m}}{\partial b_{i}^{m}}=\tilde{s}_{i, h}^{m} \times \frac{\partial n_{i, q}^{m}}{\partial b_{i}^{m}}=\tilde{s}_{i, h}^{m} \]
Marquardt 敏感度定義爲:
\[ \tilde{S}_{i, h}^{m} \equiv \frac{\partial v_{h}}{\partial n_{i, q}^{m}}=\frac{\partial e_{k, q}}{\partial n_{i, q}^{m}} \]
其中 \(h=(q-1) S^{M}+k\)
矩陣形式:
初始化
\[ \tilde{S}_{q}^{M}=-\dot{\mathbf{F}}^{M}\left(\mathbf{n}_{q}^{M}\right) \]
行列反向傳播求解
\[ \tilde{S}_{q}^{m}=\dot{\mathbf{F}}^{m}\left(\mathbf{n}_{q}^{m}\right)\left(\mathbf{W}^{m+1}\right)^{T} \tilde{S}_{q}^{m+1} \]
對每一個輸入計算獲得的矩陣進行增廣,可得每一層完整的 Marquardt 敏感度矩陣
\[ \tilde{S}^{m}=\left[\tilde{S}_{1}^{m}\left|\tilde{S}_{2}^{m}\right| \ldots | \tilde{S}_{Q}^{m}\right] \]

第8章 泛化(generalization)

神經元數量過多時,在訓練數據上容易過擬合。泛化能力出衆的網絡應當在訓練數據和新的數據上具備一樣優異的表現。

Ockham's razor 奧卡姆剃刀 :如無必要,勿增實體!

產生最簡神經網絡:生長法、剪枝法、全局搜索法、正則化法和提早終止法
後兩種方法約束網絡權值大小來實現網絡最簡化

8.1 提高泛化性能的方法

75%訓練 15%驗證 15%測試

8.1.1 提早終止法(Early Stopping)

交叉驗證

8.1.2 正則化法 (Regularization)

添加一個包含逼近函數導數的懲罰項,或者說正則化項,以平滑所獲得的函數。
\[ F(\mathbf{x})=\beta E_{D}+\alpha E_{W}=\beta \sum_{q=1}^{Q}\left(\mathbf{t}_{q}-\mathbf{a}_{q}\right)^{T}\left(\mathbf{t}_{q}-\mathbf{a}_{q}\right)+\alpha \sum_{i=1}^{n} x_{i}^{2} \]
比率 $\alpha / \beta $ 用於控制網絡解的有效複雜度。比率越大,網絡響應越平滑。

8.1.3 貝葉斯分析(Bayesian Analysis)

若是存在兩個隨機事件 A 和 B ,那麼已知事件 B 發生的狀況下,事件 A 發生的條件機率爲
\[ P(A | B)=\frac{P(B | A) P(A)}{P(B)} \]

8.1.4 貝葉斯正則化

第一層貝葉斯框架
第二層貝葉斯框架

最大似然估計

好複雜。。。

而後看不懂了。。。太難了,公式推不動!!!有空再補

第9章 動態網絡

輸出不但依賴於當前的網絡輸入,還依賴於以前的輸入、輸出及狀態等。(有記憶性)

動態網絡能夠逼近一個 動力學系統。有衆多應用:金融系統的預測、通訊系統的信道均衡、電力系統的相位探測、排序、故障檢測、語音識別、天然語言中的語法學習、遺傳學中蛋白質結構預測。

9.1 分層數字動態網絡(Layered Digital Dynamic Networks (LDDN))

能夠方便地表示具備多個反饋鏈接及抽頭延遲線(tapped delay lines , TDL)的網絡。
\[ \mathbf{n}^{m}(t)=\sum_{l \in L_{m}^{f} d \in D L_{m, l}} \mathbf{L} \mathbf{W}^{m, l}(d) \mathbf{a}^{l}(t-d)++\sum_{l \in I_{m} d \in D I_{m, l}} \mathbf{I} \mathbf{W}^{m, l}(d) \mathbf{p}^{l}(t-d)+\mathbf{b}^{m} \]
\(m\) 層的輸出計算爲
\[ \mathbf{a}^{m}(t)=\mathbf{f}^{m}\left(\mathbf{n}^{m}(t)\right) \]
示例

靜態網絡能夠逼近靜態函數。動態網絡能夠經過訓練逼近動力學系統,如機械臂、飛行器、生物過程、經濟體系等,這些系統的輸出依賴於以前輸入和輸出的歷史。

9.2 動態網絡的反向傳播算法

動態網絡的反向傳播算法:時間反向傳播算法(backpropagation-throughtime , BPTT)和 實時回覆學習(real-time recurrent learning , RTRL)

第10章 競爭網絡

使用聯想學習規則進行自適應學習,以實現模式分類。
競爭網絡、特徵圖網絡以及學習向量量化(Learning Vector Quantization , LVQ)網絡

Hamming 網絡是最簡單的競爭網絡之一,其輸出層的神經元經過互相競爭從而產生一個勝者。這個勝者代表了何種標準模式最能表明輸入模式。

10.1 Hamming 網絡

Hamming 網絡包含兩層,第一層(是一個 instat 層)將輸入向量和標準向量相互關聯起來。第二層採用競爭方式肯定最接近於輸入向量的標準向量。

10.1.1 第一層

單個instar只能識別一種模式。爲了實現多個模式,須要多個 instar ,Hamming 網絡實現了這一點。
假設要讓網絡識別以下的標準向量
\[ \left\{\mathbf{p}_{1}, \mathbf{p}_{2}, \dots, \mathbf{p}_{Q}\right\} \]
則第一層的權值矩陣 \(W^{1}\) 和偏置向量 \(b^{1}\) 爲:
\[ \mathbf{W}^{1}=\left[ \begin{array}{c}{ _{1}\mathbf{w}^{T}} \\ { _{2}\mathbf{w}^{T}} \\ {\vdots} \\ {_{s}\mathbf{w}^{T}}\end{array}\right]=\left[ \begin{array}{c}{\mathbf{p}_{1}^{T}} \\ {\mathbf{p}_{2}^{T}} \\ {\vdots} \\ {\mathbf{p}_{Q}^{T}}\end{array}\right], \mathbf{b}^{1}=\left[ \begin{array}{c}{R} \\ {R} \\ {\vdots} \\ {R}\end{array}\right] \]
其中, \(\mathbf{W}^{1}\) 的每一行表明了一個想要識別的標準向量, \(B^{1}\) 中的每個元素都設爲等於輸入向量的元素個數R (神經元的數量 S 等於將要被識別的標準向量個數 Q )
所以,第一層的輸出爲:
\[ \mathbf{a}^{1}=\mathbf{W}^{1} \mathbf{p}+\mathbf{b}^{1}=\left[ \begin{array}{c}{\mathbf{p}_{1}^{T} \mathbf{p}+R} \\ {\mathbf{p}_{2}^{T} \mathbf{p}+R} \\ {\vdots} \\ {\mathbf{p}_{Q}^{T} \mathbf{p}+R}\end{array}\right] \]
注意,第一層的輸出等於標準向量於輸入的乘積再加上R

10.1.2 第二層

在instar 中,使用了 hardlim 傳輸函數來決定輸入向量是否足夠接近於標準向量。 Hamming 網絡的第二個層擁有多個 instar ,所以須要肯定哪一個標準向量於輸入最接近。咱們會用一個競爭層代替一個 hardlim 傳輸函數以選擇最接近的標準向量。

第二層是一個競爭層,這一層的神經元使用前饋層的輸出進行初始化,這些輸出指明瞭標準模式和輸入向量間的相互關係。而後這一層的神經元之間相互競爭以決出一個勝負,即競爭事後只有一個神經元具備非零輸出。獲勝的神經元指明瞭輸入數據所屬的類別(每個標準向量表明一個類別)
首先使用第一層的輸出 \(a^{1}\) 初始化第二層
\[ \mathbf{a}^{2}(0)=\mathbf{a}^{1} \]
而後更新第二層的輸出
\[ \mathbf{a}^{2}(t+1)=\operatorname{poslin}\left(\mathbf{W}^{2} \mathbf{a}^{2}(t)\right) \]
第二層的權值矩陣 \(W^{2}\) 的對角線上的元素都被設爲1 ,非對角線上的元素被設爲一個很小的負數。
\[ w_{i j}^{2}=\left\{\begin{aligned} 1, & \text { if } i=j \\-\varepsilon, & \text { otherwise } \end{aligned}\right., \text { where } 0<\varepsilon<\frac{1}{S-1} \]
該矩陣產生 側向抑制 (lateral inhibition) ,即每個神經元的輸出都會對全部其餘神經元產生一個抑制做用。最終穩定時,只有一個 神經元有非零輸出。

10.2 競爭層 (competition)

因爲其每一個神經元都激活自身並抑制其餘全部神經元。
定義一個傳輸函數來實現回覆競爭層的功能:
\[ \mathbf{a}=compet(\mathbf{n}) \]

它找到擁有最大淨輸入的神經元的索引 \(i^{*}\) ,並將該神經元的輸出置爲 1(平局時選索引最小的神經元),同時將其餘全部神經元的輸出置爲0
\[ a_{i}=\left\{\begin{array}{l}{1, i=i^{*}} \\ {0, i \neq i^{*}}\end{array}\right., \text { where } n_{i^{*}} \geq n_{i}, \forall i, \text { and } i^{*} \leq i, \forall n_{i}=n_{i^{*}} \]
和 Hamming 網絡同樣,標準向量被存儲在 \(W\) 矩陣的行中。網絡淨輸入 \(n\) 計算了輸入向量 \(p\) 與每個標準向量 \(_{i} W\)之間的距離(假設全部向量都被歸一化,長度爲L)。每一個神經元 \(i\) 的淨輸入 \(n_{i}\) 正比於 \(p\) 與標準向量 \(_{i}W\) 之間的夾角\(\theta _{i}\):
\[ \mathbf{n}=\mathbf{W}_{\mathbf{p}}=\left[ \begin{array}{c}{_{1}\mathbf{w}^{T}} \\ {_{2} \mathbf{w}^{T}} \\ {\vdots} \\ {_{s}\mathbf{w}^{T}}\end{array}\right] \mathbf{p}=\left[ \begin{array}{c}{_{1}\mathbf{w}^{T} \mathbf{p}} \\ {_{2} \mathbf{w}^{T} \mathbf{p}} \\ {\vdots} \\ {_{s}\mathbf{w}^{T} \mathbf{p}}\end{array}\right]=\left[ \begin{array}{c}{L^{2} \cos \theta_{1}} \\ {L^{2} \cos \theta_{2}} \\ {\vdots} \\ {L^{2} \cos \theta_{S}}\end{array}\right] \]
競爭函數將方向上與輸入向量最接近的權值向量所對應的神經元輸出設置爲1:
\[ \mathbf{a}=\mathbf{c} \mathbf{o} \mathbf{m} \mathbf{p} \mathbf{e} \mathbf{t}(\mathbf{W} \mathbf{p}) \]

10.2.1 競爭學習

經過將 \(W\) 的行設置爲指望的標準向量,可設計一個競爭網絡分類器。instar 學習規則:
\[ _{i} \mathbf{w}(q)=_{i} \mathbf{w}(q-1)+\alpha a_{i}(q)\left(\mathbf{p}(q)-_{i} \mathbf{w}(q-1)\right) \]
使用 Kohonen 規則也能獲得一樣結果:
\[ _{i} \mathbf{w}(q)=_{i} \mathbf{w}(q-1)+\alpha\left(\mathbf{p}(q)-_{i} \mathbf{w}(q-1)\right)=(1-\alpha)_{i} \mathbf{w}(q-1)+\alpha \mathbf{p}(q) \]
\[ _{i} \mathbf{w}(q)=_{i} \mathbf{w}(q-1) \quad i \neq i^{*} \]
所以,權值矩陣中最接近輸入向量的行(即與輸入向量的內積最大的行)向着輸入向量靠近,它沿着權值矩陣原來的行向量與輸入向量之間的連線移動。

10.2.2 競爭層存在的問題

學習度與最終權值向量穩定性之間折中。死神經元等。。。

10.2.3 生物學中的競爭層

增強中心、抑制周圍

10.3 自組織特徵圖

10.4 學習向量量化(LVQ )

混合型網絡:使用 無監督和有監督學習來實現分類

第11章 徑向基網絡(通用函數逼近網絡)

隱層採用S型傳輸函數而輸出層採用線性傳輸函數的多層網絡是通用的函數逼近器。
另外一類通用函數逼近網絡——徑向基(Radial Basis Networks ,RBF)函數

RBF 被用來解決多維空間中的精確插值問題。也就是說,經過徑向基插值建立的函數須要精確地經過訓練集中的全部的目標。[Powe87]

11.1 徑向基網絡

徑向基網絡是一個兩層網絡。徑向基函數(RBF)網絡和兩層感知機網絡有兩個主要的區別。第一,在RBF網絡的第一層,咱們計算了輸入向量和權值矩陣的行向量之間的距離,而不是計算權值和輸入的內積(矩陣相乘)。第二,RBF對偏置採用乘積而非加的方式。所以,第一層中神經元 \(i\) 的淨輸入的計算以下所示:
\[ n_{i}^{1}=\left\|\mathbf{p}-_{i} \mathbf{w}^{1}\right\| b_{i}^{1} \]
權值矩陣的每一行做爲一箇中心點,在這個點處的淨輸入值爲0。偏置值對傳輸(基)函數實施一種縮放操做,即放大或縮小。

絕大多數關於RBF網絡的文獻使用了標準差、方差或分佈參數等基本術語,而非偏置值。咱們採用「偏置值」僅爲了與其餘網絡保持一致。

當使用高斯傳輸函數時,偏置值與標準差有以下關係:
\[ b=1 /(\sigma \sqrt{2}) \]

RBF網絡中第一層所採用的傳輸函數不一樣於多層感知機(MLP)中在隱層通常採用的 S 型函數。有幾種不一樣類型的傳輸函數均可以採用[BrLo88]。考慮高斯函數:
\[ a=e^{-n^{2}} \]

局部性(local)是該函數的關鍵特性。這意味着若是在任意方向很是遠離中心點的話,輸出將趨近於零,全局(global) S 型函數的輸出依然接近於 1 。

網絡的第二層是一個標準線性層:

\[ \mathbf{a}^{2}=\mathbf{W}^{2} \mathbf{a}^{1}+\mathbf{b}^{2} \]

11.1.1 函數逼近

這種 RBF 已經被證實是通用的逼近器[PaSa93]。

若是RBF網絡第一層給擁有足夠多的神經元,能夠逼近任意函數。

11.1.2 模式分類

11.2 訓練網絡

11.2.1 線性最小二乘法

矩陣增廣
\[ \mathbf{x}=\left[ \begin{array}{c}{\mathbf{w}^{2}} \\ {b^{2}}\end{array}\right], \mathbf{z}_{q}=\left[ \begin{array}{c}{\mathbf{a}_{q}^{1}} \\ {1}\end{array}\right] \]
輸出
\[ a_{q}^{2}=\left(_{1} \mathbf{w}^{2}\right)^{T} \mathbf{a}_{q}^{1}+b^{2} \]
能夠寫爲
\[ a_{q}=\mathbf{x}^{T} \mathbf{z}_{q} \]
偏差平方和:
\[ F(\mathbf{x})=\sum_{q=1}^{Q}\left(e_{q}\right)^{2}=\sum_{q=1}^{Q}\left(t_{q}-a_{q}\right)^{2}=\sum_{q=1}^{Q}\left(t_{q}-\mathbf{x}^{T} \mathbf{z}_{q}\right)^{2} \]
定義矩陣
\[ \mathbf{t}=\left[ \begin{array}{c}{t_{1}} \\ {t_{2}} \\ {\vdots} \\ {t_{Q}}\end{array}\right], \mathbf{U}=\left[ \begin{array}{c}{\mathbf{u}^{T}} \\ {\mathbf{u}^{T}} \\ {2^{T}} \\ {\vdots} \\ {Q^{\mathbf{u}}}\end{array}\right]=\left[ \begin{array}{c}{\mathbf{z}_{1}^{T}} \\ {\mathbf{z}_{2}^{T}} \\ {\vdots} \\ {\mathbf{z}_{Q}^{T}}\end{array}\right], \mathbf{e}=\left[ \begin{array}{c}{e_{1}} \\ {e_{2}} \\ {\vdots} \\ {e_{Q}}\end{array}\right] \]
偏差能夠寫爲
\[ \mathbf{e}=\mathbf{t}-\mathbf{U} \mathbf{x} \]
性能指標爲:
\[ F(\mathbf{x})=(\mathbf{t}-\mathbf{U} \mathbf{x})^{T}(\mathbf{t}-\mathbf{U} \mathbf{x}) \]
使用正則化方法防止過擬合:
\[ F(\mathbf{x})=(\mathbf{t}-\mathbf{U} \mathbf{x})^{T}(\mathbf{t}-\mathbf{U} \mathbf{x})+\rho \mathbf{x}^{T} \mathbf{x} \]
最優權值爲 \(\mathbf{x}^{*}\) 可從下式求得:
\[ \left[\mathbf{U}^{T} \mathbf{U}+\rho \mathbf{I}\right] \mathbf{x}^{*}=\mathbf{U}^{T} \mathbf{t} \]

11.2.2 正交最小二乘法

11.2.3 聚類(Clustering)

訓練權值
\[ _{i^{*}} \mathbf{w}^{1}(q)=_{i^{*}} \mathbf{w}^{1}(q-1)+\alpha\left(\mathbf{p}(q)-_{i^{*}} \mathbf{w}^{1}(q-1)\right) \]
計算中心點和它相鄰點的平均距離
\[ d i s t_{i}=\frac{1}{n_{c}}\left(\sum_{j=1}^{n_{c}}\left\|\mathbf{p}_{j}^{i}-_{i} \mathbf{w}\right\|^{2}\right)^{\frac{1}{2}} \]
設置第一層的偏置值
\[ b_{i}^{1}=\frac{1}{\sqrt{2} \operatorname{dis} t_{i}} \]

11.2.4 非線性優化

\[ n_{i}^{1}=\left\|\mathbf{p}-_{i} \mathbf{w}^{1}\right\| b_{i}^{1}=b_{i}^{1} \sqrt{\sum_{j=1}^{s^{1}}\left(p_{j}-w_{i, j}^{1}\right)^{2}} \]
\[ \frac{\partial n_{i}^{1}}{\partial w_{i, j}^{1}}=b_{i}^{1} \frac{1 / 2}{\sqrt{\sum_{j=1}^{S}\left(p_{j}-w_{i, j}^{1}\right)^{2}}} 2\left(p_{j}-w_{i, j}^{1}\right)(-1)=\frac{b_{i}^{1}\left(w_{i, j}^{1}-p_{j}\right)}{\left\|\mathbf{p}-_{i} \mathbf{w}^{1}\right\|} \]
\[ \frac{\partial n_{i}^{1}}{\partial b_{i}^{1}}=\left\|\mathbf{p}-_{i} \mathbf{w}^{1}\right\| \]

梯度
\[ \frac{\partial \hat{F}}{\partial w_{i, j}^{1}}=s_{i}^{1} \frac{b_{i}^{1}\left(w_{i, j}^{1}-p_{j}\right)}{\left\|\mathbf{p}-_{i} \mathbf{w}^{1}\right\|} \]
\[ \frac{\partial \hat{F}}{\partial b_{i}^{1}}=s_{i}^{1}\left\|\mathbf{p}-_{i} \mathbf{w}^{1}\right\| \]

第12章 實際訓練問題

12.1 訓練前的步驟

12.1.1 數據選擇

訓練集、測試集、驗證集 70% 15% 15%

12.1.2 數據預處理

歸一化、非線性變換、特徵提取、離散輸入/目標的編碼以及缺失數據的處理

歸一化(normalization):

  • 使得數據在-1~1內
    \[ \mathbf{p}^{n}=2\left(\mathbf{p}-\mathbf{p}^{m i n}\right) . /\left(\mathbf{p}^{\max }-\mathbf{p}^{\min }\right)-1 \]
  • 調整數據,使其具備特定的均值和方差——一般是0和1
    \[ \mathbf{p}^{n}=\left(\mathbf{p}-\mathbf{p}^{m e a n}\right) / \mathbf{p}^{s t d} \]

通用特徵提取方法:主成分分析(PCA:principal component analysis (PCA) [Joll02])。將原始輸入向量變換爲各成分之間互不相關的向量。

另外一種在多層模式識別網絡輸出層使用的傳輸函數是 softmax 函數:
\[ a_{i}=f\left(n_{i}\right)=\exp \left(n_{i}\right) \div \sum_{j=1}^{S} \exp \left(n_{j}\right) \]
softmax 傳輸函數的輸出能夠解釋爲每一個類別的機率。每一個輸出都在0~1之間,且全部輸出之和爲1。

12.1.3 網絡結構選擇

(1)基本結構的選擇
擬合、模式識別、聚類和預測

擬合(fitting)又稱爲函數逼近或者回歸。學習輸入集和輸出集之間的映射關係。對於擬合問題,目標輸出變量爲連續值。

用於擬合問題的標準神經網絡結構式隱層採用 tansig 神經元、輸出層採用線性神經元的多層感知機。
徑向基網絡也可用於擬合問題。在徑向基隱層中使用高斯傳輸函數,輸出層使用線性傳輸函數。

模式識別(pattern recognition)也被稱爲模式分類。

聚類(clustering):按照數據類似性對其進行劃分。

預測(prediction)也屬於時間序列分析、系統辨識、濾波和動態建模。預測時間序列上將來的值。須要使用動態神經網絡。最簡單的用於非線性預測的網絡是聚焦延遲神經網絡。這是一個通用動態網絡的一部分,叫作聚焦網絡。其動態性只表如今一個靜態多層前饋網絡的輸入層。該網絡的優勢是可使用靜態反向傳播算法來訓練,由於網絡輸入的抽頭延遲線可以被輸入延遲值的擴展向量代替。

聚焦延遲神經網絡(Focused Time-Delay Neural Network):

對於動態建模和控制問題, NARX網絡(Nonlinear AutoRegressive model with eXogenous input 外部輸入的非線性自迴歸模型)是普遍使用的一種方法。例如,輸入信號能夠表示施加到馬達上的電壓。輸出能夠表示機器人手臂的角位置。能夠用靜態反向傳播算法訓練。這兩個抽頭延遲線能夠替換爲延遲輸入和目標的擴展向量。咱們能夠反饋目標而非網絡輸出(這須要採用動態反向傳播算法進行訓練),由於當訓練結束時網絡的實際輸出應該和目標相匹配。

(2)具體結構的選擇
例如,使用 SOFM 網絡進行聚類,那麼網絡只有一層

12.2 網絡訓練

12.2.1 權值初始化

12.2.2 訓練算法選擇

在可用序列模式實現的算法中,最快的算法是擴展 Kalman 濾波算法

12.2.3 訓練終止條件

(1)限制條件
(2)梯度的範數

12.2.4 性能函數選擇

對於多層網絡,標準的性能指標是均方偏差,當訓練集的全部輸入都擁有一樣的可能性時,能夠表示爲:
\[ F(\mathbf{x})=\frac{1}{Q S_{q=1}^{M}}\left(\mathbf{t}_{q}-\mathbf{a}_{q}\right)^{T}\left(\mathbf{t}_{q}-\mathbf{a}_{q}\right) \]
或者
\[ F(\mathbf{x})=\frac{1}{Q S^{M}} \sum_{q=1}^{Q} \sum_{i=1}^{s^{n}}\left(t_{i, q}-a_{i, q}\right)^{2} \]
Minkowski 偏差(任意冪)
\[ F(\mathbf{x})=\frac{1}{Q S_{q=1}^{M}} \sum_{q=1}^{Q} \sum_{i=1}^{s^{n}}\left|t_{i, q}-a_{i, q}\right|^{K} \]
以均方偏差做爲性能指標在目標爲連續的函數逼近問題上效果很好。然而,在目標是離散值的狀況下,其餘性能指標可能更合適。如在分類問題中使用 交叉熵(corss-entropy)[Bish95]
\[ F(\mathbf{x})=-\sum_{q=1}^{Q} \sum_{i=1}^{M} t_{i, q} \ln \frac{a_{i, q}}{t_{i, q}} \]
使用交叉熵後一般在網絡最後一層使用 softmax 傳輸函數

12.2.5 網絡屢次訓練與網絡委員會(Multiple Training Runs and Committees of Networks)

ephch
單次訓練的網絡不必定能得到最優的性能,由於訓練過程當中可能會陷入性能曲面的局部極小值。爲了克服這個問題,最好能在不一樣初始化條件下屢次訓練網絡,而後選擇性能最好的網絡。一般狀況下訓練5~10次可以得到全局最優解[HaBo07]。

12.3 訓練結果分析

12.3.1 擬合

12.3.2 模式識別

受試者工做特徵曲線(Receiver Operating Characteristic Curve, ROC)

12.3.3 聚類

自組織圖(Self-Organizing Map ,SOM)網絡是最經常使用的一種網絡

12.3.4 預測

爲了測試預測偏差在時間上的相關性,使用 自相關函數(autocorrelation function):
\[ R_{e}(\tau)=\frac{1}{Q-\tau} \sum_{t=1}^{Q-\tau} e(t) e(t+\tau) \]
95% 置信區間邊界 [BoJe96]
\[ -\frac{2 R_{e}(0)}{\sqrt{Q}}<R_{e}(\tau)<\frac{2 R_{e}(0)}{\sqrt{Q}} \]

爲了檢驗預測偏差與輸入序列的相關性,可使用 互相關函數(cross-correlation function):
\[ R_{p e}(\tau)=\frac{1}{Q-\tau} \sum_{t=1}^{Q-\tau} p(t) e(t+\tau) \]
95% 置信區間邊界 [BoJe96]
\[ -\frac{2 \sqrt{R_{e}(0)} \sqrt{R_{p}(0)}}{\sqrt{Q}}<R_{p e}(\tau)<\frac{2 \sqrt{R_{e}(0)} \sqrt{R_{p}(0)}}{\sqrt{Q}} \]

12.3.5 過擬合與外推

12.3.6 敏感性分析

附錄 : 數學基礎

這章附錄複習一下學過的《線性代數》及《高等數學》的知識,以便隨時速查

1.1 線性代數

1.1.1 內積(Inner Product)

\[ \mathbf{x}^{T} \mathbf{y}=x_{1} y_{1}+x_{2} y_{2}+\cdots+x_{n} y_{n} \]
標量函數(scalar function)也是一種形式的內積:
\[ \left(\chi_{\vartheta} y\right)=\int_{0}^{1} x(t) y(t) d t \]

1.1.2 範數(Norm)

基於向量長度的概念,知足以下性質的標量函數 \(||\mathcal{X}||\) 稱爲範數:

    1. $||\mathcal{X}|| >0 $
    1. $||\mathcal{X}|| =0 $,當且僅當 $\mathcal{X} =0 $
    1. 對於標量 \(a\)\(||a\mathcal{X}|| = |a| ||\mathcal{X}||\)
    1. \(||\mathcal{X}+\mathcal{Y}|| \le ||\mathcal{X}|| + ||\mathcal{Y}||\)

有不少函數知足這些條件,一個常見的基於內積的範數是:
\[ \|x\|=(x, x)^{1 / 2} \]
對於歐氏空間(Euclidean spaces),最熟悉的範數爲:
\[ \|\mathbf{x}\|=\left(\mathbf{x}^{T} \mathbf{x}\right)^{1 / 2}=\sqrt{x_{1}^{2}+x_{2}^{2}+\cdots+x_{n}^{2}} \]

在神經網絡中,對輸入向量歸一化( normalize)一般是有用的,也即對於每一個輸入向量都有 \(||\mathbf{p}_{i}=1||\)

利用範數和內積的定義,能夠把夾角的概念推廣到二維以上的向量空間中,兩個向量 $\mathcal{X} $ 和 \(\mathcal{Y}\) 的夾角定義爲:
\[ \cos \theta=\frac{(x, y)}{\|x\| y \|} \]

1.1.3 Gram-Schmidt 正交化

正交性和線性無關之間存在一種關係。一組線性無關的向量能夠轉換爲一組正交向量,它們能生成同一個向量空間。標準的轉化過程稱爲 Gram-Schmidt 正交化。

假設有 n 個線性無關的向量 \(y_{1}\)\(y_{2}\),... ,\(y_{n}\) 。要把它們轉化爲 n 個正交向量 \(v_{1}\)\(v_{2}\),... ,\(v_{n}\) 。首先選擇第一個線性無關向量做爲第一個正交向量:
\[ v_{1}=y_{1} \]
爲了獲得第二個正交向量,將 \(y_{2}\) 減去它在 \(v_{1}\) 方向上的份量。由此可得:
\[ v_{2}=y_{2}-a v_{1} \]
其中 \(a\) 的選擇須要使 \(v_{2}\) 正交於 $v_{1} $ ,這須要知足:
\[ \left(v_{1}, v_{2}\right)=\left(v_{1}, y_{2}-a v_{1}\right)=\left(v_{1}, y_{2}\right)-a\left(v_{1}, v_{1}\right)=0 \]
或者
\[ a=\frac{\left(v_{1}, y_{2}\right)}{\left(v_{1}, v_{1}\right)} \]
一次,爲了獲得 \(y_{2}\) 在 $v_{1} $ 方向上的份量 \(a v_{1}\) 須要求這兩個向量的內積。\(a v_{1}\)也稱爲 \(y_{2}\)\(v_{1}\) 上的投影。
繼續這一過程,第 \(k\) 步爲
\[ v_{k}=y_{k}-\sum_{i=1}^{k-1} \frac{\left(v_{i}, y_{k}\right)}{\left(v_{i}, v_{i}\right)} v_{i} \]

1.1.4 特徵值、特徵向量(Eigenvalues and Eigenvectors)與 對角化(Diagonalization)

\[ \mathcal{A}(z)=\lambda z \]
着意味着矩陣\([A-\lambda I]\)的各列是 線性相關(dependent)的,因此該矩陣的行列式必爲0:
\[ |[\mathbf{A}-\lambda \mathbf{I}]|=0 \]
這個行列式是一個 \(n\) 次多項式,一般有 \(n\) 個根,其中某些根多是複數,某些根多是重根。
定義
\[ \mathbf{B}=\left[ \begin{array}{llll}{\mathbf{z}_{1}} & {\mathbf{z}_{2}} & {\dots} & {\mathbf{z}_{n}}\end{array}\right] \]
其中 \(\left\{\mathbf{z}_{1}, \mathbf{z}_{2}, \dots, \mathbf{z}_{n}\right\}\) 是矩陣 \(A\) 的特徵向量。那麼:
\[ \left[\mathbf{B}^{-1} \mathbf{A} \mathbf{B}\right]= \left[ \begin{array}{cccc}{\lambda_{1}} & {0} & {\ldots} & {0} \\ {0} & {\lambda_{2}} & {\dots} & {0} \\ {\vdots} & {\vdots} & {{ }} & {\vdots} \\ {0} & {0} & {\ldots} & {\lambda_{n}}\end{array}\right] \]
其中\(\left\{\lambda_{1}, \lambda_{2}, \ldots, \lambda_{n}\right\}\) 是矩陣 \(A\) 的特徵值。

1.2 高等數學 之 性能曲面與最優勢

性能學習(performance learning) : 網絡參數調整的目標是優化網絡性能

目標是研究性能曲面並肯定性能曲面存在極小點和極大點的條件。

性能學習包含幾種不一樣的學習法則

依據是:在網絡訓練過程當中,網絡參數(權值和偏置值)的改變旨在優化網絡的性能。

第一步是定義「性能」,尋找一個衡量網絡性能的定量指標,即 性能指標 (performance index) 。網絡性能越好,性能指標越小;網絡性能越差,性能指標越大。

第二步是搜索參數空間(調整網絡權值和偏置)以減少性能指標。研究性能曲面的特性,創建一些保證一個曲面存在極小點(尋找的最優勢)的條件。

1.2.1 泰勒級數(Taylor Series)

性能指標能夠表示爲在某點 \(x^{*}\) 處的 泰勒級數展開式(Taylor series expansion):
\[ F(x) =F\left(x^{*}\right)+\frac{d}{d x} F\left.(x)\right|_{x=x^{*}}\left(x-x^{*}\right) +\frac{1}{2} \frac{d^{2}}{d x^{2}} F\left.(x)\right|_{x=x^{*}}\left(x-x^{*}\right)^{2}+\cdots \\ +\frac{1}{n !} \frac{d^{n}}{d x^{n}} F\left.(x)\right|_{x=x^{*}}\left(x-x^{*}\right)^{n}+\cdots \]

向量的狀況

考慮 \(n\) 元函數:
\[ F(\mathbf{x})=F\left(x_{1}, x_{2}, \ldots, x_{n}\right) \]
這個函數在點 \(x^{*}\) 處的 泰勒級數展開式爲:
\[ F(\mathbf{x})=F\left(\mathbf{x}^{*}\right)+\frac{\partial}{\partial x_{1}} F\left.(\mathbf{x})\right|_{\mathbf{X}=\mathbf{x}^{*}}\left(x_{1}-x_{1}^{*}\right)+\frac{\partial}{\partial x_{2}} F\left.(\mathbf{x})\right|_{\mathbf{X}=\mathbf{x}^{*}}\left(x_{2}-x_{2}^{*}\right)\\ +\cdots+\frac{\partial}{\partial x_{n}} F\left.(\mathbf{x})\right|_{\mathbf{X}=\mathbf{x}^{*}}\left(x_{n}-x_{n}^{*}\right)+\frac{1}{2} \frac{\partial^{2}}{\partial x_{1}^{2}} F\left.(\mathbf{x})\right|_{\mathbf{X}=\mathbf{x}^{*}}\left(x_{1}-x_{1}^{*}\right)^{2}\\ +\frac{1}{2} \frac{\partial^{2}}{\partial x_{1} \partial x_{2}} F\left.(\mathbf{x})\right|_{\mathbf{X}=\mathbf{x}^{*}}\left(x_{1}-x_{1}^{*}\right)\left(x_{2}-x_{2}^{*}\right)+\cdots \]
寫成矩陣形式爲:
\[ F(\mathbf{x})=F\left(\mathbf{x}^{*}\right)+\nabla F\left.(\mathbf{x})^{T}\right|_{\mathbf{X}=\mathbf{x}^{*}}\left(\mathbf{x}-\mathbf{x}^{*}\right)\\+\frac{1}{2}\left(\mathbf{x}-\mathbf{x}^{*}\right)^{T} \nabla^{2} F\left.(\mathbf{x})\right|_{\mathbf{X}=\mathbf{x}^{*}}\left(\mathbf{x}-\mathbf{x}^{*}\right)+\cdots \]
其中 \(\nabla F(\mathbf{x})\) 表示梯度(Gradient),定義爲:
\[ \nabla F(\mathbf{x})=\left[\frac{\partial}{\partial x_{1}} F(\mathbf{x}) \frac{\partial}{\partial x_{2}} F(\mathbf{x}) \ldots \frac{\partial}{\partial x_{n}} F(\mathbf{x})\right]^{T} \]
\(\nabla^{2} F(\mathbf{x})\) 表示海塞矩陣(Hessian),是一個多元函數的二階偏導數構成的方陣,描述了函數的局部曲率:
\[ \nabla^{2} F(\mathbf{x})=\left[ \begin{array}{cc}{\frac{\partial^{2}} {\partial x_{1}^{2}} F(\mathbf{x})} & {\frac{\partial^{2}}{\partial x_{1} \partial x_{2}} F(\mathbf{x})} & \ldots & {\frac{\partial^{2}}{\partial x_{1} \partial x_{n}} F(\mathbf{x})} \\ \\ {\frac{\partial^{2}}{\partial x_{2} \partial x_{1}} F(\mathbf{x})} & {\frac{\partial^{2}}{\partial x_{2}^{2}} F(\mathbf{x})} & \ldots & {\frac{\partial^{2}}{\partial x_{2} \partial x_{n}} F(\mathbf{x})} \\ {\vdots} & {\vdots} & {\vdots} & {\vdots}\\ {\frac{\partial^{2}}{\partial x_{n} \partial x_{1}} F(\mathbf{x})} & {\frac{\partial^{2}}{\partial x_{n} \partial x_{2}} F(\mathbf{x}) } & \ldots & {\frac{\partial^{2}}{\partial x_{n}^{2}} F(\mathbf{x})}\end{array}\right] \]

1.2.2 方向導數(Directional Derivatives)

梯度的第 \(i\) 個元素 \(\partial F(\mathbf{x}) / \partial x_{i}\) 是性能指標 \(F\) 沿着 \(x_{i}\) 軸的二階導數。設向量 \(p\) 爲要計算導數的方向上的一個向量,則這個方向導數是梯度和方向向量的內積:
\[ \frac{\mathbf{p}^{T} \nabla F(\mathbf{x})}{\|\mathbf{p}\|} \]
二階梯度爲:
\[ \frac{\mathbf{p}^{T} \nabla^{2} F(\mathbf{x}) \mathbf{p}}{\|\mathbf{p}\|^{2}} \]
當方向向量和梯度的內積最大時,方向爲梯度方向,因此沿梯度方向的導數最大,與梯度正交的方向導數爲0。

1.2.3 極小點(Minima)

  • 強極小點 : 給定函數 \(F(\mathbf{x})\) 和 點 \(x^{*}\) ,若是存在一個標量 \(\delta >0\),使得對於全部知足 \(\delta > ||\Delta x||>0\)\(||\Delta x||\) 都有 \(F(\mathbf{x^{*}})<F(\mathbf{x^{*}+\Delta x})\),則 \(x^{*}\)\(F(\mathbf{x})\) 的一個強極小值點。
  • 全局極小點 : 給定函數 \(F(\mathbf{x})\) 和 點 \(x^{*}\) ,若是對於全部的 \(\Delta x\) 都有 \(F(\mathbf{x^{*}})<F(\mathbf{x^{*}+\Delta x})\),則 \(x^{*}\)\(F(\mathbf{x})\) 的惟一全局極小點。
  • 弱極小點 : 若是 \(x^{*}\) 不是函數 \(F(\mathbf{x})\) 的強極小點,而且存在一個標量 \(\delta >0\),使得對於全部知足 \(\delta > ||\Delta x||>0\)\(||\Delta x||\) 都有 \(F(\mathbf{x^{*}}) \le F(\mathbf{x^{*}+\Delta x})\),則 \(x^{*}\)\(F(\mathbf{x})\) 的一個強極小值點。

強弱極小點的區別在於領域內是否存在相等點,對應於 Hessian 矩陣的正定和半正定。

1.2.4 優化的必要條件(Necessary Conditions for Optimality)

一階條件

極小值點處梯度必須爲0。駐點(局部極小點的一階必要(但不充分)條件):
\[ \nabla F\left.(\mathbf{x})\right|_{\mathbf{X}=\mathbf{X}^{*}}=\mathbf{0} \]

二階條件

強極小點條件:
\[ \Delta \mathbf{x}^{T} \nabla^{2} F\left.(\mathbf{x})\right|_{\mathbf{X}=\mathbf{x}^{*}} \Delta \mathbf{x}>0 \]
對任意向量 \(z \neq 0\) ,均有
\[ \mathbf{z}^{T} \mathbf{A} \mathbf{z}>0 \]
則矩陣 \(A\) 是正定矩陣(positive semidefinite)。而若是
\[ \mathbf{z}^{T} \mathbf{A} \mathbf{z} \geq 0 \]
則矩陣 \(A\) 是半正定矩陣。這些條件能夠經過矩陣的特徵值進行檢驗。若是特徵值均爲正,則矩陣是正定矩陣。若是全部的特徵值均非負,則矩陣式是半正定矩陣。

正定的 Hessian 矩陣是強極小值點存在的一個二階 充分條件(sufficient condition),但不是必要條件。強極小值點存在的 二階必要條件是 Hessian 矩陣 爲半正定矩陣。

綜上所述: \(x^{*}\) 是函數 \(F(\mathbf{x})\) 的極小點(強極小點或弱極小點)的必要條件是 : \(\nabla F\left.(\mathbf{x})\right|_{\mathbf{X}=\mathbf{X}^{*}}=\mathbf{0}\)\(\nabla^{2} F\left.(\mathbf{x})\right|_{\mathbf{X}=\mathbf{x}^{*}}\) 是半正定矩陣。\(x^{*}\) 是函數 \(F(\mathbf{x})\) 的強極小點的充分條件是 :\(\nabla F\left.(\mathbf{x})\right|_{\mathbf{X}=\mathbf{X}^{*}}=\mathbf{0}\)\(\nabla^{2} F\left.(\mathbf{x})\right|_{\mathbf{X}=\mathbf{x}^{*}}\) 是正定矩陣。

1.2.5 二次函數

在某點的領域內,許多函數能夠用二次函數近似。
\[ F(\mathbf{x})=\frac{1}{2} \mathbf{x}^{T} \mathbf{A} \mathbf{x}+\mathbf{d}^{T} \mathbf{x}+c \]
梯度
\[ \nabla F(\mathbf{x})=\mathbf{A x}+\mathbf{d} \]
Hessian 矩陣
\[ \nabla^{2} F(\mathbf{x})=\mathbf{A} \]
二階方向導數
\[ \frac{\mathbf{p}^{T} \nabla^{2} F(\mathbf{x}) \mathbf{p}}{\|\mathbf{p}\|^{2}}=\frac{\mathbf{p}^{T} \mathbf{A} \mathbf{p}}{\|\mathbf{p}\|^{2}}=\frac{\mathbf{c}^{T} \mathbf{B}^{T}\left(\mathbf{B} \Lambda \mathbf{B}^{T}\right) \mathbf{B} \mathbf{c}}{\mathbf{c}^{T} \mathbf{B}^{T} \mathbf{B} \mathbf{c}}=\frac{\mathbf{c}^{T} \Lambda \mathbf{c}}{\mathbf{c}^{T} \mathbf{c}}=\frac{\sum_{i=1}^{n} \lambda_{i} c_{i}^{2}}{\sum_{i=1}^{n} c_{i}^{2}} \]
這個二階導數是特徵值的加權平均:
\[ \lambda_{\min } \leq \frac{\mathbf{p}^{T} \mathbf{A} \mathbf{p}}{\|\mathbf{p}\|^{2}} \leq \lambda_{\max } \]
二階導數的最大值存在於最大特徵值所對應的特徵向量的方向上。事實上,在每一個特徵向量方向上,二階導數都等於相應的特徵值。特徵向量定義了一個新的二次交叉衰減的座標系。特徵向量被稱爲函數等高線的主軸。

1.3 高等數學 之 性能優化

最速降低法、牛頓法、共軛梯度法

性能優化目標:尋找給定神經網絡的最優權值和偏置值

優化的基本原理由 開普勒、費馬、牛頓、萊布尼茲 這些科學家以及數學家於17世紀發現的。

所要討論的優化算法都是迭代的,從某個初始值 \(x_{0}\) 開始,而後按照以下形式的等式逐步更新猜想值:
\[ \mathbf{x}_{k+1}=\mathbf{x}_{k}+\alpha_{k} \mathbf{p}_{k} \]
其中,向量 \(p_{k}\) 表示一個搜索方向,正數標量 \(\alpha_{k}\) 表示學習率,它決定了學習步長。

1.3.1 最速降低法(Steepest Descent)

當使用上式更新最優(極小)點的猜想值時,咱們但願函數值在每次迭代時都減少:
\[ F\left(\mathbf{x}_{k+1}\right)<F\left(\mathbf{x}_{k}\right) \]
對於足夠小的學習率,如何選擇方向才能使得函數值遞減?

考慮 \(F(\mathbf{x})\) 在舊猜想值 \(x_{k}\) 的一階泰勒展開式
\[ F\left(\mathbf{x}_{k+1}\right)=F\left(\mathbf{x}_{k}+\Delta \mathbf{x}_{k}\right) \approx F\left(\mathbf{x}_{k}\right)+\mathbf{g}_{k}^{T} \Delta \mathbf{x}_{k} \]
其中 \(g_{k}\) 是在舊猜想值 \(x_{k}\) 處的梯度:
\[ \mathbf{g}_{k} \equiv \nabla F\left.(\mathbf{x})\right|_{\mathbf{X}=\mathbf{X}_{k}} \]
爲了使 \(F\left(\mathbf{x}_{k+1}\right)<F\left(\mathbf{x}_{k}\right)\) ,另外一項必須爲負
\[ \mathbf{g}_{k}^{T} \Delta \mathbf{x}_{k}=\alpha_{k} \mathbf{g}_{k}^{T} \mathbf{p}_{k}<0 \]
咱們將選擇一個較小可是大於0的 \(\alpha _{k}\) ,那麼
\[ \mathbf{g}_{k}^{T} \mathbf{p}_{k}<0 \]

任一知足上式的向量 \(p_{k}\) 均稱做一個 降低方向(descent direction)。若是沿此方向選擇足夠小的步長,函數值必定減少。當 \(\mathbf{g}_{k}^{T} \mathbf{p}_{k}\) 最小時,最速降低就會發生(假設 \(p_{k}\) 的長度不變,只改變方向)。這是梯度和方向向量之間的內積。當方向向量於梯度反向時,該內積取最小值。所以最速降低方向上的一個向量爲:
\[ \mathbf{p}_{k}=-\mathbf{g}_{k} \]
應用上式就獲得了 最速降低法(steepest descent):
\[ \mathbf{x}_{k+1}=\mathbf{x}_{k}-\alpha_{k} \mathbf{g}_{k} \]
對於最速降低法,有兩個通常的方法來肯定學習率(learning rate) \(a_{k}\)。一個方法是在每次迭代時,選擇使性能指標 \(F(\mathbf{x})\) 最小的 \(a_{k}\) 。這中狀況下,咱們將沿着下列直線進行最小化
\[ \mathbf{x}_{k}-\alpha_{k} \mathbf{g}_{k} \]
另外一種選擇 \(a_{k}\) 的方法是使用一個固定值(例如 \(\alpha =0.002\)),或使用預先設定的變量的值。

注意:對於較小的學習率,最速降低的軌跡老是沿着與等高線正交的路徑。這是由於梯度與等高線正交。若是學習率過大,算法會變得不穩定,軌跡會出現振盪,且愈來愈大。但願取較大的學習率,能夠增大學習步長,使得算法更快收斂。是否存在某種方法能夠預測最大且可行的學習率?對於任意給定函數,這是不可能的。對於二次函數,能夠肯定一個上界。

穩定的學習率

將二次函數的梯度帶入最速降低式子中:
\[ \mathbf{x}_{k+1}=[\mathbf{I}-\alpha \mathbf{A}] \mathbf{x}_{k}-\alpha \mathbf{d} \]
這是一個 線性動力學系統,若是 矩陣 \([\mathbf{I}-\alpha \mathbf{A}]\) 的特徵值的絕對值小於1,該系統就是穩定的([Brog91])。\([\mathbf{I}-\alpha \mathbf{A}]\) 的特徵向量 與 Hessian 矩陣 \(A\) 相同,而且\([\mathbf{I}-\alpha \mathbf{A}]\) 的特徵值爲 \((1-\alpha \lambda _{i})\)。最速降低穩定性條件爲:
\[ \left|\left(1-\alpha \lambda_{i}\right)\right|<1 \]
假設二次函數由一個強極小點,那麼它的特徵值必定爲正數。上式可簡化爲:
\[ \alpha<\frac{2}{\lambda_{i}} \]
由於該式對 Hessian 矩陣全部特徵值都成立,因此有
\[ \alpha<\frac{2}{\lambda_{\max }} \]
最大的穩定性學習率與二次函數的最大麴率成正比。

學習率受限於最大特徵值,最小特徵值與學習率共同決定算法收斂的快慢。最大特徵值與最小特徵值的絕對值相差懸殊將致使最速降低算法收斂緩慢。

沿直線最小化

\[ \alpha_{k}=-\frac{\nabla F\left.(\mathbf{x})^{T}\right|_{\mathbf{x}=\mathbf{x}_{k}} \mathbf{p}_{k}}{\mathbf{p}_{k}^{T} \nabla^{2} F\left.(\mathbf{x})\right|_{\mathbf{X}=\mathbf{x}_{k}} \mathbf{p}_{k}}=-\frac{\mathbf{g}_{k}^{T} \mathbf{p}_{k}}{\mathbf{p}_{k}^{T} \mathbf{A}_{k} \mathbf{p}_{k}} \]
算法逐次迭代都是正交的。若是使用 共軛 代替 正交 ,函數能在最多 \(n\) 步迭代內被極小化 , \(n\)\(x\) 的維數

1.3.2 牛頓法

最速降低法中的推導是基於一階泰勒級數展開式,牛頓法基於二階泰勒級數:
\[ F\left(\mathbf{x}_{k+1}\right)=F\left(\mathbf{x}_{k}+\Delta \mathbf{x}_{k}\right) \approx F\left(\mathbf{x}_{k}\right)+\mathbf{g}_{k}^{T} \Delta \mathbf{x}_{k}+\frac{1}{2} \Delta \mathbf{x}_{k}^{T} \mathbf{A}_{k} \Delta \mathbf{x}_{k} \]
牛頓法的原理是尋找 \(F(\mathbf{x})\) 的二次近似的駐點。求解上式對 \(\Delta x_{k}\) 的梯度,而且將其設置爲0,有:
\[ \mathbf{g}_{k}+\mathbf{A}_{k} \Delta \mathbf{x}_{k}=\mathbf{0} \]
求解可得:
\[ \Delta \mathbf{x}_{k}=-\mathbf{A}_{k}^{-1} \mathbf{g}_{k} \]
因此牛頓法被定義爲:
\[ \mathbf{x}_{k+1}=\mathbf{x}_{k}-\mathbf{A}_{k}^{-1} \mathbf{g}_{k} \]
牛頓算法在許多應用中都能快速收斂。可是有時候可能收斂到鞍點。

1.3.3 共軛梯度法(Conjugate Gradient)

牛頓法有一個性質被稱爲 二次終結 。即它能在有限的迭代次數內使二次函數極小化。
假設尋找以下二次函數的極小點
\[ F(\mathbf{x})=\frac{1}{2} \mathbf{x}^{T} \mathbf{A} \mathbf{x}+\mathbf{d}^{T} \mathbf{x}+c \]
當且僅當
\[ \mathbf{p}_{k}^{T} \mathbf{A} \mathbf{p}_{j}=0 \quad k \neq j \]
向量集合 \(\{ p_{k} \}\) 關於一個正定 的 Hessian 矩陣 \(A\) 相互共軛。對於正交向量,存在無窮多個共軛向量集,他們將張成一個給定的 \(n\) 維空間。 \(A\) 的特徵向量組成了一個共軛向量集。設 \(\left\{\lambda_{1}, \lambda_{2}, \ldots, \lambda_{n}\right\}\)\(\left\{\mathbf{z}_{1}, \mathbf{z}_{2}, \dots, \mathbf{z}_{n}\right\}\) 分別爲 Hessian 矩陣 的特徵值和特徵向量。爲了驗證特徵向量的共軛性,用 \(z_{k}\) 代替上式的 \(p_{k}\) 可得:
\[ \mathbf{z}_{k}^{T} \mathbf{A} \mathbf{z}_{j}=\lambda_{j} \mathbf{z}_{k}^{T} \mathbf{z}_{j}=0 \quad k \neq j \]
其中,由於對稱矩陣的特徵向量兩兩正交,因此最後一個等式成立。所以特徵向量便是共軛又是正交的。

由於特徵向量構成了函數等高線的主軸,因此沿 Hessian 矩陣 的特徵向量搜索就能準確地使二次函數極小化。咱們須要找到一種不計算二次導數的算法。

已經證實([Scal85] or [Gill81]),若是沿着任意的共軛向量集合 \(\left\{\mathbf{p}_{1}, \mathbf{p}_{2}, \ldots, \mathbf{p}_{n}\right\}\) 進行連續的線性搜索,那麼能在最多 \(n\) 次搜索內對 \(n\) 個參數的任意二次函數的極小化。如何構造這些共軛的搜索方向?

共軛條件能夠從新表示:
\[ \alpha_{k} \mathbf{p}_{k}^{T} \mathbf{A} \mathbf{p}_{j}=\Delta \mathbf{x}_{k}^{T} \mathbf{A} \mathbf{p}_{j}=\Delta \mathbf{g}_{k}^{T} \mathbf{p}_{j}=0 \quad k \neq j \]
把共軛條件表示爲算法相鄰兩次迭代的梯度變化。若是搜索方向 \(p_{0}\) 使任意的,且 \(p_{1}\) 能夠是與 \(\Delta g_{0}\) 正交的任意向量,存在無窮多個共軛向量集。

共軛梯度法:

    1. 選擇與梯度相反的方向做爲第一次搜索方向:
      \[ \mathbf{p}_{0}=-\mathbf{g}_{0} \]
    1. 進行進一步搜索,選擇學習率 \(\alpha _{k}\) 以使函數沿搜索方向極小化
      \[ \Delta \mathbf{x}_{k}=\left(\mathbf{x}_{k+1}-\mathbf{x}_{k}\right)=\alpha_{k} \mathbf{p}_{k} \]
    1. 肯定下一個搜索方向([Scal85]),先計算 \(\beta _{k}\) 以後構造一個與梯度之差正交的向量做爲方向:
      \[ \begin{cases} \beta_{k}=\frac{\Delta \mathbf{g}_{k-1}^{T} \mathbf{g}_{k}}{\Delta \mathbf{g}_{k-1}^{T} \mathbf{p}_{k-1}}\\ \\ \beta_{k}=\frac{\mathbf{g}_{k}^{T} \mathbf{g}_{k}}{\mathbf{g}_{k-1} \mathbf{g}_{k-1}}\\ \\ \beta_{k}=\frac{\Delta \mathbf{g}_{k-1}^{T} \mathbf{g}_{k}}{\mathbf{g}_{k-1}^{T} \mathbf{g}_{k-1}} \end{cases} \]
      \[ \mathbf{p}_{k}=-\mathbf{g}_{k}+\beta_{k} \mathbf{p}_{k-1} \]
      其中 \(\mathbf{g}_{k} \equiv \nabla F\left.(\mathbf{x})\right|_{\mathbf{X}=\mathbf{X}_{k}}\) ,且 \(\Delta \mathbf{g}_{k}=\mathbf{g}_{k+1}-\mathbf{g}_{k}\)
    1. 若是算法爲收斂,返回第二步

參考文獻

第1章

  • [Ande72] J. A. Anderson, 「A simple neural network generating an interactive memory,」 Mathematical Biosciences, Vol. 14, pp.197–220, 1972.

    Anderson提出了一種「線性關聯器」模型用於聯想記憶。 使用推廣的Hebb假設來訓練模型,用於學習輸入和輸出向量之間的關聯。

  • [AnRo89] J. A. Anderson and E. Rosenfeld, Neurocomputing: Foundations of Research, Cambridge, MA: MIT Press, 1989.

    Neurocomputing是一本基礎參考書。 它包含了40多個最重要的神經計算領域的著做。 每篇論文都附有一個成果介紹,並提供論文在該領域的歷史中的位置。

  • [DARP88] DARPA Neural Network Study, Lexington, MA: MIT Lincoln Laboratory, 1988.

    到1988年爲止,已知的神經網絡知識概要。它總結了神經網絡的理論基礎並討論了它們目前的應用。 它包含關聯記憶,循環網絡,視覺,語音識別和機器人技術的章節。 最後,它討論了仿真工具和實現技術。

  • [MiPa69] M. Minsky and S. Papert, Perceptrons, Cambridge, MA: MIT Press, 1969.

    這是一本具備里程碑意義的書,其中包含第一次嚴謹研究了感知機的學習能力。經過嚴格的論述,闡述了感知機的侷限性,以及克服侷限的方法。遺憾的是,該書悲觀地預測,感知器的侷限性代表神經網絡領域是沒有前景的。 這一失實的觀點爲後續若干年的神經網絡研究和基金資助形成了極大的負面影響。

  • [Rose58] F. Rosenblatt, 「The perceptron: A probabilistic model for information storage and organization in the brain,」 Psychological Review, Vol. 65, pp. 386–408, 1958.

    提出了第一個實際的神經網絡模型,感知機。

  • [RuMc86] D. E. Rumelhart and J. L. McClelland, eds., Parallel Distributed Processing: Explorations in the Microstructure of Cognition, Vol. 1, Cambridge, MA: MIT Press, 1986.

    20世紀80年代從新燃起人們對神經網絡研究興趣的兩大重要論著之一。書中包含了許多主題,訓練多層網絡的檢討傳播算法是其中之一。

  • [WiHo60] B. Widrow and M. E. Hoff, 「Adaptive switching circuits,」1960 IRE WESCON Convention Record, New York: IRE Part 4, pp. 96–104, 1960.

    這篇重要論文描述了要給自適應的相似感知機的網絡,它能快速準確地學習。做者假定系統有輸入和每一個輸入對應地指望輸出,且系統能計算實際輸出和指望輸出之間地偏差。爲了最小化均方偏差,網絡使用梯度降低法來調整權值(最小均方偏差或LMS算法)
    這篇論文在[AnRo88]中被重印。

第2章

  • [Hopf82] J. J. Hopfield, 「Neural networks and physical systems with emergent collective computational properties,」 Proceedings of the National Academy of Sciences, vol. 79, pp. 2554–2558, 1982. (Chapter 1, 21)

    Hopfield提出了內容可尋址的神經網絡。 他還清楚地描述了該神經網絡如何運做,以及該網絡能夠勝任何種工做。

  • [Hopf84] J. J. Hopfield, 「Neurons with graded response have collective computational properties like those of two-state neurons,」 Proceedings of the National Academy of Sciences, vol.81, pp. 3088–3092, 1984. (Chapter 21)

    Hofield網絡

第3章

  • [BaSu83] A. Barto, R. Sutton and C. Anderson, 「Neuron-like adap tive elements can solve difficult learning control problems,」 IEEE Transactions on Systems, Man and Cybernetics, Vol.13, No. 5, pp. 834–846, 1983.

    一種採用加強學習算法訓練神經網絡來平衡逆向振盪地經典論文。

  • [Brog91] W. L. Brogan, Modern Control Theory, 3rd Ed., Englewood Cliffs, NJ: Prentice-Hall, 1991.

    一本關於線性系統主題的佳做。 本書的前半部分專門用於線性代數。 它在線性微分方程的解和線性和非線性系統的穩定性方面也有很好的部分。

  • [McPi43] W. McCulloch and W. Pitts, 「A logical calculus of the ideas immanent in nervous activity,」 Bulletin of Mathematical Biophysics, Vol. 5, pp. 115–133, 1943.

    本文介紹了神經元的第一個數學模型。這個模型經過比較多個輸入信號地加權和閾值來決定是否激發該神經元。這是第一次根據當時已知的計算元素描述大腦的做用。 它代表簡單的神經網絡能夠計算任何算術或邏輯函數。

  • [Rose58] F. Rosenblatt, 「The perceptron: A probabilistic model for information storage and organization in the brain,」 Psycho logical Review, Vol. 65, pp. 386–408, 1958.

    本文提出了第一個實用的人工神經網絡模型:感知器。

  • [Rose61] F. Rosenblatt, Principles of Neurodynamics, Washington DC: Spartan Press, 1961.

    關於神經計算的第一本書之一。

  • [WhSo92] D. White and D. Sofge (Eds.), Handbook of Intelligent Control, New York: Van Nostrand Reinhold, 1992.Collection of articles describing current research and appli

    該書收集了當時一些關於控制系統中地神經網絡和模糊邏輯地研究和應用地論文。

第4章

  • [Hebb49] D. O. Hebb, The Organization of Behavior. New York:Wiley, 1949.

    這本著做的核心思想是:行爲能夠由生物神經元的活動來解釋。在書中,Hebb提出了第一個神經網絡學習規則,這是一個細胞級別上的學習機制假說。

  • [Albe72] A. Albert, Regression and the Moore-Penrose Pseudoinverse, New York: Academic Press, 1972.

    Albert的著做是關於僞逆的理論和基本性質的主要參考文獻。 包括主要僞逆定理地證實。

  • [Ande72] J. A. Anderson, 「A simple neural network generating an interactive memory,」 Mathematical Biosciences, vol. 14, pp.197–220, 1972. (Chapter 1, 15, 21)

    Anderson提出了一種用於聯想記憶的「線性關聯器」模型。 使用Hebb假設的推廣來訓練模型,以學習輸入和輸出向量之間的關聯。 強調了網絡的生理合理性。 雖然兩位研究人員獨立工做,Kohonen同時發表了一篇密切相關的論文[Koho72]。

  • [Koho72] T. Kohonen, 「Correlation matrix memories,」 IEEE Transactions on Computers, vol. 21, pp. 353–359, 1972.

    Kohonen提出了一種關聯記憶的相關矩陣模型。 使用外積規則(也稱爲Hebb規則)訓練模型,以學習輸入和輸出向量之間的關聯。 強調了網絡的數學結構。 安德森同時發表了一篇密切相關的論文[Ande72],儘管兩位研究人員正在獨立工做。

第5章

  • [StDo84] W. D. Stanley, G. R. Dougherty, R. Dougherty, Digital Sig
    nal Processing, Reston VA: Reston, 1984
  • [WiHo60] B. Widrow, M. E. Hoff, 「Adaptive switching circuits,」 1960
    IRE WESCON Convention Record, New York: IRE Part 4,
    pp. 96–104.

    這篇開創性的論文描述了一種相似自適應感知器的網絡,能夠快速準確地學習。 做者假設系統具備輸入,每一個輸入的指望輸出分類,而且系統能夠計算實際輸出和指望輸出之間的偏差。 使用梯度降低法調整權重,以便最小化均方偏差。 (最小均方偏差或LMS算法。)本文在[AnRo88]中重印。

  • [WiSt85] B. Widrow and S. D. Stearns, Adaptive Signal Processing,Englewood Cliffs, NJ: Prentice-Hall, 1985.

    這本書描述了自適應信號處理方面地理論和應用。做者在書中提供了關於所需數學背景知識地綜述,闡述了算法細節,並討論了許多實際應用。

  • [WiWi88] B. Widrow and R. Winter, 「Neural nets for adaptive filtering and adaptive pattern recognition,」 IEEE Computer Magazine, March 1988, pp. 25–39.

    這篇可讀性地文章總結了自適應多層神經網絡地應用,好比系統建模,統計預測、回聲消除、逆向建模和模式識別等。

第6章

  • [Werbo74] P. J. Werbos, 「Beyond regression: New tools for predictionand analysis in the behavioral sciences,」 Ph.D. Thesis,Harvard University, Cambridge, MA, 1974.

    這篇博士 論文包含彷佛是反向傳播算法的第一個描述(雖然沒有使用該名稱)。 這裏在通常網絡的背景下描述該算法,其中神經網絡做爲特殊狀況。 直到20世紀80年代中期,Rumelhart,Hinton和Williams [RuHi86],David Parker [Park85]和Yann Le Cun [LeCu85]從新發現了反向傳播。

  • [RuHi86] D. E. Rumelhart, G. E. Hinton and R. J. Williams, 「Learning representations by back-propagating errors,」 Nature,vol. 323, pp. 533–536, 1986.

    本文包含最普遍的反向傳播算法的描述。

  • [Park85] D. B. Parker, 「Learning-logic: Casting the cortex of the human brain in silicon,」 Technical Report TR-47, Center forComputational Research in Economics and Management Science, MIT, Cambridge, MA, 1985.

    David Parker在與Le Cun和Rumelhart,Hinton和Williams大體同時獨立地推導出反向傳播算法。 該報告描述了他的算法。

  • [LeCu85] Y. Le Cun, 「Une procedure d’apprentissage pour reseau a seuil assymetrique,」 Cognitiva, vol. 85, pp. 599–604, 1985.

    Yann Le Cun與Parker和Rumelhart,Hinton和Williams幾乎同時發現了反向傳播算法。 本文描述了他的算法。

  • [HoSt89] K. M. Hornik, M. Stinchcombe and H. White, 「Multilayerfeedforward networks are universal approximators,」 Neural Networks, vol. 2, no. 5, pp. 359–366, 1989.

    本文證實了具備任意壓縮函數的多層前饋網絡能夠逼近從一個有限維空間到另外一個有限維空間的任何Borel可積函數。

第7章

  • [Barn92] E. Barnard, 「Optimization for training neural nets,」 IEEE Trans. on Neural Networks, vol. 3, no. 2, pp. 232–240, 1992.

    這篇論文討論了大量訓練神經網絡地優化算法。

  • [Batt92] R. Battiti, 「First- and second-order methods for learning:Between steepest descent and Newton's method,」 Neural Computation, vol. 4, no. 2, pp. 141–166, 1992.

    這篇論文是對當前適合神經網絡訓練地優化算法極爲出色地總結。

  • [Char92] C. Charalambous, 「Conjugate gradient algorithm for efficient training of artificial neural networks,」 IEE Proceedings, vol. 139, no. 3, pp. 301–310, 1992.

    這篇論文解釋了共軛梯度算法是如何用於訓練多層網絡地。同時比較了共軛梯度算法和其餘訓練算法地不一樣。

  • [Fahl88] S. E. Fahlman, 「Faster-learning variations on back-propagation: An empirical study,」 In D. Touretsky, G. Hinton &T. Sejnowski, eds., Proceedings of the 1988 Connectionist Models Summer School, San Mateo, CA: Morgan Kaufmann, pp. 38–51, 1988.

    這篇論文描述了 QuickProp算法是一種對標準反向傳播算法較爲流行地啓發式改進。它假設偏差曲線能夠被一個拋物線逼近,同時每個權值地影響均可以獨立考慮。在不少問題上,相比標準反向傳播算法,QuickProp能顯著提升算法地速度。

  • [HaMe94] M. T. Hagan and M. Menhaj, 「Training feedforward networks with the Marquardt algorithm,」 IEEE Transactions on Neural Networks, vol. 5, no. 6, 1994.

    這篇論文描述了 Levenberg-Marquardt 算法在多層神經網絡中地使用,同時比較了它與可變學習率反向傳播算法以及共軛梯度算法地性能區別。這個 Levenberg-Marquardt 提升了收斂速度,可是須要更大地存儲空間。

  • [Jaco88] R. A. Jacobs, 「Increased rates of convergence through learning rate adaptation,」 Neural Networks, vol. 1, no. 4,pp. 295–308, 1988.

    這是另一篇討論使用可變學習率反向傳播算法地早期論文。這裏描述地過程被稱爲 delta-bar-delta 學習規則,在此學習規則中,每個網絡參數有獨立地學習率,同時學習率在每次迭代時都發生變化。

  • [NgWi90] D. Nguyen and B. Widrow, 「Improving the learning speed of 2-layer neural networks by choosing initial values of the adaptive weights,」 Proceedings of the IJCNN, vol. 3, pp.21–26, July 1990.

    這篇論文描述了一種反向傳播算法中權值和偏置值地初始化方法。它經過S型傳輸函數地形狀以及輸入變量地範圍來決定權值地大小,而後利用偏置值來將S型函數置於運做區域的中央。反向傳播算法的收斂性能夠經過此過程獲得有效提高。

  • [RiIr90] A. K. Rigler, J. M. Irvine and T. P. Vogl, 「Rescaling of variables in back propagation learning,」 Neural Networks, vol.4, no. 2, pp. 225–230, 1991.

    這篇論文提出S型函數的導數在尾部很是小,這意味着與前幾層關聯的梯度元素一般會小於與最後一層關聯的梯度元素。所以,須要從新調整梯度中各項的範圍,使它們均衡。

  • [Scal85] L. E. Scales, Introduction to Non-Linear Optimization. New York: Springer-Verlag, 1985.

    這是一本可讀性很強的書,它介紹了主要的優化算法,着重於優化方法而非收斂的存在定理和證實。

  • [Shan90] D. F. Shanno, 「Recent advances in numerical techniques for large-scale optimization,」 Neural Networks for Control,Miller, Sutton and Werbos, eds., Cambridge MA: MIT Press, 1990.

    這篇論文討論了一些能夠用在神經網絡訓練中的共軛梯度算法以及擬牛頓優化算法。

  • [Toll90] T. Tollenaere, 「SuperSAB: Fast adaptive back propagation with good scaling properties,」 Neural Networks, vol. 3, no.5, pp. 561–573, 1990.

    這篇論文介紹了一種可變學習率的反向傳播算法。其中,每個權值的學習率都是不一樣的。

  • [VoMa88] T. P. Vogl, J. K. Mangis, A. K. Zigler, W. T. Zink and D. L. Alkon, 「Accelerating the convergence of the backpropagation method,」 Biological Cybernetics., vol. 59, pp. 256–264,Sept. 1988.

    這是介紹加速反向傳播算法收斂速度的幾種啓發式技術最先的文章之一,它包括衝量、批處理以及可變學習率。

第8章

  • [AmMu97] S. Amari, N. Murata, K.-R. Muller, M. Finke, and H. H.Yang, 「Asymptotic Statistical Theory of Overtraining and Cross-Validation,」 IEEE Transactions on Neural Networks, vol. 8, no. 5, 1997.

    當使用提早終止法時,肯定驗證集包含的數據數量很重要。這篇論文爲驗證規模的選取提供了理論基礎。

  • [FoHa97] D. Foresee and M. Hagan, 「Gauss-Newton Approximation to Bayesian Learning,」 Proceedings of the 1997 International Joint Conference on Neural Networks, vol. 3, pp.1930 - 1935, 1997.

    這篇論文介紹了一種使用高斯-牛頓法逼近 Hessian 矩陣以實現貝葉斯正則化的方法。

  • [GoLa98] C. Goutte and J. Larsen, 「Adaptive Regularization of Neural Networks Using Conjugate Gradient,」 Proceedings of the IEEE International Conference on Acoustics, Speech and Signal Processing, vol. 2, pp. 1201-1204, 1998.

    當使用正則化方法時,一個重要的步驟是設置正則化參數,這篇論文介紹了設置正則化參數以極小化驗證集偏差的步驟。

  • [MacK92] D. J. C. MacKay, 「Bayesian Interpolation,」 Neural Computation, vol. 4, pp. 415-447, 1992.

    貝葉斯方法在統計學中已經使用了不少年。這篇論文展現了首次提出貝葉斯框架用於訓練神經網絡的方法之一。MacKay 針對該論文隨後對其中的方法進行了不少措施性的改進。

  • [Sarle95] W. S. Sarle, 「Stopped training and other remedies for overfitting,」 In Proceedings of the 27th Symposium on Interface,1995.

    這是一篇使用提早終止法和驗證集來防止過擬合的早期文獻之一。這篇論文介紹了提早終止法與其餘提高泛化能力方法比較的仿真結果。

  • [SjLj94] J. Sjoberg and L. Ljung, 「Overtraining, regularization and searching for minimum with application to neural networks,」 Linkoping University, Sweden, Tech. Rep. LiTHISY-R-1567, 1994.

    這個報告解釋了提早終止法和正則化法是如何近似等價的過程。它證明了訓練的迭代次數和正則化參數成反比。

  • [Tikh63] A. N. Tikhonov, 「The solution of ill-posed problems and the regularization method,」 Dokl. Acad. Nauk USSR, vol. 151,no. 3, pp. 501-504, 1963.

    正則化法是一種將偏差平方和性能指標與一個懲罰逼近函數複雜度的懲罰項進行結合的方法。這篇論文是介紹正則化的概念最先的文獻。懲罰項設計逼近函數的導數。

  • [WaVe94] C. Wang, S. S. Venkatesh, and J. S. Judd, 「Optimal Stop ping and Effective Machine Complexity in Learning,」 Advances in Neural Information Processing Systems, J. D.Cowan, G. Tesauro, and J. Alspector, Eds., vol. 6, pp. 303-310, 1994.

    這篇論文介紹了訓練過程當中網絡有效參數數量是如何變化的,以及提早終止結束訓練是如何提高網絡泛化能力的。

第9章

  • [DeHa07] O. De Jesús and M. Hagan, 「Backpropagation Algorithms for a Broad Class of Dynamic Networks,」 IEEE Transactions on Neural Networks, vol. 18, no. 1, pp., 2007.

    這篇論文介紹了 BPTT 和 RTRL 算法面向梯度和雅可比矩陣的通常性推廣。文中呈現了相關實驗結果,比較了在不一樣網絡結構上這兩個算法的複雜度。

  • [MaNe99] J.R. Magnus and H. Neudecker, Matrix Differential Calculus, John Wiley & Sons, Ltd., Chichester, 1999.

    這部教材清晰而完整地介紹了矩陣論及矩陣微積分方法。

  • [PhHa13] M. Phan and M. Hagan, 「Error Surface of Recurrent Networks,」 IEEE Transactions on Neural Networks and Learning Systems, Vol. 24, No. 11, pp. 1709 - 1721, October,2013.

    這篇論文介紹了循環網絡偏差曲面上地欺騙性凹槽,以及一系列能夠用於改進循環網絡地措施。

  • [Werb90] P. J. Werbos, 「Backpropagation through time: What it is and how to do it,」 Proceedings of the IEEE, vol. 78, pp.1550–1560, 1990.

    時序反向傳播算法是循環神經網絡梯度計算地兩個主要方法之一。這篇論文介紹了時序反向傳播算法地通常性框架。

  • [WiZi89] R. J. Williams and D. Zipser, 「A learning algorithm for continually running fully recurrent neural networks,」 Neural Computation, vol. 1, pp. 270–280, 1989.

    這篇論文介紹了計算動態網絡梯度地實時回覆學習算法。採用這一方方法,能夠從第一個時刻開始計算梯度,並依時間順序正向進行計算,該算法適合在線或實時地實現。

第10章

  • [FrSk91] J. Freeman and D. Skapura, Neural Networks: Algorithms, Applications, and Programming Techniques, Reading, MA:Addison-Wesley, 1991.

    這本書包含了一些神經網絡算法地代碼段,以明晰網絡細節。

  • [Koho87] T. Kohonen, Self-Organization and Associative Memory,2nd Ed., Berlin: Springer-Verlag, 1987.

    這本書中介紹了 Kohonen 規則和幾種使用該規則的網絡。書中還提供了線性聯想模型的完整分析,而且給出了不少擴展和例子。

  • [Hech90] R. Hecht-Nielsen, Neurocomputing, Reading, MA: Addison-Wesley, 1990.

    這本書的一個章節介紹了競爭學習的歷史和其中的數學。

  • [RuMc86] D. Rumelhart, J. McClelland et al., Parallel Distributed Processing, vol. 1, Cambridge, MA: MIT Press, 1986.

    這套兩卷的論文集著做是神經網絡的經典文章,第一卷中的第一章描述了競爭網絡及其是如何學會檢測特徵的。

第11章

  • [BrLo88] D.S. Broomhead and D. Lowe, 「Multivariable function in terpolation and adaptive networks,」 Complex Systems,vol.2, pp. 321-355, 1988.

    這篇開創性的論文第一次闡述了徑向基函數在神經網絡領域內的使用。

  • [MoDa89] J. Moody and C.J. Darken, 「Fast Learning in Networks of Locally-Tuned Processing Units,」 Neural Computation,Vol. 1, pp. 281–294, 1989.

    第一篇使用聚類方法選擇徑向基函數中心和方差的論文。

  • [PaSa93] J. Park and I.W. Sandberg, 「Universal approximation using radial-basis-function networks,」 Neural Computation,vol. 5, pp. 305-316, 1993.

    這篇論文證實了徑向基函數網絡的通用逼近性能。

  • [Powe87] M.J.D. Powell, 「Radial basis functions for multivariable in terpolation: a review,」 Algorithms for Approximation, pp.143-167, Oxford, 1987.

    這篇論文回顧了徑向基函數的早期工做。徑向基函數最初用於精確的多變量插值問題。

第12章

  • [Bish95] C.M. Bishop, Neural Networks for Pattern Recognition, Oxford University Press,1995.

    一本從統計學角度論述神經網絡的優秀教材。

  • [HaBo07] L. Hamm, B. W. Brorsen and M. T. Hagan, 「Comparison of Stochastic Global Optimization Methods to Estimate Neural Network Weights,」 Neural Processing Letters, Vol. 26,No. 3, December 2007.

    這篇文章之處,使用多個啓動的局部優化的程序,如最速降低或共軛梯度,其結果與全局優化方法不相上下,而且計算量較小。

  • [HeOh97] B. Hedén, H. Öhlin, R. Rittner, L. Edenbrandt, 「Acute My ocardial Infarction Detected in the 12-Lead ECG by Artificial Neural Networks,」 Circulation, vol. 96, pp. 1798–1802,1997.

    這篇文章論述了使用神經網絡經過心電圖檢測心肌梗塞的應用。

  • [Joll02] I.T. Jolliffe, Principal Component Analysis, Springer Series in Statistics, 2nd ed., Springer, NY, 2002.

    有關主成分分析最著名的文章

  • [PuFe97] G.V. Puskorius and L.A. Feldkamp, 「Extensions and en hancements of decoupled extended Kalman filter training,」Proceedings of the 1997 International Conference on NeuralNetworks, vol. 3, pp. 1879-1883, 1997.

    這篇文章接受的擴展卡爾曼濾(Kalman)波算法,是神經網絡訓練較快的序列算法之一。

  • [RaMa05] L.M. Raff, M. Malshe, M. Hagan, D.I. Doughan, M.G. Rockley, and R. Komanduri, 「Ab initio potential-energy surfaces for complex, multi-channel systems using modified novelty sampling and feedforward neural networks,」 The Journalof Chemical Physics, vol. 122, 2005.

    這篇文章描述瞭如何使用神經網絡來進行分子動力學仿真。

  • [ScSm99] B. Schölkopf, A. Smola, K.-R. Muller, 「Kernel Principal Component Analysis,」 in B. Schölkopf, C. J. C. Burges, A.J. Smola (Eds.), Advances in Kernel Methods-Support Vector Learning, MIT Press Cambridge, MA, USA, pp. 327-352, 1999.

    這篇文章介紹了一種使用核方法的非線性主成分分析方法。

相關文章
相關標籤/搜索