Multilayer perceptron
之前提過的linear regressor 其實就是weighted sum:NN也是差不多的概念,不過在input和output中間多了一層hidden layer,就是某個mapping function (可以是nonlinear),稱為activation function,最後還是weighted sum output:
Activation functions
常見的有以下三種(其中一種就是構成了logistic regression):sklearn default是用relu function,通常使用relu function / tanh就能達到好的效果。
在sklearn中使用multi-layer perceptron如下:
上面是1-hidden layer,如果要改變hidden layer數目的話,hidden_layer_sizes這個參數應該是要傳至少2-element array 。
solver參數就是設定learning algorithm。
hidden layer中的neuron units控制了model complexity:
1-unit case等同於logistic regression,產生了linear decision boundary,明顯是underfitting。
如果不是只有一個hidden layer,會構成龐大的NN組織,這也就是deep learning的deep名稱的由來:
兩個hidden layers有更好的score (就這個dataset來說):
L2 Regularization Alpha
降低model complexity,MLP也可以使用L2 regularization(懲罰大的sum of squares of weights):feature normalization也會有顯著影響!
沒有留言:
張貼留言