中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么理解SVM

發布時間:2022-03-22 15:14:57 來源:億速云 閱讀:204 作者:iii 欄目:大數據

這篇文章主要介紹“怎么理解SVM”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“怎么理解SVM”文章能幫助大家解決問題。

SVM分類兩個點。已知兩個樣本點,如果用SVM模型,決策邊界就是線g,它的斜率為已知兩個樣本點斜率的垂直方向,并經過兩個點的中點。

怎么理解SVM

這條線g就是SVM認為的分類兩個樣本點的最好邊界線。

SVM分類多個點

怎么理解SVM

添加更多的樣本點,但是有意識地讓它們符合上面的分布,此時的最佳決策邊界發生變化了嗎?沒有。樣本點雖然多了,但是SVM認為起到支持作用的還是那兩個點,support vector就是它們,名字得來了,當然因此決策邊界也未變。以上這些都是直接觀察出來的,計算機是如何做這個事的?

還啟發我們,SVM建立決策邊界時,只關心距離決策邊界最近的那兩個樣本點,然后取距離它們都最遠的決策邊g ,認為g就是最佳決策邊界。

有了以上基礎,SVM目標函數的結構差不多就知道了:max ( min() ),SVM添加了一個約束,得到的好處是目標函數更精簡了:

arg max 1/||w|| 

s.t., y*f(x)>=1

注意,這個更精簡的目標函數,必須滿足上面的約束,它們是共生關系,缺一不可。

最大值轉化為求最小值。機器學習中,遇到目標函數求最大值的,都會轉化為求最小值,常規套路,SVM也不例外。

它也很簡單,分母最小,原式便能最大,即:

arg min  0.5*||w||^2 

s.t., y * f(x)>=1

目標函數為什么帶有系數0.5,沒有特殊原因,只不過求導時,0.5*2化簡方便。

這是常見的二次規劃問題,求解方法有很多種,拉格朗日方法、Lemke方法、內點法、有效集法、橢球算法等。

SVM的以上目標函數求解選用了拉格朗日方法,可以查閱資料,了解此求解方法,里面還用到KKT,轉化為先求w,b的最小值,然后再求alfa_i的最大值問題,進而求得參數w和b,至此完畢。

SVM還考慮了軟間隔,核函數問題。噪音點出現了。如下圖所示,有一個帶圈的噪音點出現在了右下角,決策邊界在哪里?

怎么理解SVM

如果決策邊界這樣,可以看出它不是好的決策邊界,因為噪音點是錯誤點,不應該拿它作為支持向量。

怎么理解SVM

克服噪音:松弛因子。SVM適當地放寬了約束條件,將 yi * f(xi) >=1,放寬為 yi *  f(xi) >=1-ei,這個間隔ei就是軟間隔。為什么要減去ei,而不是加上ei,因為前者可能使得更多的樣本點成立,比如第一幅圖中,作為正的支持向量點可能不滿足 yi * f(xi) >=1,但是可能滿足 yi *  f(xi) >=1-ei,這樣即便噪音點出現了,我們仍然可能得到第一幅的分類決策邊界。

ei在SVM中稱為松弛因子,SVM中用控制因子C來控制ei,當C很大時,ei發揮的作用很小,也就是松弛的很小;C很小時,ei發揮的作用很大,可能松弛的作用更強些。

以上介紹了SVM參數求解和軟間隔部分,它們還不是SVM最巧妙的部分SVM真正精彩之處在于將低維空間線性不可分問題轉化為高緯空間線性可分問題,比如一個數據集有3個特征,此時線性不可分,但是轉化成9個特征后,在此空間下可能就線性可分了,如下圖所示,在二維空間下線性不可分,轉化到三維下,就可以得到一個線性可分面。


怎么理解SVM


這是如何做到的?核函數將低維下的原始特征映射到了高維下。

數據映射到高維空間后,是否求解的復雜度陡增呢? 不會的。在低維空間下樣本點求內積的結果,只需花費O(1)時間復雜度直接轉化為高維下的內積結果。

說說SVM
目標函數和約束怎么得來的?

更容易理解SVM的目標函數和約束怎么得來的思路,因此,記錄下來,與大家一起分享。設 g(x) = wx+b,則樣本點到g(x)的距離為:

|g(x)| / ||w||

SVM 建立決策邊界時,只關心距離決策邊界最近的那兩個樣本點,然后取距離它們都最遠的決策邊,轉化為數學公式為:   

 max(min(|g(x)| / ||w||))    

將它化簡為:      

 max( 1/||w||)      

 s.t. yi*g(xi) >=1     

怎么想出來的?  

如果設 |g(x)| >= 1 ,則  min( |g(x)| / ||w|| ) = 1 / ||w||    ,  進一步地,max(min(|g(x)| / ||w||)) ,可以化簡為:

 max ( 1 / ||w|| )

那么, |g(x)| >= 1 ,如何化簡為 yi * g(xi)  >= 1 呢?  注意到 yi 是 第 i 個樣本的標簽值,要么為 1, 要么為 -1.   當 g(x) >= 0,代表為正例,即 yi = 1,當 g(x) < 0,代表負例,即 yi = -1,因此,|g(x)| =  yi * g(x) >= 1. 

OK.  接下來便是求解如下最優化目標和約束的優化問題:

 max( 1/||w||)      

 s.t. yi*g(xi) >=1  

關于“怎么理解SVM”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

svm
AI

荔浦县| 桂东县| 方正县| 友谊县| 藁城市| 伊宁县| 汝州市| 富裕县| 旬阳县| 禹州市| 峨边| 安阳市| 历史| 叙永县| 都安| 临西县| 凌海市| 渭源县| 襄垣县| 南昌县| 翁源县| 信宜市| 岳池县| 三穗县| 乐业县| 沂南县| 博白县| 德安县| 阳城县| 久治县| 德保县| 徐州市| 高碑店市| 金川县| 右玉县| 枣强县| 田阳县| 宿州市| 加查县| 曲阜市| 漠河县|