學(xué)習SVM時,關(guān)于類別選擇問題陷入了一個誤區(qū)驼侠,現(xiàn)在把這個過程記錄下來,希望有同樣疑問的童鞋也能注意一下谆吴。
如圖1所示倒源,直線方程為,設(shè)直線上方的"o"為正例句狼,直線下方的"+"為負例笋熬。當樣本點被超平面正確分類時,滿足條件腻菇,但是這個前提是假設(shè)直線上方的點為正例胳螟,下方的點為負例昔馋。
現(xiàn)在換一種打標簽的方式,現(xiàn)在我設(shè)直線下方的點為正例糖耸,上方的點為負例秘遏,顯然(比如說取直線下方的點,代入直線方程得嘉竟,而此時邦危,所以),也就是說舍扰,即使我把數(shù)據(jù)點正確分類了倦蚪,但是此時滿足的是而不是。那豈不是說明妥粟,如果我這樣打標簽的話审丘,SVM理論就不成立了?
答案當然不是勾给,但看似這樣想也沒錯滩报,問題究竟出在哪呢?
這是因為我們先入為主了播急,想像一下脓钾,如果讓你自己解決這個分類問題,你怎么解決桩警?現(xiàn)在已知的是數(shù)據(jù)點和它對應(yīng)的標簽可训,但你并不知道這條直線方程,好捶枢,現(xiàn)在我們的目標當然是求這個直線方程握截。
(1)假設(shè)直線上方數(shù)據(jù)點是正例,下方的是負例烂叔,根據(jù)SVM算法谨胞,我們求出直線方程是,此時數(shù)據(jù)點被正確分類蒜鸡,滿足胯努。
(2)再假設(shè)直線上方數(shù)據(jù)點是負例,下方的是正例逢防,根據(jù)SVM算法叶沛,我們求出直線方程是,注意忘朝,現(xiàn)在的直線方程雖然與是一樣的灰署,但卻反映了不同的問題,此時數(shù)據(jù)點被正確分類,滿足氓侧。(讀者可以把正例點代入驗證一下脊另。)
最后再舉一個簡單的例子來闡述一下這個問題:
引用李航老師《統(tǒng)計學(xué)習方法》中的例7.1:已知一個如圖1所示的訓(xùn)練數(shù)據(jù)集,其正例點是约巷,偎痛,負例點是,試求最大間隔分離超平面独郎。
解:
根據(jù)訓(xùn)練數(shù)據(jù)集構(gòu)造約束優(yōu)化問題:
解得:踩麦,,所以最大間隔分離超平面為:氓癌。數(shù)據(jù)點被正確分類谓谦。
現(xiàn)在把題目改動一下,設(shè),為負例點贪婉,為正例點反粥,則優(yōu)化問題變成:
解得:,疲迂,所以最大間隔分離超平面為:才顿。數(shù)據(jù)點被正確分類。
也就是說尤蒿,對于二分類問題郑气,不管選哪一類為正例,哪一類為負例腰池,都不影響分類的正確性尾组,分離超平面也是一樣的。不同的是示弓,一個超平面為讳侨,另一個超平面為,雖然表示的都是同一個超平面奏属,但本質(zhì)是不同的爷耀。這個差別保證了超平面一側(cè)的點代入后的符號與相應(yīng)的標簽y是一致的。