機器學習-周志華-第五章筆記 CNN
阿新 • • 發佈:2019-01-25
Chapter 5 神經網路-機器學習-周志華
5.1神經元模型
- 神經網路:具有適應性的簡單單元組成的廣泛並行互連的網路,它的組織能夠模擬生物神經系統對真實世界物體所作出的互動反應。
- 神經元模型:一個神經元收到的刺激超過閾值(threshold/bias),它就會被啟用。概括為M-P神經元模型:n個帶權輸入
→ 與threshold比較→ 啟用函式處理產生輸出。 - 啟用函式中1代表興奮,0代表不興奮。理想中啟用函式位階躍函式,為方便處理用連續的Sigmoid函式。
- 神經網路:神經元按一定層次結構連線。
- 神經網路可以視為包含了許多引數的數學模型,由若干函式(如
yj=f(∑iwixi−θj) )相互巢狀得到。
5.2 感知機與多層網路
感知機
- 感知機有兩層神經網路,輸出層為M-P神經單元——“閾值邏輯單元”。
- 各神經元的
ω 和θ 取適當的值,可以實現邏輯與、或、非運算。 - 給定訓練集,
ω 和θ 可以通過學習得到。θ 可視為固定輸入為1的啞結點(dummy node)。 - 感知機的學習規則:
- 當前訓練樣例為(x,y),當前感知機輸出位
y^ ,則權重調整為: ωi←ωi+Δωi ,Δωi=η(y−y^)xi η 為學習率(learning rate)
- 當前訓練樣例為(x,y),當前感知機輸出位
- 感知機只有輸出層神經元進行啟用函式處理,即只有一層功能神經元(functional neuron)。
- 線性可分:存線上性超平面將兩類模式分開。
- 若兩類模式
- 線性可分(如與、或、非),感知機的學習過程會收斂(vonverge);
- 若線性不可分(如異或),則會發生振盪(fluctuation),不能穩定。
多層網路
- 解決非線性可分問題要使用多層功能神經元。
- 隱層或隱含層(hidden layer):輸出層與輸入層之間的一層神經元。
- 隱含層和輸出層都具有啟用函式。
- 多層前饋神經網路(multi-layer feedforward neural networks):
- 每層神經元與下層完全互連
- 同層間無連線
- 無跨層連線
- 輸入層神經元的唯一作用是接受輸入,不進行函式處理
- 隱層和輸出層包含功能神經元
- 神經網路的學習過程:根據訓練資料調整神經元之間的“連線權”(connection weight),以及每個功能神經元的閾值
5.6 深度學習
- 深度學習(deep learning)是很深層的神經網路。其提高容量的方法是增加隱層數目,這比增加隱層神經元數目更有效,這樣不但增加了擁有啟用函式的神經元數目,而且增加了啟用函式巢狀的層數。
- 該模型太複雜,下面給出兩種節省開銷的訓練方法:無監督逐層訓練、權共享。
- 無監督逐層訓練(unsupervised layer-wise training):
- 預訓練(pre-training):每次訓練一層,將上層作為輸入,本層結果作為下層的輸入。
- 微調訓練(fine-training):預訓練結束後的微調。
- 可視為將大量引數分組,每組先找到好的設定,基於區域性較優進行全域性尋優。
- 權共享(weight sharing):讓一組神經元使用相同的連線權。這在卷積神經網路(Convolutional Neural Network,CNN)發揮了重要作用。