支持向量機(jī) 分類 線性可分支持向量機(jī) 線性支持向量機(jī) 非線性支持向量機(jī) 1 線性可分支持向量機(jī) 首先假設(shè)數(shù)據(jù)是線性可分的,學(xué)習(xí)目標(biāo)是在特征空間中找到一個分離超平面,能將實例分到不同的類,這樣的超平面是無限多的,但如果要求間隔最大化,那解就是唯一的。 上面所說的間隔是幾何間隔,但我們先介紹一下函數(shù)間隔。 函數(shù)間隔其實就是數(shù)據(jù)點x離超平面的遠(yuǎn)近表示,也就是距離,然后他的符號可以表示預(yù)測的正確與否,它的定義公式是:γi=yi(w*xi+b),但函數(shù)間隔有個問題如果成比例的改變w和b,超平面不會改變,但函數(shù)間隔是以前的兩倍了,所以我們對w加些約束,例如使w向量的第二范數(shù)為 1,這時的函數(shù)間隔就成為了幾何間隔,支持向量機(jī)的核心思想也是它的優(yōu)化方向:間隔最大化中的間隔指的就是這個幾何間隔。 根據(jù)函數(shù)間隔和幾何間隔的定義,最后支持向量機(jī)的算法也就是最大間隔法,求的是二分之一的w向量的平方的最小值。 求線性可分支持向量機(jī)的最優(yōu)化問題,應(yīng)用拉格朗日對偶性,先求出對偶問題的解阿爾法,根據(jù)阿爾法求原始問題的解w和b,這種算法稱為線性可分支持向量機(jī)的對偶學(xué)習(xí)算法,是它的基本算法。 2 線性支持向量機(jī) 因為現(xiàn)實生活中數(shù)據(jù)不可能像我們剛才說的假設(shè)一樣是完全線性可分的,免不了有噪聲,所以有線性支持向量機(jī),使向量機(jī)在數(shù)據(jù)有噪聲的情況下依然可用。 原理:在線性SVM的基礎(chǔ)上加入一個松弛變量埃普西隆和懲罰參數(shù)c,這樣得到的間隔最大化稱為軟間隔最大化 3 非線性支持向量機(jī) 有的數(shù)據(jù)是非線性的,例如正例都在一個圓內(nèi),反例都在圓外,像這樣的問題,線性法是求不了解的 非線性支持向量機(jī)的思想是利用核技巧,將非線性空間的特征點映射到線性空間中,再用線性法來求解 常用的核函數(shù)有: 多項式核函數(shù) 高斯核函數(shù) 字符串核函數(shù) 4 SMO算法(sequential minimal optimization 序列最小最優(yōu)化) 它是一種啟發(fā)式算法,基本思路是如果所有變量都滿足最優(yōu)化問題的KKT條件,那么這個最優(yōu)化問題的解就得到了,因為KKT條件是最優(yōu)化問題的充分必要條件。 SMO算法的主要思想是將原問題不斷分解為子問題并對子問題求解,以求解原問題。