做者:Peter算法
紅色石頭的我的網站:網絡
紅色石頭的我的博客-機器學習、深度學習之路 www.redstonewill.com今天帶來第四周課程的筆記:神經網絡基礎。機器學習
- 非線性假設
- 神經元和大腦
- 模型表示
- 特徵和直觀理解
- 多類分類問題
非線性假設Non-linear Hypotheses
線性迴歸和邏輯迴歸的缺點:特徵太多的時候,計算負荷會很是大學習
假設咱們但願訓練一個模型來識別視覺對象(例如識別一張圖片上是不是一輛汽車),咱們怎樣才能這麼作呢?一種方法是咱們利用不少汽車的圖片和不少非汽車的圖片,而後利用這些圖片上一個個像素的值(飽和度或亮度)來做爲特徵。flex
假設採用的是50*50像素的小圖片,將全部的像素視爲特徵,則有2500個特徵。普通的邏輯迴歸模型不能處理的,須要使用神經網絡網站
神經元和大腦
模型表示
模型表示1
每一個神經元是能夠被認爲一個處理單元/神經核processing unit/Nucleus,主要包含:編碼
- 多個輸入/樹突input/Dendrite
- 一個輸出/軸突output/Axon
神經網絡是大量神經元相互連接並經過電脈衝來交流的一個網絡
- 神經網絡模型創建在不少神經元之上,每個神經元又是一個個學習模型
- 神經元稱之爲激活單元activation unit;在神經網絡中,參數又可被成爲權重(weight)
- 相似神經元的神經網絡
神經網絡
下圖是邏輯迴歸模型做爲自身學習模型的神經元示例url
相似神經元的神經網絡結構spa
- x1,x2,x3是輸入單元,將原始數據輸入給它們
- 幾個比較基礎的概念
- 輸入層:數據節點所在的層
- 網絡層:輸出hihi連同它的網絡層參數w,bw,b
- 隱藏層:網絡層中間的層
- 輸出層:最後一層
- 偏置單元:bias unit,每層加上偏置單元
上面模型的激活單元和輸出分別表示爲:.net
三個激活單元的表達式:
輸出的表達式爲:
將特徵矩陣的每行(一個訓練實例)餵給了神經網絡,最終須要將整個訓練集都餵給神經網絡。
這種從左到右計算的算法稱之爲:前向傳播法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),歡迎關注!