支持向量機(SVM)算法分析——周志華的西瓜書學習


1.線性可分

對於一個數據集:

如果存在一個超平面X能夠將D中的正負樣本精確地划分到S的兩側,超平面如下:

那么數據集D就是線性可分的,否則,不可分。

 w稱為法向量,決定了超平面的方向;b為位移量,決定了超平面與原點的距離。

樣本空間中的任意點x到超平面X的距離(不太熟悉的可以復習高數中空間幾何那一章的內容)可以寫為:

使得下面兩式成立的訓練樣本稱為支持向量:

兩個異類支持向量(一個等於+1,一個等於-1)到超平面的距離之和為:

它稱之為“間隔”

 想找到最大間隔的划分超平面,就是使最大:

等價於:

這就是支持向量機的基本模型。

對偶問題:

上式的拉格朗日函數可寫為:

其中,

對參數w和b求導可得:

將上式帶入到拉格朗日函數中,消去w和b,得到對偶表達式:

采用SMO算法完成對偶問題的求解:

原始論文地址:http://www-ai.cs.uni-dortmund.de/LEHRE/SEMINARE/SS09/AKTARBEITENDESDM/FOLIEN/Joerg_Nitschke_Sequential_minimal_optimization.pdf

核函數:

對於非線性可分的訓練樣本通過核函數將原始空間映射到更高維的特征空間來使得樣本線性可分。

表示x映射后的特征向量,那么新的模型可以表示為:

可以得出:

對偶問題表示為:

這里涉及到,這是樣本映射到高維特征空間后的內積,我們不直接計算,設計一個函數:

重寫為:

求解出,即可求出模型:

我會在優化理論里面更仔細地分析核函數。

軟間隔和正則化:

軟間隔允許某些樣本不滿足約束,優化目標可以改寫為:

是非凸、非連續的函數,采用其他函數來代替,稱為surrogate loss。通常surrogate loss是凸的連續函數且是的上界。下面有三種常用的代理損失函數:

若采用hinge損失:

引入松弛變量

得到拉格朗日函數:

 

其中是拉格朗日乘子。

對偶問題:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM