Stanford 機器學習筆記 Week4 Neural Networks: Representation

Motivations

Non-linear Hypotheses

線性迴歸不能解決的問題:

在分類問題中,分類邊界實際上是一個由各個參數構成的多項式。當參數很少時(比如只有x1,x2),多項式

還可以構造出來,但是當參數很多(假設有x1….x100),構造出的多項式的項數將非常多。對於n個參數的2

次多項式,項數大約是n^2/2個。

一個問題:給定一幅圖,如何確定是不是一輛汽車?

一種方法是把圖片的每個像素點作爲一個參數,該點的亮度是這個參數的值,這樣訓練集就構成了。一個

100*100分辨率的圖,如果使用線性迴歸的話,分類邊界多項式將有大約5 * 10^7項。

Neurons and the Brain

神經網絡是一種模擬大腦的算法。在80s和90s非常火,90s末期熱度下降,近年因爲硬件計算能力的提升,

再次成爲熱點。

生物學家曾經做過一個實驗,將耳朵與聽覺皮層的鏈接切斷,同時鏈接視神經和聽覺皮層,發現聽覺皮層同

樣可以學會處理視覺任務。這個實驗證明了大腦學習處理聽覺,視覺,觸覺等的方法是一樣的。因此,發現

這個算法可能會指引我們實現真正的AI。

Neural Networks

Model Representation I

神經元作爲神經網絡的基礎組成單位,通過樹突從身體其他部分獲得信息(input),在神經元內部進行處

理,通過軸突和其他神經元交換信息(output),是最小運算單元。

在神經網絡算法中每個logistic unit相當於一個神經元,它們接受輸入並根據係數向量計算sigmoid值(g(x) =

1/(1+e^(-x))),然後傳遞給其他logistic unit。神經網絡算法中係數向量θ又被稱爲權重向量。

這裏寫圖片描述
上圖表示了logistic unit互相傳遞信息的過程,其中第一列參數向量X被稱爲輸入層,最後一列被稱爲輸出

層,中間都稱爲隱藏層。x0和a0都是bias unit,值始終爲1。

這裏寫圖片描述

θ爲權重矩陣,表示第j層向第j+1層轉移時各logistic unit的權重,如上圖所示。它的大小爲j+1層unit數x * j

層unit數y+1(+1是bias unit)。運算依然使用sigmoid函數。

Model Representation II

令z(i),j 爲 a(i),j中g函數中內部的內容。則:

z(i+1) = θ(i)*a(i); a(i) = g(z(i));

再添加bias unit a(i),0 = 1。這樣就可以逐層遞推hθ(X)了。

遞推到hθ(X)最後一層時,做的實際上就是logistic regression,但是輸入的不再是X,X的一些線性組合,通

過逐層遞推過來,使得每個x(i)擁有更合適的權值,而不是像線性遞推中手動設定多項式。

Applications

Examples and Intuitions I

在sigmoid函數中有兩個特殊的點,x=4.0和-4.0時曲線的增長性快速下降接近定值1和-1。

通過設置好權重向量,logistic unit可以實現各種運算。比如當θ0 = -30 , θ1 = 20, θ2 = 20時,hθ(X) =

g( -30 + 20x1 + 20x2 ),這個函數可以模擬邏輯運算AND(寫出真值表就知道了)。又比如當θ0 = -10 ,

θ1 = 20, θ2 = 20時可以模擬OR運算。

Examples and Intuitions II

如上一節所述,通過控制權重向量可以模擬簡單邏輯運算。之後在神經網絡中下一層就可以使用上一層的簡

單運算結果實現更復雜的運算,這就是神經網絡的整體思路。

Multiclass Classification

用神經網絡算法做多類別分類實際還是使用1 vs all思想。假設有3個分類,最終結果hθ(X)是一個三元向量,

接近[0;0;1],[0;1;0],[1;0;0],hθ(X)(i)表示是不是第i分類的。

訓練集中每個數據表示爲(x(i),y(i) ),其中y(i)屬於[0;0;1],[0;1;0],[1;0;0]之一, x(i)就是參數向量。同時另

hθ(x(i))接近y(i)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章