Machine Learning學習日記 — Coursera篇 (Week 4.2):Model Representation
Neural Networks
回目錄:Coursera章節
上一篇:Motivations
下一篇:Applications
Model Representation
How we represent the hypothesis of Neural Network
以logistic regression為例,Neural Network會以x作為輸入,θ作為處理的權重,然後輸出hypothesis
(x0是一個bias unit,代表其對應的θ0為獨立的常數,所以x0為1)
若將Neural Network展開成為一個三層的圖形
每一層都可以看到有著:輸入、處理跟輸出,而除了第一層跟最後一層之外,中間的層都通稱為hidden layer
"處理"可以想像是那些連結輸入跟輸出的黑線
下圖表示著輸入、處理跟輸出的函式
activation表示該單位的值,θij代表輸入單位j與與輸出單位i的處理權重
x0就是前面所提到的數字 1
那為什麼會有個g()包住這些多項式呢?
因為這是個用來解決 logistic regression問題的Neural Network,g(z) 代表的是一個 sigmoid的函數,詳見下圖:
隨堂練習
Ans:
這個其實是慣用的規定,第j層的θ matrix的dimension就是j+1層的單位數*第j層的單位數+1
那為什麼Neural Network就能表示先前我們提到那些複雜的多項式呢?
這是一個完整的Neural Network:
我們把左方遮住,單看右方的兩層。
會發現這張圖長的很像Linear Regression(a陣列跟θ陣列相乘)
現在再把左方給掀開,單獨看它。可以得知中間的hidden層也是由輸入層的x變數形成
這給了Neural Network彈性來最佳化a(θ參數的變動),調配出x不同的多項式,使得其有著能力來表達複雜的模型跟features
而Neural Network當然可以不只由三層的layer來進行預測,可以到4,5,6..層
但是每一層的增加都意味著計算成本指數型的上升,順帶一提,deep learning,就是含括多層layer的Nerual Network。
隨堂練習
Ans:
a¹代表第一層(即輸入層x0,x1,x2,x3)
a²代表第二層,為a¹跟θ¹處理後的結果:g(θ¹*a¹)
(g(x)代表對x取sigmoid函數處理。)
a³代表第三層,為a²跟θ²處理後的結果:g(θ²*a²)
a⁴代表第四層(即輸出層),只有一個單位,為a³跟θ³處理後的結果:g(θ³*a³)