首先要清楚:
1,線性可分,即能找到超平面,對於硬間隔支援向量機
2,部分點不可分,總體近似可分,近似線性可分,對應軟間隔支援向量機
3,線性不可分,需要用到核函式
軟間隔支援向量機要加個鬆弛變數ξ。
我們都知道,硬間隔滿足,yi * ( wi * x + b )≥1,這是函式間隔,是幾何間隔的||w|| 倍。
由於一些點出現在兩條線的間隔內部,函式間隔的約束條件不滿足,所以引入鬆弛變數ξ,使yi * ( wi * x + b ) + ξ ≥1,即:yi * ( wi * x + b ) ≥1 - ξ。對於這些離群點有對應的鬆弛變數,其他的點是沒有鬆弛變數ξ的。
你需要明白兩個概念,函式距離(函式間隔)和幾何距離(幾何間隔),先看個圖:
平行直線1與2之間的垂直距離d,就是幾何距離,也就是我們平常計算的兩條平行直線之間的距離。函式間隔,就是圖中的d帽(暫時這麼稱呼):
它是兩條平行直線在某一條軸線(例如x軸)上的距離。在二維平面,它是豎著的,如圖中的藍色線標註,也可以是橫著的,圖中未畫出。
函式距離和幾何距離之間有關係,在本例中為:
||w||是矩陣w的模
在本例中,函式距離(d帽)就是直線1減去直線2的距離,是1。把這個數帶入函式距離(d帽),然後乘以2,就得到兩條虛線間的間隔
看到了嗎?這就是當初我們要最大化的那個式子。
還記得那個限制條件嗎?
不等式右邊的1 ,就是函式距離(d帽)。
也就是硬間隔支援向量機,它的數學模型為:
支援向量機(support vector machine,svm)是一種二分類的線性分類器,它的思想是找到一條直線或超平面,使得樣本分佈在其兩側。
二分類的思路,簡單說就是確定一條直線,也就是確定引數w和b:
引數w和b知道後,再給乙個樣本x,帶入到上面的公式,如果y≥+1,就判斷為正類(+1),如果y≤-1,就判斷為負類(-1)。
這條直線或超平面怎麼找呢?
如圖所示,我們要分開這兩個類別,假設標籤為。要想更好的分開這兩類資料,在資料上劃出兩條線,使這兩類資料之間的間隔最大,對應圖中的虛線。在兩條虛線的中間畫一條直線,對應圖中橙色的線,就是我們需要找的分割線。
最大化兩條虛線之間的距離,這兩條虛線的距離=d*2
兩條直線之間的距離公式
所以,我們要最大化這個式子
也就等於最小化||w||,等價於最小化||w||^2,即:
最小化:
這裡多個1/2,因為對w求偏導時,可以把2抵消掉。由最大化轉為最小化,以及中間一些細節的處理,就是數學抽象建模的過程。
另一方面,
我們要最小化這個式子,這個式子的表達是有限制條件的:
這兩個限制條件的意思是:當樣本是是-1類時,樣本要在虛線的下方;當樣本是是+1類時,樣本要在虛線的上方。為了表述方便,我們把這兩個公式綜合成乙個式子,即:
最後,我們抽象出來的數學模型為:
下面的工作就是解這個式子,來確定w,b。
支援向量機鬆弛變數的理解
1,線性可分,即能找到超平面,對於硬間隔支援向量機 2,部分點不可分,總體近似可分,近似線性可分,對應軟間隔支援向量機 3,線性不可分,需要用到核函式 軟間隔支援向量機要加個鬆弛變數 我們都知道,硬間隔滿足,yi wi x b 1,這是函式間隔,是幾何間隔的 w 倍。由於一些點出現在兩條線的間隔內部...
支援向量機(二) 鬆弛變數處理異常點
在博文支援向量機 一 線性可分支援向量機 一文中,我們介紹了訓練資料集線性可分的情況下,應用硬間隔最大化策略得到最優超平面。但是在實際情況中,訓練集有很大可能存在雜訊,使得某些樣本偏離正常範圍,稱這些樣本為異常點,如下圖所示 這時如果應用硬間隔最大化,得到的最優超平面是圖中的黑色實線 而如果不遷就左...
SVM支援向量機的理解
support vector machine 為什麼一定要研究線性分類?首先說一下為什麼對資料集一定要說線性可分或線性不可分,難道不可以非線性分開嗎?想要非線性分開當然可以,實際上svm只是把原來線性不可分的資料點對映到乙個新的空間,轉換為在新空間中線性可分資料來進行分類的。如果返回到原來資料的空間...