注:如下的默認爲2分類算法
一、SVM原理:函數
(1)輸入空間到特徵空間得映射學習
所謂輸入空間便是輸入樣本集合,有部分狀況輸入空間與特徵空間是相同得,有一部分狀況兩者是不一樣的,而模型定義都是定義到特徵空間的,特徵空間是指全部的輸入特徵向量,特徵向量是利用數值來表示的n維向量,輸入空間到特徵空間的映射,也就是對所用的特徵進行數值量化(本人這麼理解),與機率中的隨機變量是同樣的形式,隨機變量是由樣本空間到實數集的映射,例如:拋硬幣的樣本空間是{正面,反面},映射到實數集便爲{1,0}優化
(2)求得間隔最大化最優分離超平面spa
所謂分離超平面,便是可以將全部的特徵向量劃分爲兩類的平面或直線(特徵有兩個變爲直線,多個變爲平面,即幾維的問題),好比二維的狀況下,一條線,可以座標系中的全部點劃分爲兩類,最優意爲能夠將全部的點儘可能進行正確的劃分,間隔最大化意爲:在兩類區域中各自距離直線最近的點到直線的距離是最大的,所以能夠求得惟一的間隔最大化最優分離超平面w*x+b*=0,因爲是距離所以是由法向量和截距決定,w*爲法向量,b*爲截距,此處對這個方程進行解釋:法向量是從點到平面的垂直方向,在幾何中求平面的方程時,平面方程能夠設爲通常方程Ax+By+Cz+D=0,這即可以看做爲(A,B,C)*(x,y,z)即w*=(A,B,C),特徵向量x=(x,y,z),b*=D.同理在求直線直線可設爲Ax+By+C=0,所以求超平面時即爲求w*,b*.3d
(3)求分類決策函數blog
所謂分類決策函數只是一個符號函數f(x)=sign(w*x+b*),sign是一個符號函數,取輸入值的符號(正負),在上邊取得法向量和截距之後與輸入特徵向量運算後將結果帶入sign()獲得分類基礎
二、基礎概念學習方法
(1)函數間隔變量
上邊已經說了是求到超平面的最近距離的點的距離最大的超平面,所以求距離是很重要的一步,根據點到平面的距離公式分子爲|w*x+b|,因爲分母是相同的,因此|w*x+b|能夠相對的表示出距離的大小。y(向量)在此表示的是每一個特徵向量的分類,而由上邊已經知道,分類決策是求的符號的,所以能夠肯定w*x+b與y的符號(相對應元素)是相同的,所以能夠利用y(w*x+b)來表示分類的正確性和確信度,這就是函數間隔:
注:超平面關於特徵空間的函數間隔是值全部特徵向量到超平面的函數間隔中的最小值
(2)幾何間隔
利用函數間隔來具體衡量時,會出現一個問題,當法向量和截距同時擴大兩倍時,超平面不變,可是函數間隔卻便爲原來的兩倍,所以引入幾何間隔的概念,其實簡單的來講,幾何間隔即是函數間隔除以法向量的模,具體公式以下:
同時由超平面關於特徵空間的幾何間隔是全部特徵向量到超平面的幾何間隔中的最小值
(3)支持向量
在線性可分的狀況下,特徵空間中距離分離超平面的距離最近的特徵向量爲支持向量
三、硬間隔最大化的求解方法
這裏解釋一下何爲硬間隔最大化,這個是相對訓練數據集或說特徵空間來講的,假如數據是徹底的線性可分的,則學習到的模型能夠稱爲硬間隔支持向量機,除此以外還有軟間隔支持向量機(近似線性可分),非線性支持向量機等,最終的目的都是爲了求的w*,b*
(1)最大間隔法推導過程
根據以上的表述能夠將求w*和b*歸約到兩個條件之上,首先求最大的關於特徵空間的幾何間隔,其次的約束條件爲全部的幾何間隔必須都大於關於特徵空間的幾何間隔,則約束最優化問題以下:
按照幾何間隔與函數間隔的關係(都是關於超平面的),這個問題又能夠以下表述:
在此能夠將以上的式子進行優化,上邊的第一個式子的分子(關於超平面函數間隔)會變化,而第二個式子不等號右邊的(關於超平面函數間隔)也一樣幅度變化,所以w與b也會一樣幅度的變化,所以關於超平面的函數間隔變化不會影響上述的式子,所以能夠利用1來代替。此時求max(1/||w||)與min(1/2*||w||)是同樣的,一個在分母,一個在分子,至於爲什麼會取1/2*||w||^2,求導的時候好計算1/2*2=1,以下:
(2)學習的對偶算法
引入拉格朗日對偶性,經過求解對偶問題獲得原始問題的最優解,這樣作的優勢:首先能夠下降計算的難度,其次天然引入核函數(非線性可分數據的處理方式)利用拉格朗日對偶性能夠構造等價對偶函數(更多請參考統計學習方法),以下:
此處由定理用於求w*和b*,以下:
所以根據上邊的約束最優化問題便可求的拉格朗日算子,則可求的w*與b*