今天帶來第四周課程的筆記:神經網路基礎。
- 非線性假設
- 神經元和大腦
- 模型表示
- 特徵和直觀理解
- 多類分類問題
非線性假設Non-linear Hypotheses
線性迴歸和邏輯迴歸的缺點:特徵太多的時候,計算負荷會非常大
假設我們希望訓練一個模型來識別視覺物件(例如識別一張圖片上是否是一輛汽車),我們怎樣才能這麼做呢?一種方法是我們利用很多汽車的圖片和很多非汽車的圖片,然後利用這些圖片上一個個畫素的值(飽和度或亮度)來作為特徵。
假設採用的是50*50畫素的小圖片,將所有的畫素視為特徵,則有2500個特徵。普通的邏輯迴歸模型不能處理的,需要使用神經網路
神經元和大腦
模型表示
模型表示1
每個神經元是可以被認為一個處理單元/神經核processing unit/Nucleus,主要包含:
- 多個輸入/樹突input/Dendrite
- 一個輸出/軸突output/Axon
神經網路是大量神經元相互連結並透過電脈衝來交流的一個網路
1.神經網路模型建立在很多神經元之上,每一個神經元又是一個個學習模型
2.神經元稱之為啟用單元activation unit;在神經網路中,引數又可被成為權重(weight)
3.類似神經元的神經網路
神經網路
下圖是邏輯迴歸模型作為自身學習模型的神經元示例
類似神經元的神經網路結構
- x1,x2,x3是輸入單元,將原始資料輸入給它們
- 幾個比較基礎的概念
- 輸入層:資料節點所在的層
- 網路層:輸出hihi連同它的網路層引數w,bw,b
- 隱藏層:網路層中間的層
- 輸出層:最後一層
- 偏置單元:bias unit,每層加上偏置單元
上面模型的啟用單元和輸出分別表示為:
三個啟用單元的表示式:
輸出的表示式為:
將特徵矩陣的每行(一個訓練例項)餵給了神經網路,最終需要將整個訓練集都餵給神經網路。
這種從左到右計算的演算法稱之為:前向傳播法FORWARD PROPAGATION
模型標記的記憶方法
其尺寸具體表示為:
- 以第jj 層的啟用單元數量為行數
- 以第 j+1j+1層的啟用單元數+1為列數的矩陣
模型表示2
FORWARD PROPAGATION相對於使用迴圈來編碼,利用向量化的方法會使得計算更為簡便,
假如現在有:
其中z滿足:
也就是上面三個啟用單元式子中的括號裡面部分,那麼有:
那麼輸出h可以表示為 :
特徵和直觀理解
神經網路中,單層神經元(無中間層)的計算可用來表示邏輯運算,比如邏輯與(AND)、邏輯或(OR)
實現邏輯”與AND”
實現邏輯”或OR”
實現邏輯“非not”
多類分類問題
當輸出中不止有兩種分類時,比如使用神經網路演算法來識別路人、汽車、摩托車等。
- 輸入向量有3個維度,兩個中間層
- 輸出層有4個神經元表示4種分類,也就是每一個資料在輸出層都會出現[a,b,c,d]T[a,b,c,d]T,且[a,b,c,d][a,b,c,d]中僅有一個為1,表示當前類
TF中解決辦法
上述多類分類問題和TF中手寫數字問題類似,解決辦法如下:
手寫數字圖片資料
總類別數是10,即輸出節點總數值dout=10dout=10,假設某個樣本的類別是i,即圖片中的數字是ii,需要一個長度為10的向量yy,索引號為ii的位置設定為1,其餘是0。
- 0的one-hot編碼是[1,0,0,0,….]
- 1的one-hot編碼是[0,1,0,0,….]
- 其餘類推
至此,第四周的課程筆記完畢!
系列文章:
吳恩達《Machine Learning》精煉筆記 1:監督學習與非監督學習
吳恩達《Machine Learning》精煉筆記 2:梯度下降與正規方程
吳恩達《Machine Learning》精煉筆記 3:迴歸問題和正則化
本文首發於公眾號:AI有道(ID: redstonewill),歡迎關注!