做者|Renu Khandelwal
編譯|VK
來源|Medium網絡
激活函數有助於決定咱們是否須要激活神經元。若是咱們須要發射一個神經元那麼信號的強度是多少。機器學習
激活函數是神經元經過神經網絡處理和傳遞信息的機制函數
在神經網絡中,z是輸入節點與節點權值加上誤差的乘積。z的方程與線性方程很是類似,取值範圍從+∞到-∞學習
若是神經元的值能夠從負無窮到正無窮變化,那麼咱們就沒法決定是否須要激活神經元。這就是激活函數幫助咱們解決問題的地方。.net
若是z是線性的,那麼咱們就不能解決複雜的問題。這是咱們使用激活函數的另外一個緣由。3d
有如下不一樣類型的激活函數blog
爲何咱們須要這麼多不一樣的激活函數,我怎麼決定用哪個呢?資源
讓咱們回顧一下每個激活函數,並瞭解它們的最佳使用位置和緣由。這將幫助咱們決定在不一樣的場景中使用哪一個激活函數。文檔
這是最簡單的函數get
若是z值高於閾值,則激活設置爲1或yes,神經元將被激活。
若是z值低於閾值,則激活設置爲0或no,神經元不會被激活。
它們對二分類頗有用。】
Sigmoid函數是一種光滑的非線性函數,無扭結,形狀相似於S形。
它預測輸出的機率,所以被用於神經網絡和邏輯迴歸的輸出層。
因爲機率範圍在0到1之間,因此sigmoid函數值存在於0到1之間。
可是若是咱們想分類更多的是或不是呢?若是我想預測多個類,好比預測晴天、雨天或陰天,該怎麼辦?
Softmax激活有助於多類分類
Sigmoid激活函數用於兩類或二類分類,而softmax用於多類分類,是對Sigmoid函數的一種推廣。
在softmax中,咱們獲得了每一個類的機率,它們的和應該等於1。當一個類的機率增大時,其餘類的機率減少,所以機率最大的類是輸出類。
例如:在預測天氣時,咱們能夠獲得輸出機率,晴天爲0.68,陰天爲0.22,雨天爲0.20。在這種狀況下,咱們以最大機率的輸出做爲最終的輸出。在這種狀況下咱們預測明天將是晴天。
Softmax計算每一個目標類的機率除以全部可能的目標類的機率。
對於雙曲tanh函數,輸出以0爲中心,輸出範圍在-1和+1之間。
看起來很像Sigmoid。實際上雙曲tanh是縮放的s形函數。與Sigmoid相比,tanh的梯度降低做用更強,所以比Sigmoid更受歡迎。
tanh的優勢是,負輸入將被映射爲強負,零輸入將被映射爲接近零,這在sigmoid中是不會發生的,由於sigmoid的範圍在0到1之間
ReLU本質上是非線性的,這意味着它的斜率不是常數。Relu在0附近是非線性的,但斜率不是0就是1,所以具備有限的非線性。
範圍是從0到∞
當z爲正時,ReLU的輸出與輸入相同。當z爲0或小於0時,輸出爲0。所以,當輸入爲0或低於0時,ReLU會關閉神經元。
全部的深度學習模型都使用Relu,但因爲Relu的稀疏性,只能用於隱含層。稀疏性指的是空值或「NA」值的數量。
當隱層暴露於必定範圍的輸入值時,RELU函數將致使更多的零,從而致使更少的神經元被激活,這將意味着更少的神經網絡交互做用。
ReLU比sigmoid或tanh更積極地打開或關閉神經元
Relu的挑戰在於,負值變爲零下降了模型正確訓練數據的能力。爲了解決這個問題,咱們有Leaky ReLU
a的值一般是0.01
在Leaky ReLU中,咱們引入了一個小的負斜率,因此它的斜率不是0。這有助於加快訓練。
Leaky ReLU的範圍從-∞到+∞
原文連接:https://medium.com/@arshren/neural-networks-activation-functions-e371202b56ff
歡迎關注磐創AI博客站:
http://panchuang.net/
sklearn機器學習中文官方文檔:
http://sklearn123.com/
歡迎關注磐創博客資源彙總站:
http://docs.panchuang.net/