使用支持向量機(jī)
我們不推薦自己編寫相關(guān)代碼實(shí)現(xiàn)支持向量機(jī)的代價(jià)函數(shù)最小化紊册。因此,我們可以使用現(xiàn)有的支持向量機(jī)的軟件包快耿,如:liblinear囊陡,libsvm等。
現(xiàn)假設(shè)n表示特征變量的個(gè)數(shù)掀亥,m表示訓(xùn)練數(shù)據(jù)的個(gè)數(shù)撞反,則:
- 當(dāng)n>>m時(shí),我們推薦使用不帶核函數(shù)的支持向量機(jī)搪花,即線性核函數(shù)遏片。同時(shí),我們也可以使用邏輯回歸模型撮竿。
- 當(dāng)n較小吮便,而m適中時(shí)(如n = 1~1000,m = 10~10000)幢踏,我們推薦使用高斯核函數(shù)支持向量機(jī)髓需。
- 當(dāng)n<<m時(shí),我們推薦先構(gòu)建或增加更多的特征變量房蝉,再使用線性核函數(shù)或邏輯回歸模型僚匆。
注:
- 在使用高斯核函數(shù)支持向量機(jī)時(shí),由于原特征變量的取值范圍差異較大搭幻。因此咧擂,在使用高斯核函數(shù)支持向量機(jī)之前推薦進(jìn)行歸一化操作。
- 神經(jīng)網(wǎng)絡(luò)模型或許能在以上任意情況下運(yùn)行良好檀蹋,但其訓(xùn)練速度過慢松申。
除了高斯核函數(shù)外,我們還有以下核函數(shù):
- 多項(xiàng)式核函數(shù)(Polynomial Kernel)
- 字符串核函數(shù)(String kernel)
- 卡方核函數(shù)( chi-square kernel)
- 直方圖交集核函數(shù)(histogram intersection kernel)
······
注:并不是所有的相似函數(shù)都能夠成為有效的核函數(shù)。只有滿足Mercer's Theorem的核函數(shù)才能被支持向量機(jī)的優(yōu)化軟件包正確處理攻臀。
Question:
Suppose you are trying to decide among a few different choices of kernel and are also choosing parameters such as C, σ2, etc. How should you make the choice?
A. Choose whatever performs best on the training data.
B. Choose whatever performs best on the cross-validation data.
C. Choose whatever performs best on the test data.
D. Choose whatever gives the largest SVM margin.
該問題的正確答案為B焕数。
多分類問題
我們可以使用之前介紹的一對(duì)多方法來解決該問題,我們也使用支持向量機(jī)內(nèi)置的多類分類問題的軟件包來解決該問題刨啸。