SVM學習總結(一)如何學習SVM

2021-07-25 22:45:34 字數 906 閱讀 8548

前段時間一直在鑽研svm演算法,原先一直覺得乙個非常簡單的演算法,沒想到在學的時候還挺難,主要還是對凸優化方面的知識不太熟悉,以後得加強,下面主要說說svm演算法的學習思路(對小白初學者)。

通過各種資料的對比學習,我個人覺得使用李航的《統計學習方法》第七章,再輔助以網上的資料應該就差不多了,然後再寫個smo演算法就可以了。(下文提到的書都指《統計學習方法》)主要學習步驟如下:

第一階段:

(1)理解svm思想

認真讀一遍書中第七章第一節,看完後應該知道svm大體的求解思想,如果看書看的不是很清楚可以在網上看看其他人寫的教程,這個階段主要以理解svm思想為主。

第二階段

(1)準備工作

認真看一遍書中的附錄c(沒學過凸優化的一定要看,你要不看的話,我可以非常確定,你一定理解不了svm的求解思路)

(2)理解線性可分支援向量機、線性支援向量機、非線性支援向量機及核函式的重要作用

這個階段應該將書上第七章全部精度一遍,一些證明也一定要看。

第三階段:

(1)看懂smo演算法大體流程。

主要看書上smo演算法流程,如果看的一知半解,沒關係,到原始碼中學習。

(2)實現smo演算法

如果有時間可以通過看書中7.4和smo演算法原**自己構建乙個,如果你沒時間,可以看我稍後找的乙個例子原始碼,初學不太建議直接看林智仁教授的libsvm演算法,因為工程包中加入了一些演算法加速的東西。

第四階段:

(1)跑幾個簡單例子,然後慢慢變複雜。

1、kkt條件

(講的比較好,看了此篇文章可以大體明白構造拉格朗日函式求極值的原因和kkt條件的由來)

2、拉格朗日乘子(不等式約束轉化問題)

3、大名頂頂的台灣林智仁libsvm原始碼

4、支援向量機通俗導論(理解svm的三層境界)latex版

SVM學習總結

1 為啥要大於等於1,為啥是1 w 上面的函式間隔為啥可以忽略?這裡做了簡化處理,把支援向量到分離超平面的距離簡化為1了。相當於做了乙個標準化,這就是規定。因為函式間隔通過調整,通過w 和b的等比例變化,是可以忽略的。你可以把1 w 和 s.t.後面的條件同時放大縮小同樣的倍數。直觀的理解就是,法向...

SVM學習總結

1.svm概述 支援向量機 support vector machines,svm 是一種二類分類模型。它的基本模型是定義在特徵空間上的間隔最大的線性分類器。支援向量機還包括核技巧,這使它成為實質上的非線性分類器。支援向量機的學習策略是間隔最大化,可形式化為乙個求解凸二次規劃的問題,也等價於正則化的...

機器學習總結 三 SVM

svm是一種二分類模型,是一種在特徵空間中尋找間隔最大化的分離超平面的線性分類器。利用間隔最大化求得的最優分離超平面是唯一的。分離超平面產生的分類結果是最魯棒的,泛化能力最強。採用其他策略可能得到的分類面有無數個,無法判斷哪乙個最優 函式間隔 樣本點到超平面的函式間隔為y w x b 可以用來表示分...