sklearn-4.11邏輯回歸,SVM,SGDClassifier的應(yīng)用

模型選擇:

前面說了邏輯回歸和SVM的區(qū)別和聯(lián)系,主要是線性是否可分,但是實(shí)際二分類中特征向量維數(shù)起碼數(shù)十,成百上千的,雖說降維之后看看特征是否能夠線性可分,但再加上數(shù)據(jù)本身都是參雜各種噪點(diǎn),單從這個方面做模型選擇就有點(diǎn)難。
ng從特征數(shù)量n和樣本數(shù)量m的關(guān)系給出了如下推薦:

如果特征數(shù)量大到和樣本數(shù)量差不多,或者特征數(shù)量遠(yuǎn)遠(yuǎn)大于樣本數(shù)量,則選用LR或者線性核的SVM;(eg.n=10000,m=10-1000)
如果特征的數(shù)量小,樣本的數(shù)量正常,則選用SVM+高斯核函數(shù);(eg.n=1-1000,m=10-10000)
如果特征的數(shù)量小,而樣本的數(shù)量很大,則需要手工添加一些特征從而變成第一種情況。

參數(shù)選擇:

SVM
sklearn的SVM需要調(diào)參的參數(shù)主要有核函數(shù),懲罰項(xiàng)C,gamma
核函數(shù)主要是RBF ,Linear, Poly, Sigmoid。
sklearn默認(rèn)為RBF,高斯核。ng說這也是非線性一般選用的核。
Linear線性核,Poly為多項(xiàng)式核,Sigmoid是tanh函數(shù),這是神經(jīng)網(wǎng)絡(luò)的常用激活函數(shù),也就是說這可以看成一種神經(jīng)網(wǎng)絡(luò)。

懲罰項(xiàng)C,即模型的容錯能力,C越大對錯誤項(xiàng)懲罰越大,則訓(xùn)練集的劃分效果越好,過了就是過擬合,high variance了,反之,則泛化程度越高,過了就是high bias。

gamma是sklearn自己帶的參數(shù),理解是gamma越高,支持向量越少。

LR
sklearn的LR需要調(diào)參的參數(shù)主要正則化選擇:penalty。
有L1,L2,一般為防止過擬合用L2,因?yàn)長1用直接使一些特征歸零。
但是如果L2正則之后還是過擬合,就可以嘗試用L1.
另如果有很多的特征,且其中還有重要特征,也可以用L1將不重要的特征歸零。

優(yōu)化算法選擇參數(shù):solver
‘liblinear’:L1,L2
‘newton-cg’, ‘lbfgs’, ‘sag’:L2
‘sag’:隨機(jī)平均梯度下降,針對大數(shù)據(jù)mini-batch

說到大數(shù)據(jù)不得不說另一種線性分類器:

SGDClassifier

我覺得這個分類器跟其他線性分類器差不多,只是它用的是mini-batch來做梯度下降,在處理大數(shù)據(jù)的情況下收斂更快。
對于特別大的數(shù)據(jù)還是優(yōu)先使用SGDClassifier,其他的線性可能很慢或者直接跑不動。
果然官方這樣說:Linear classifiers (SVM, logistic regression, a.o.) with SGD training.
通過選擇loss來選擇不同模型,hinge是SVM,log是LR
sklearn.linear_model.SGDClassifier(loss=’hinge’, penalty=’l2’, alpha=0.0001, l1_ratio=0.15, fit_intercept=True, max_iter=None, tol=None, shuffle=True, verbose=0, epsilon=0.1, n_jobs=1, random_state=None, learning_rate=’optimal’, eta0=0.0, power_t=0.5, class_weight=None, warm_start=False, average=False, n_iter=None)
關(guān)于loss function

參考:
http://www.stardustsky.net/index.php/post/53.html
https://blog.csdn.net/sun_shengyun/article/details/53811483

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。