《機器學習》--周志華 (第五章學習筆記)
神經網路
神經元模型
神經網路是由具有適應性的簡單單元組成的廣泛並行互連的網路,它的組織能夠模擬生物神經系統對真實世界物體所作出的互動反應
神經網路中最基本的成分是神經元模型,即“簡單單元”,在生物神經網路中,每個神經元與其他神經元相連,當它“興奮”時,就會向相連的神經元傳送化學物質,從而改變這些神經元內的電位;如果某神經元的電位超過一個“閾值”,那麼它就會被啟用,即“興奮” 起來,向其他神經元傳送化學物質。
啟用函式
理想啟用函式是階躍函式,0 表示抑制神經元而1表示啟用神經元
階躍函式具有不連續、不光滑等不好的性質,常用的是Sigmoid函式
Sigmoid函式可能在較大範圍內變化的輸入值擠壓到(0,1)輸出值範圍內,因此有時也稱為”擠壓函式”
把這樣許多個神經元按一定的層次結構連線起來,就得到了神經網路。
感知機與多層網路
感知機有兩層神經元組成
感知機只有輸出層神經元進行啟用函式處理,即只擁有一層功能神經元。
要解決非線性可分問題,需要考慮使用多層功能神經元
多層前饋網路結構
多層網路:包含隱層的網路
前饋網路:神經元之間不存在同層連線也不存在跨層連線
隱層和輸出層神經元亦稱“功能單元”
多層前饋網路有強大的表示能力
只需一個包含足夠多神經元的隱層,多層前饋神經網路就能以任意精度逼近任意複雜度的連續函式
設定隱層神經元數,通常用“試錯法”
誤差逆傳播演算法
BP神經網路
它是迄今為止最成功的神經網路學習演算法,顯示任務中使用神經網路時,大多在使用BP演算法進行訓練
BP演算法不僅可用於多層前饋神經網路,還可用於其他型別的神經網路
輸入:d維特徵向量
輸出:l個輸出值
隱層:假定使用q個隱層神經元
假定功能單元均使用Sigmoid函式
- 主要特點
訊號是前向傳播的,而誤差是反向傳播的。
主要過程
訊號的前向傳播,從輸入層經過隱含層,最後到達輸出層
誤差的反向傳播,從輸出層到隱含層,最後到輸入層,依次調節隱含層到輸出層的權重和偏置,輸入層到隱含層的權重和偏置
流程
網路的初始化
g(x)=11+e−x 隱含層的輸出
Hj=g(∑ni=1ωijxi+aj) 輸出層的輸出
Ok=∑lj=1Hjωjk+bk 誤差的計算
取誤差公式為
E=12∑mk=1(Yk−Ok)2 其中
Yk 為期望輸出,我們計Yk−Ok=ek ,則E可以表示為E=12∑mk=1e2k 權值的更新
標準BP演算法 與 累計BP演算法
- 標準BP演算法
- 每次針對單個訓練樣例更新權值與閾值
- 引數更新頻繁,不同樣例可以抵消,需要多次迭代
- 累計BP演算法
- 其優化目標是最小化整個訓練集上的累計誤差
- 讀取整個訓練集一遍才對引數進行更新,引數更新頻率較低
在很多工中,累計誤差下降到一定程度後,進一步下降會非常緩慢,這是標準BP演算法往往會獲得較好的解,尤其當訓練集非常大時效果更明顯。
緩解過擬合
主要策略
早停
若訓練誤差連續a輪的變化小於b,則停止訓練
使用驗證集:若訓練誤差降低,驗證誤差升高,則停止訓練
正則化
在誤差目標函式找那個增加一項描述網路複雜度
偏好比較小的連線權和閾值,使網路輸出更“光滑”
全域性最小與區域性極小
神經網路的訓練過程可看作一個引數尋優過程:
在引數空間中,尋找一組最優引數使得誤差最小
特點
- 存在多個“區域性極小”
- 只有一個“全域性最小”
其他常見神經網路模型
RBF :分類任務中除BP之外最常用
單隱層前饋神經網路
使用徑向基函式作為隱層神經元啟用函式
輸出層是隱層神經元輸出的線性組合
訓練
確定神經元中心,常用的方式包括隨機殘陽、聚類等
利用BP演算法等確定引數
ART:”競爭學習”的代表
SOM:最常用的聚類方法之一
- 競爭型的無監督神經網路
- 將高維資料對映到低維空間,高維空間中相似的樣本點對映到網路輸出層中臨近神經元
- 每個神經元擁有一個權向量
- 目標:為每個輸出層神經元找到合適的權向量以保持拓撲結構
- 訓練
- 網路接收輸入樣本後,將會確定輸出層的“獲勝”神經元(“勝者通吃”)
- 獲勝神經元的權向量將向當前輸入樣本移動
級聯相關網路:“構造性”神經網路的代表
構造性神經網路
將網路的結構也當做學習的目標之一,我往在訓練過程中找到適合資料的網路結構
- 訓練
- 開始時只有輸入層和輸出層
- 級聯-新的隱層節點逐漸加入,從而建立起層級結構
- 相關-最大化新節點的輸出與網路誤差之間的相關性
Elman網路:遞迴神經網路的代表
- 網路可以有環形結構,可讓使一些神經元的輸出反饋回來最為輸入
- t 時刻網路的輸出狀態: 由 t 時刻的輸入狀態和 t-1時刻的網路狀態共同決定
Elman網路是最常用的遞迴神經網路之一
- 結構與前饋神經網路很相似,但隱層神經元的輸出被反饋回來
- 使用推廣的BP演算法訓練
Bolyzmann機:”基於能量的模型”的代表
深度學習
卷積神經網路
- 每個卷積層包含多個特徵對映,每個特徵對映是一個由多個神經元構成的“平面”,通過一種卷積濾波器提取輸入的一種特徵
- 取樣層亦稱“匯合層”,其作用是基於區域性相關性原理進行亞取樣,從而在減少資料量的同事保留有用資訊
- 連線層就是傳統神經網路對隱層與輸出層的全連線
典型的深度學習模型就是很深層的神經網路