Machine Learning學習日記 — Coursera篇 (Week 4.2):Model Representation

Pandora123
4 min readJun 2, 2016

--

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。

隨堂練習

denote:註記

Ans:

a¹代表第一層(即輸入層x0,x1,x2,x3)

a²代表第二層,為a¹跟θ¹處理後的結果:g(θ¹*a¹)

(g(x)代表對x取sigmoid函數處理。)

a³代表第三層,為a²跟θ²處理後的結果:g(θ²*a²)

a⁴代表第四層(即輸出層),只有一個單位,為a³跟θ³處理後的結果:g(θ³*a³)

--

--