神經(jīng)網(wǎng)絡(luò)是一種生物啟發(fā)式的模型,在時間序列上和視覺上已經(jīng)有了很重要的工程應用。
①The Multi-layer Perceptron


對于上訴的公式證明,在理論上可以使用一些方法來類比計算,也就是說任何的一個在緊密集合上的連續(xù)函數(shù)都可以使用單步函數(shù)進行任意近似。單步函數(shù)可以說是最簡單的函數(shù),感知機perceptron好就是一種比較簡單的step function。
在上訴的神經(jīng)網(wǎng)絡(luò)里面,輸入層是不可以被看成是一層。而隱藏層是使用sign(.)作為輸出。然而,問題是這些使用sign(.)的方法困難部分是在于他不是平滑的,一個平滑的近似函數(shù)是完全不同于sign(.),平滑的近似函數(shù)可以允許我們使用數(shù)學分析的方法來尋找最優(yōu)權(quán)值。
②Notation and Forward Propagation
Notation:層數(shù)使用l = 1,2,3...L來表示,輸入層將不能被看做是一個層,每一層會有個節(jié)點,因為還要加上一個偏置項。輸入層沒有進來的權(quán)值,但是有輸出的權(quán)值,輸出層相反。

前向傳播完成后,那么我們需要做的就是求
③The Simple Perceptron Revisited
tanh(x):
Nearly linear for x = 0 and nearly +/-1 for |x| large.
tan(.)近似函數(shù)抓住了整體的趨勢,如果我們最小化tanh-insample error,我們可以基本等同于是優(yōu)化in-sample error了。
優(yōu)化in-sample error的方法自然就是梯度下降了,首先初始化權(quán)值,然后再每一步的時候更新所有權(quán)值即可。但是對于一個神經(jīng)網(wǎng)絡(luò)來說就沒有這么簡單了,因為神經(jīng)網(wǎng)絡(luò)這么多層的疊加已經(jīng)不再是一種簡單的凸優(yōu)化函數(shù)了,而是很復雜的函數(shù)疊加。如果初始權(quán)值初始化的太大了,那么。因此,我們需要選擇比較小的權(quán)值使得一開始
。
一個比較好的選擇就是使用高斯函數(shù)初始化。
終止點:
一個比較好的選擇是當邊緣error很小,而且迭代一定的次數(shù)之后就可以停止了。
④BackPropagation
主要就是使用鏈式法則。




需要注意的是,有時候我們會發(fā)現(xiàn)誤差平面可能會看起來很平,也就是遇到了梯度消失,這是因為tanh已經(jīng)飽和了,對于這種情況,可以使用一個不容易飽和的函數(shù)來修復,比如square error function。
⑤Approximation VS Generalization
A 3-layer neural network:
神經(jīng)網(wǎng)絡(luò)相對于非線性轉(zhuǎn)化來說,能力會更強,在線性模型里面,非線性轉(zhuǎn)化函數(shù)是先前就確定了的,也就是再沒看到數(shù)據(jù)之前就確定了,而神經(jīng)網(wǎng)絡(luò)是在參數(shù)里面的,我們可以在看到數(shù)據(jù)的情況下繼續(xù)調(diào)整參數(shù)。
如果我們假設(shè)數(shù)據(jù)是由一個目標函數(shù)生成的,而這個目標函數(shù)最高復雜度是C。如果用一個只有一層隱藏層,而隱藏層含有m個核的神經(jīng)網(wǎng)絡(luò)來學習:
,而R = max(x),
所以如果神經(jīng)元越多,那么可以得到越小的錯誤。
既然優(yōu)化樣本內(nèi)錯誤的問題解決了,那么就是泛華的問題了。
對于兩層的MLP,也就是一層隱藏層的神經(jīng)網(wǎng)絡(luò):
現(xiàn)在就來證明一下:

假設(shè)每一個Hi的VC維是
根據(jù)之前的VC分析,我們可以得到
⑥Regularization and Validation
首先是權(quán)值衰減,
還有另外一種衰減方式:

對于比較大的權(quán)值,懲罰項是近似常數(shù),對于比較小的權(quán)值會衰減的更加快。
這是一種叫權(quán)重衰減的方法,還有一種是early stop,這種方法比較好理解,神經(jīng)網(wǎng)絡(luò)不是一次性就開發(fā)出所有的假設(shè),是不斷的在調(diào)整迭代的過程中才會慢慢的開放出新的權(quán)值,所以每一次迭代之后,他的假設(shè)集就會大一點,當?shù)螖?shù)不多的時候,就假設(shè)集就會小,那么VC維也就不高了。

⑧Networks with many layers
神經(jīng)網(wǎng)絡(luò)的第一層會建立起比較低級別的特征,第二層會在第一層的基礎(chǔ)上再建立一層更高級的特征,以此類推,所以神經(jīng)網(wǎng)絡(luò)可以發(fā)現(xiàn)很多機器學習發(fā)現(xiàn)不了的特征,這種自動選擇特征是神經(jīng)網(wǎng)絡(luò)的一大特點。
對于神經(jīng)網(wǎng)絡(luò)的訓練,一下方法比較常用:
