1. 程式人生 > >從線性到非線性模型-三層神經網路

從線性到非線性模型-三層神經網路

從線性到非線性模型

1、線性迴歸,嶺迴歸,Lasso迴歸,區域性加權線性迴歸
2、logistic迴歸,softmax迴歸,最大熵模型
3、廣義線性模型
4、Fisher線性判別和線性感知機
5、三層神經網路
6、支援向量機

五、三層神經網路

一、神經單元

​ 深度學習的發展一般分為三個階段,感知機–>三層神經網路–>深度學習(表示學習)。早先的感知機由於採用線性模型,無法解決異或問題,表示能力受到限制。為此三層神經網路放棄了感知機良好的解釋性,而引入非線性啟用函式來增加模型的表示能力。三層神經網路與感知機的兩點不同

1)非線性啟用函式的引入,使得模型能解決非線性問題

2)引入啟用函式之後,不再會有0損失的情況,損失函式採用對數損失,這也使得三層神經網路更像是三層多元(神經單元)邏輯迴歸的複合

這裡寫圖片描述

神經網路中每一個神經元都可以看作是一個邏輯迴歸模型,三層神經網路就是三層邏輯迴歸模型的複合,只是不像邏輯迴歸中只有一個神經元,一般輸入層和隱藏層都是具有多個神經元,而輸出層對應一個logistic迴歸單元或者softmax單元,或者一個線性迴歸模型。

這裡對一些常用的非線性啟用函式做一些簡單的介紹(影象,性質,導數) 這裡寫圖片描述這裡寫圖片描述這裡寫圖片描述這裡寫圖片描述

sigmoid(z)=11+ez,tanh(z)=ezezez+ez,relu(z)=max{0,z},leakyrelu(z)={αz,z<0z,z0 性質:對於以上幾個非線性啟用函式都可以看作是{0,z<01,z0 ,的一個近似。採用近似的一個重要原因是為了求導,早起常採用平滑的sigmoid和tanh函式,然而我們可以發現這兩個函式在兩端都存在導數極小的情況,這使得多層神經網路在訓練時梯度消失,難以訓練。而Relu函式則很好的解決兩端導數極小的問題,也是解決神經網路梯度消失問題的一種方法。

導數

sig(z)=11+ez,d(z)=ez(1+ez)2=ez+1(1+ez)21(1+ez)2=1(1+ez)(11+ez)2=z(1z)