線性可分支援向量機
我們知道兩類樣本點其實是有很多分割超平面的,那麼哪條最優呢?若兩個集合有部分相交,那麼又如何定義超平面使得兩個集合“儘量”分開呢?
現在就從這兩個問題入手來解決SVM分類器的目標函式是什麼。假如有正例和負例兩類樣本點,現在就要去作一條分割線,但是這些樣本的地位並不完全一樣,距離直線最近的樣本,算出它們離直線的距離,如果兩邊的不相等,那麼我們總可以通過移動直線來使得樣本到直線的最短距離相等。
我們知道直線的截距式為:,如果換成向量就為:,而線方程的一般式為時,點到直線的距離為:
其實這個東西可以這樣來看待,我們知道垂直直線的斜率方向其實就是(A,B)這樣一個向量,所以對於這絕對值而言,如果樣本點位於向量的正方向就是正數,位於負向的話就是一個負數。設現在不考慮正負,因此把絕對值去掉,那麼就等價於
現在就等價於中,,。如果W已經是左輪歸一化的了,那就直接把樣本點帶到方程當中,如果是正數,那它就位於正半區,它的距離是幾,負數就位於負半區,然後距離是幾,只要瓦特是歸一化過的。
現在將所有樣本點都帶入求距離,假設有ñ個樣本點,那就可以求出ñ個距離來,這ñ個距離總有一個最小值。現在把樣本點比作炸藥包,現在需要畫一條直線離這些炸藥包最遠,我們希望這些線離炸藥包越遠越好,離得最近的那個炸藥包最遠。
我們現在有一條直線
首先來說一下數學記號:假設給定一個特徵空間上的訓練資料集其中xi為實數,有可能是ñ維的向量,yi只能取+1或-1,是標量,要麼是正例,要麼是負例。
給定線性可分訓練資料集,通過間隔最大化得到分離超平面為
根據題設有:
y(xi)> 0 <=> yi = + 1,估計值y(xi)是正的就可以判定這個樣本是正例,反過來如果實際值是正的,我們就希望估計值y(xi)是正的,因此這是一個等價關係否則為負例<=>yi* y(xi)> 0恆成立現在將w,b等比例縮放(即歸一化)得到: ,
表示的是樣本點到直線的幾何距離,如果是正的yi就為正,負的yi就為負,不管怎麼(幾何距離乘上它的類別)都是大於零的。現在就是要求對於所有的樣本點來講求的最小值,再遍歷所有的w和b,求最大值,讓距離線的最小值取最大,因此得到目標函式:
。由於我們知道,就是說樣本點到直線的最小几何距離為1,因此求最小值就是1,原問題就轉化為了求的最大值,所以最終就得到了目標數:,約束條件是.w和b都是仿射(線性)的,目標函式是二次的。
舉例:給定三個資料點:正例點,,負例點,求線性可分支援向量機。給定目標函式:
除了a3是負例,其他都是正例,所以條件才是這個。所以現在不妨讓a3=a1+a2然後回代過去就得到了關於a1,a2最多是二次的目標函式。
因此怎麼樣求那個支撐向量呢?不等於零的那個係數所對應的那個樣本點就是支撐向量。