原文於Quara: What is the role of the activation function in a neural network?
By Sebastian Raschka,
Author of Python Machine Learning,
Reseracher applying ML to computational bio.
架構為Linear Regression→Logistic Regression→Neural Network
線性回歸 Linear Regression
就是針對某一個問題(例如:房價的預測問題),利用訓練樣本(training sample)解一個線性模型,然後利用這個線性模型去預測新的數據所對應的結果。
Net Input Function:
net(x)=b+x1w1+x2w2+...xnwn = z
邏輯回歸 Logistic Regression
將線性分類模型中的輸出z輸入到一個非線性的激活函數(activation function)中
例如 Sigmoid function:
這個activation function返回的是一個probability(某一個樣本屬於group 1的機率): P(y=1|x)
接著,在這個activation function後面加一個階乘函數(step function)
如果sigmoid function輸出大於等於0.5,則被預測是Class 1
邏輯回歸分類器可以下圖來表示
邏輯回歸模型是一個線性模型,雖然sigmoid function為非線性,但其分類面(decision surface)是線性的,所以仍可被視為線性分類器
例如:
由於input sample是線性可分的,所以回歸模型的效果很好
當input sample不是線性可分時,邏輯回歸模型的效果不佳,例如
這時考慮非線性的分類器(non-linear classifier),例如多層神經網絡(multi-layer neural network)
下面的例子中含有一個隱藏層(hidden layer)來進行分類
神經網路Neural Network
這個例子中包含
- Input Layer中三個單元 (x0是bias,x1, x2為座標)
- Hidden Layer中有200個sigmoid function
- Ouput Layer中有1個sigmoid function與step function輸出output
結論:
- 邏輯回歸分類器包含一個非線性的activation function,但仍為權值的線性組合,所以邏輯回歸分類器是一個"generalized" linear model
- Activation function在神經網路中用於透過非線性的加權組合產生非線性的分類面(non-linear decision boundary)
常見的activation function