Stanford機器學習---第四周.神經網絡模型

第四周 神經網絡模型Neural Networks Model

關鍵詞:

       複雜的非線性分類器、大腦的學習算法、神經網絡模型、手寫識別

寫在前面的話:

       初學者剛開始接觸神經網絡可能會比較難理解,筆者也是一口氣學完第五週的課程纔有底氣回頭寫這一週的梳理總結。從數值計算的角度,如果說之前的線性迴歸、邏輯迴歸都是二維矩陣之間的運算的話,那麼神經網絡又多了一維;實際上,邏輯迴歸就是沒有隱藏層(Hidden Layer)的神經網絡,即只有輸入層和輸出層,還是直接看模型來的痛快。

神經網絡模型:


該圖是最簡單的神經網絡,共有3層,輸入層Layer1;隱藏層Layer2;輸出層Layer3,每層都有多個激勵函數ai(j).通過層與層之間的傳遞參數Θ得到最終的假設函數hΘ(x)。我們的目的是通過大量的輸入樣本x(作爲第一層),訓練層與層之間的傳遞參數(經常稱爲權重),使得假設函數儘可能的與實際輸出值接近h(x)≈y(代價函數J儘可能的小)

邏輯迴歸模型:


很容易看出,邏輯迴歸是沒有隱藏層的神經網絡,層與層之間的傳遞函數就是θ。


接下來言歸正傳,讓我們進一步講一講神經網絡Neural network 

==========================不怎麼華麗的分割線========================

(一)神經網絡----大腦的學習算法

      神經網絡就是模擬神經元與神經元構成的網絡中電信號的傳播方式,對於單個神經元來說,軸突可以伸向多個細胞體傳遞信息,又可以同時接收其他多個神經元傳來的信息,因此一個神經元可以想象成一個單元unit.

     Andrew Ng根據大腦皮層的工作機智,設想到是否存在一種學習算法,可以模擬大腦皮層同時處理視、聽、觸覺的統一的功能,總之,神經網絡是大腦的學習算法。



(二)神經網絡---複雜的非線性分類器

邏輯迴歸通常是得到線性的假設函數,對於複雜的、計算量龐大的、非線性假設函數的求解,往往藉助神經網絡實現,可以說神經網絡是更高級的學習算法。



★★★(三)神經網絡模型---正向傳播


前向傳播的理解對於後續反向傳播神經網絡算法Back propagation algorithm的理解至關重要,如圖一個隱藏層有三個單元的神經網絡,a1(2)表示第2層第一個單元的激勵函數,a2(2)表示第二層第二個單元的激勵函數,a3(2)表示第二層第三個單元的激勵函數,它們的求解是一個sigmoid函數(上一週的內容有介紹),也就是將樣本輸入x作爲第一層的激勵函數a(1),用第一層到第二層的傳遞參數Θ(1)傳遞有:a(2)=g(Θ(1)a(1)),再利用同樣的方法有hΘ(x)=g(Θ(2)a(2)),假設函數得到。

前向傳播的意思很明朗:輸入層--->隱藏層--->輸出層。

注意,所有的前提是已經知道層與層之間的傳遞函數Θ(1)Θ(2),至於如何得到我們就在下一章講解。


(四)神經網絡與邏輯運算

舉幾個例子

Example1 邏輯與AND

下圖中左半部分是神經網絡傳遞參數(權重)的設計和輸出表達式,右上是sigmoid函數,右下是邏輯運算的真值表。


Example2 邏輯或OR

下圖中左半部分是神經網絡傳遞參數(權重)的設計和輸出表達式,右半部分是邏輯運算的真值表。


把相關的網絡關聯起來,有如下這個例子:

Example3 邏輯亦或XOR

將三種邏輯運算結合起來,構成的三層的網絡能夠實現更爲複雜的亦或XOR運算,可見神經網絡的功能遠比普通的邏輯迴歸要強大的多得多。


(五)多類別分類問題、手寫識別

對於多類別分類的問題,也就是輸出值y = 1,2,3,4,5.....10又有可能,爲了方便數值運算,我們用10×1的列向量表示,譬如 y = 5,有


所以,多類別分類問題只需要把最後一層輸出層用多個單元表示即可,譬如手寫識別,輸入的是手寫的照片(數字0-9),如果有4000組樣本、每個像素點用20×20的點陣表示成一行,輸入向量爲4000×400的矩陣X,經過神經網絡傳遞後,輸出一個假設函數(列向量),取最大值所在的行號即爲假設值(0-9中的一個)。



對於神經網絡如何訓練傳遞參數Θ,我們將在下一週講解,筆者才疏學淺,歡迎大家批評指正~微笑






發佈了201 篇原創文章 · 獲贊 45 · 訪問量 25萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章