引知乎上的回答:
啟用函式是用來加入非線性因素的,因為線性模型的表達能力不夠。
以下,同種顏色為同類資料。某些資料是線性可分的,意思是,可以用一條直線將資料分開。比如下圖:
這時候你需要通過一定的機器學習的方法,比如感知機演算法(perceptron learning algorithm) 找到乙個合適的線性方程。但是有些資料不是線性可分的。比如如下資料:
第二組資料你就沒有辦法畫出一條直線來將資料區分開。這時候有兩個辦法,第乙個辦法,是做線性變換(linear transformation),比如講x,y變成x^2,y^2,這樣可以畫出圓形。如圖所示
如果將座標軸從x,y變為以x^2,y^2為標準,你會發現資料經過變換後是線性可分的了。大致示意圖如下
。另外一種方法是引入非線性函式。我們來看異或問題(xor problem)。以下是xor真值表
這個真值表不是線性可分的,所以不能使用線性模型,如圖所示
我們可以設計一種神經網路,通過啟用函式來使得這組資料線性可分。啟用函式我們選擇閥值函式(threshold function),也就是大於某個值輸出1(被啟用了),小於等於則輸出0(沒有啟用)。這個函式是非線性函式。神經網路示意圖如下:
其中直線上的數字為權重。圓圈中的數字為閥值。第二層,如果輸入大於1.5則輸出1,否則0;第三層,如果輸入大於0.5,則輸出1,否則0.我們來一步步算
第一層到第二層(閥值1.5)
第二層到第三層(閥值0.5)
可以看到第三層輸出就是我們所要的xor的答案。經過變換後的資料是線性可分的(n維,比如本例中可以用平面),如圖所示:
總而言之,啟用函式可以引入非線性因素,解決線性模型所不能解決的問題。
另一種角度的解釋:參考鏈結的第二個回答
啟用函式的作用
首先提一下啟用函式的一般形式,在我平時的學習中,我遇到過的一般是這四種形式,simoid,tanh,relu,softplus。s imoi d函式也 稱s曲線 f x 11 e x tanh f x tanh x relu f x m ax x 0 softmax f x lo g 1 exp x...
啟用函式的作用
使用pytorch弄乙個單層網路,但是啟用函式選擇線性函式,不然永遠達不到要求,啟用函式的作用,摘自知乎。f 稱為啟用函式或激勵函式 activation function 啟用函式的主要作用是完成資料的非線性變換,解決線性模型的表達 分類能力不足的問題 啟用函式的主要作用是改變之前資料的線性關係,...
啟用函式作用
在神經網路結構中,通過啟用函式將非線性的特性引入到神經網路中,從而讓神經網路可以理解 處理複雜的資料及問題。通常啟用函式的形式可以寫成 y f x 這裡的 x 是啟用函式f 的輸入,y 是 x經過啟用函式變換得到的輸出。通過f 將原來的輸入 x 對映成為另外一種形式表達y。通常在神經網路結構中常用的...