為什么需要非線性激活函數


 

 

這是神經網絡正向傳播方程,為什么不能直接使a[1] = z[1] , a[2] = z[2] ,即 g ( z ) = z 

這是因為他們直接把輸入值輸出了

為了說明問題,若a[2] = z[2 這個模型的輸出y或y帽不過是你輸入特征x的線性組合

a[1] = z[1] = w[1]x + b[1]

a[2] = z[2] = w[2]x + b[2]

帶入a[1]的定義,就發現,a[2] = w[2]( w[1]x + b[1] )+ b[2] = ( w[2]w[1] )x  +  ( w[2]b[1] +b[2]  )

                                                                                         =            w' x    +    b'

可以看出,如果用線性激活函數,或者叫恆等激活函數,那么神經網絡只是把輸入的線性組合再輸出

后續的例子中會看到,如果使用線性激活函數或者不使用激活函數,那么無論你的神經網絡有多少層,一直在做的只是計算線性激活函數,所以不如直接去掉全部隱藏層。因為這種算法和沒有任何隱藏層的標准邏輯logistic回歸是一樣的

 

只有一個地方可以使用線性激活函數g(z) = z 就是如果你要機器學習的是回歸問題,所以y是一個實數,比如說,你想預測房地產價格,所以y不是0和1,而是一個實數,那么用線性激活函數也許可行。但是隱藏單元不能用線性激活函數,它們可以用ReLU或者tanh或者帶泄露的ReLU或者別的東西。

所以唯一可以用線性激活函數的地方通常是輸出層

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM