久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

徹底理解機(jī)器學(xué)習(xí) SVM 模型

 taotao_2016 2023-03-02 發(fā)布于河北

概要

1.1 簡介

自從大半年前接觸到SVM以來,,感覺一直沒怎么把SVM整明白,。直到最近上的《模式識別》課程才仿佛打通了我的任督二脈,使我終于搞清楚了SVM的來龍去脈,,所以寫個博客作個總結(jié),。
SVM是什么? 先來看看維基百科上對SVM的定義(https://zh./wiki/支持向量機(jī)):
支持向量機(jī)(英語:support vector machine,,常簡稱為SVM,又名支持向量網(wǎng)絡(luò))是在分類與回歸分析中分析數(shù)據(jù)的監(jiān)督式學(xué)習(xí)模型與相關(guān)的學(xué)習(xí)算法,。給定一組訓(xùn)練實例,,每個訓(xùn)練實例被標(biāo)記為屬于兩個類別中的一個或另一個,SVM訓(xùn)練算法創(chuàng)建一個將新的實例分配給兩個類別之一的模型,,使其成為非概率二元線性分類器,。SVM模型是將實例表示為空間中的點(diǎn),這樣映射就使得單獨(dú)類別的實例被盡可能寬的明顯的間隔分開,。然后,,將新的實例映射到同一空間,并基于它們落在間隔的哪一側(cè)來預(yù)測所屬類別,。
如果從未接觸SVM的話,,維基的這一大段解釋肯定會讓你一頭霧水。簡單點(diǎn)講,,SVM就是一種二類分類模型,,他的基本模型是的定義在特征空間上的間隔最大的線性分類器,SVM的學(xué)習(xí)策略就是間隔最大化,。

1.2 直觀理解

我們先來看看下面這個圖:
圖片
圖1.1
圖中有分別屬于兩類的一些二維數(shù)據(jù)點(diǎn)和三條直線,。如果三條直線分別代表三個分類器的話,,請問哪一個分類器比較好,?
我們憑直觀感受應(yīng)該覺得答案是H3。首先H1不能把類別分開,,這個分類器肯定是不行的,;H2可以,但分割線與最近的數(shù)據(jù)點(diǎn)只有很小的間隔,,如果測試數(shù)據(jù)有一些噪聲的話可能就會被H2錯誤分類(即對噪聲敏感,、泛化能力弱),。H3以較大間隔將它們分開,這樣就能容忍測試數(shù)據(jù)的一些噪聲而正確分類,,是一個泛化能力不錯的分類器,。
對于支持向量機(jī)來說,數(shù)據(jù)點(diǎn)若是圖片維向量,,我們用圖片維的超平面來分開這些點(diǎn),。但是可能有許多超平面可以把數(shù)據(jù)分類。最佳超平面的一個合理選擇就是以最大間隔把兩個類分開的超平面,。因此,,SVM選擇能夠使離超平面最近的數(shù)據(jù)點(diǎn)的到超平面距離最大的超平面。
以上介紹的SVM只能解決線性可分的問題,,為了解決更加復(fù)雜的問題,,支持向量機(jī)學(xué)習(xí)方法有一些由簡至繁的模型:
  • 線性可分SVM
當(dāng)訓(xùn)練數(shù)據(jù)線性可分時,通過硬間隔(hard margin,,什么是硬,、軟間隔下面會講)最大化可以學(xué)習(xí)得到一個線性分類器,即硬間隔SVM,,如上圖的的H3,。
  • 線性SVM
當(dāng)訓(xùn)練數(shù)據(jù)不能線性可分但是可以近似線性可分時,通過軟間隔(soft margin)最大化也可以學(xué)習(xí)到一個線性分類器,,即軟間隔SVM,。
  • 非線性SVM
當(dāng)訓(xùn)練數(shù)據(jù)線性不可分時,通過使用核技巧(kernel trick)和軟間隔最大化,,可以學(xué)習(xí)到一個非線性SVM,。

線性可分SVM——硬間隔

考慮如下形式的線性可分的訓(xùn)練數(shù)據(jù)集:圖片
其中圖片是一個含有圖片個元素的列向量, 即圖片;圖片是標(biāo)量,圖片,圖片時表示圖片屬于正類別,圖片時表示圖片屬于負(fù)類別。
注: 本文中,圖片,、圖片,、圖片等都是(列)向量,,有的文章一般用圖片表示一個向量而用圖片表示所有圖片組成的一個矩陣,注意區(qū)分,。
回憶一下感知機(jī)的目標(biāo): 找到一個超平面使其能正確地將每個樣本正確分類,。感知機(jī)使用誤分類最小的方法求得超平面,不過此時解有無窮多個(例如圖1.1的H2和H3以及它倆的任意線性組合),。而線性可分支持向量機(jī)利用間隔最大化求最優(yōu)分離超平面,這時解是唯一的,。

2.1 超平面與間隔

一個超平面由法向量圖片和截距圖片決定,其方程為圖片, 可以規(guī)定法向量指向的一側(cè)為正類,另一側(cè)為負(fù)類。下圖畫出了三個平行的超平面,,法方向取左上方向,。
注意: 如果圖片圖片都是列向量,即圖片會得到圖片圖片的點(diǎn)積(dot product, 是一個標(biāo)量),等價于圖片圖片
圖片
圖2.1
為了找到最大間隔超平面,,我們可以先選擇分離兩類數(shù)據(jù)的兩個平行超平面,,使得它們之間的距離盡可能大。在這兩個超平面范圍內(nèi)的區(qū)域稱為“間隔(margin)”,,最大間隔超平面是位于它們正中間的超平面,。這個過程如上圖所示。

2.2 間隔最大化

將高數(shù)里面求兩條平行直線的距離公式推廣到高維可求得圖2.1中margin的圖片:
圖片
我們的目標(biāo)是使圖片最大, 等價于使圖片最大:
圖片
上式的  是為了后續(xù)求導(dǎo)后剛好能消去,,沒有其他特殊意義,。
同時也不要忘了有一些約束條件:
圖片
總結(jié)一下,間隔最大化問題的數(shù)學(xué)表達(dá)就是
圖片
通過求解上式即可得到最優(yōu)超平面圖片圖片,。具體如何求解見2.4和2.5節(jié),。

2.3 支持向量

在線性可分的情況下,訓(xùn)練數(shù)據(jù)集的樣本點(diǎn)中與分離超平面距離最近的數(shù)據(jù)點(diǎn)稱為支持向量(support vector),,支持向量是使圖片中的約束條件取等的點(diǎn),,即滿足
圖片
的點(diǎn)。也即所有在直線圖片或直線圖片的點(diǎn),。如下圖所示:
圖片
圖 2.2
在決定最佳超平面時只有支持向量起作用,,而其他數(shù)據(jù)點(diǎn)并不起作用(具體推導(dǎo)見2.4節(jié)最后)。如果移動非支持向量,,甚至刪除非支持向量都不會對最優(yōu)超平面產(chǎn)生任何影響,。也即支持向量對模型起著決定性的作用,這也是“支持向量機(jī)”名稱的由來,。

2.4 對偶問題

如何求解式圖片呢,?
我們稱式圖片所述問題為原始問題(primal problem), 可以應(yīng)用拉格朗日乘子法構(gòu)造拉格朗日函數(shù)(Lagrange function)再通過求解其對偶問題(dual problem)得到原始問題的最優(yōu)解。轉(zhuǎn)換為對偶問題來求解的原因是:
  • 對偶問題更易求解,,由下文知對偶問題只需優(yōu)化一個變量圖片且約束條件更簡單,;
  • 能更加自然地引入核函數(shù),進(jìn)而推廣到非線性問題,。
首先構(gòu)建拉格朗日函數(shù),。為此需要引進(jìn)拉格朗日乘子(Lagrange multiplier)圖片。則拉格朗日函數(shù)為:
圖片
因此,,給定一個圖片圖片, 若不滿足式圖片的約束條件,,那么有
圖片
否則,若滿足式圖片的約束條件,,有
圖片
結(jié)合式圖片圖片知,,優(yōu)化問題
圖片
與式圖片所述問題是完全等價的。
根據(jù)拉格朗日對偶性,,式圖片所述問題即原始問題的對偶問題是:
圖片
以上具體推導(dǎo)細(xì)節(jié)可參見書籍《統(tǒng)計學(xué)習(xí)方法》或者知乎文章拉格朗日對偶性
為了求得對偶問題的解,,需要先求得圖片圖片圖片的極小再求對圖片的極大。
(1) 求圖片: 對拉格朗日函數(shù)求導(dǎo)并令導(dǎo)數(shù)為0,,有:
圖片圖片
將上面兩式代入圖片

圖片

所以,,
圖片
(2) 求圖片圖片的極大:
等價于式圖片圖片求極大,也等價于式圖片取負(fù)數(shù)后對圖片求極小,,即
圖片
同時滿足約束條件:
圖片
至此,,我們得到了原始最優(yōu)化問題圖片和對偶最優(yōu)化問題圖片圖片,。
由slater條件知,,因為原始優(yōu)化問題的目標(biāo)函數(shù)和不等式約束條件都是凸函數(shù),并且該不等式約束是嚴(yán)格可行的(因為數(shù)據(jù)是線性可分的), 所以存在圖片,圖片,圖片,,使得圖片,圖片是原始問題的解,,圖片是對偶問題的解。這意味著求解原始最優(yōu)化問題圖片可以轉(zhuǎn)換為求解對偶最優(yōu)化問題圖片,、圖片,。
slater 條件: 原始問題一般性表達(dá)為
圖片
則其拉格朗日函數(shù)為
圖片
假設(shè)原始問題目標(biāo)函數(shù)圖片和不等式約束條件圖片都是凸函數(shù),原始問題等式約束圖片都是仿射函數(shù),,且不等式約束圖片是嚴(yán)格可行的,,即存在圖片,對所有圖片都有圖片,,則存在圖片,圖片,圖片,,使圖片是原始問題的解,圖片,圖片是對偶問題的解,。
那么如何求解優(yōu)化問題圖片,、圖片的最優(yōu)解圖片呢?不難發(fā)現(xiàn)這是一個二次規(guī)劃問題,,有現(xiàn)成的通用的算法來求解,。
事實上通用的求解二次規(guī)劃問題的算法的復(fù)雜度正比于訓(xùn)練數(shù)據(jù)樣本數(shù),所以在實際應(yīng)用中需要尋求更加高效的算法,,例如序列最小優(yōu)化(Sequential Minimal Optimiation, SMO)算法,。
假設(shè)我們現(xiàn)在求得了圖片,、圖片的最優(yōu)解圖片,則根據(jù)式圖片可求得最優(yōu)圖片
圖片
因為至少存在一個圖片(若不存在,,即圖片全為0,,則圖片, 即圖片,顯然不行), 再根據(jù)KKT條件,即
圖片
所以至少存在一個圖片, 使圖片, 即可求得最優(yōu)圖片:
圖片
至此,,所以我們就求得了整個線性可分SVM的解,。求得的分離超平面為:
圖片
則分類的決策函數(shù)為
圖片
再來分析KKT條件里的互補(bǔ)條件,對于任意樣本圖片,,總會有圖片或者圖片,。則有若圖片,此樣本點(diǎn)不是支持向量,,對模型沒有任何作用,;若圖片,此樣本點(diǎn)位于最大間隔邊界上,,是一個支持向量,,如下圖所示。
圖片
圖2.3
此外,,當(dāng)樣本點(diǎn)是非支持向量時,,因為圖片, 所以SVM的解中的求和項中第圖片項就為0,所以SVM的解圖片,、圖片可簡化為如下形式:
圖片圖片
類似的,,判別函數(shù)也可轉(zhuǎn)換成如下形式:
圖片所以,整個SVM的解只與支持向量SV有關(guān),,與非支持向量無關(guān),。這也就解釋了2.3節(jié)的結(jié)論,即在決定最佳超平面時只有支持向量起作用,,而其他數(shù)據(jù)點(diǎn)并不起作用,。

線性SVM——軟間隔

在前面的討論中,我們一直假定訓(xùn)練數(shù)據(jù)是嚴(yán)格線性可分的,,即存在一個超平面能完全將兩類數(shù)據(jù)分開,。但是現(xiàn)實任務(wù)這個假設(shè)往往不成立,例如下圖所示的數(shù)據(jù),。
圖片
圖3.1

3.1 軟間隔最大化

解決該問題的一個辦法是允許SVM在少量樣本上出錯,,即將之前的硬間隔最大化條件放寬一點(diǎn),為此引入“軟間隔(soft margin)”的概念,。即允許少量樣本不滿足約束
圖片
為了使不滿足上述條件的樣本點(diǎn)盡可能少,,我們需要在優(yōu)化的目標(biāo)函數(shù)圖片里面新增一個對這些點(diǎn)的懲罰項。最常用的是hinge損失:
圖片
即若樣本點(diǎn)滿足約束條件損失就是0, 否則損失就是圖片,則優(yōu)化目標(biāo)圖片變成
圖片
其中圖片稱為懲罰參數(shù),圖片越小時對誤分類懲罰越小,,越大時對誤分類懲罰越大,,當(dāng)圖片取正無窮時就變成了硬間隔優(yōu)化。實際應(yīng)用時我們要合理選取圖片,,圖片越小越容易欠擬合,,圖片越大越容易過擬合,。
如果我們引入“松弛變量”圖片, 那么式圖片可重寫成
圖片
上式所述問題即軟間隔支持向量機(jī),。

3.2 對偶問題

圖片表示的軟間隔支持向量機(jī)依然是一個凸二次規(guī)劃問題,和硬間隔支持向量機(jī)類似,,我們可以通過拉格朗日乘子法將其轉(zhuǎn)換為對偶問題進(jìn)行求解,。式圖片對應(yīng)的拉格朗日函數(shù)為
圖片類似2.4節(jié),為了求得對偶問題的解,,我們需要先求得圖片圖片,、圖片圖片的極小再求對圖片圖片的極大。
以下兩步和2.4節(jié)幾乎完全一樣,,除了最后對圖片的約束條件略有不同。
(1) 求圖片: 將圖片分別對圖片圖片圖片求偏導(dǎo)并令為0可得
圖片圖片圖片
將上面三個式子代入式圖片并進(jìn)行類似式圖片的推導(dǎo)即得
圖片
注意其中的圖片被消去了,。
(2) 求圖片圖片的極大:
圖片圖片求極大,,也等價于式圖片取負(fù)數(shù)后對圖片求極小,即
圖片
同時滿足約束條件:
圖片
至此,,我們得到了原始最優(yōu)化問題圖片和對偶最優(yōu)化問題圖片,、圖片
類似2.4節(jié)地,,假設(shè)我們現(xiàn)在通過通用的二次規(guī)劃求解方法或者SMO算法求得了圖片,、圖片的最優(yōu)解圖片,則根據(jù)式圖片可求得最優(yōu)圖片
圖片
再根據(jù)KKT條件,,即
圖片
可求得整個軟間隔SVM的解,,即:
圖片圖片
其中圖片需滿足圖片
對于任意樣本圖片,,若圖片,,此樣本點(diǎn)不是支持向量,該樣本對模型沒有任何的作用,;若圖片,,此樣本是一個支持向量。
若滿足圖片,,進(jìn)一步地,,若圖片, 由式圖片圖片,即剛好圖片,樣本恰好在最大間隔邊界上,;若圖片,,有圖片,此時若圖片則該樣本落在最大間隔內(nèi)部,,若圖片則該樣本落在最大間隔內(nèi)部即被錯誤分類,。
如下圖所示。
圖片
圖3.2
因此,,我們有與2.4節(jié)相同的結(jié)論,,最優(yōu)超平面只與支持向量有關(guān)而與非支持向量無關(guān)。

3.3 懲罰參數(shù) 

對于不同懲罰參數(shù)圖片,,SVM結(jié)果如下圖所示
圖片
圖 3.3
再來看看我們的原始目標(biāo)函數(shù):
圖片
對于更加一般化的問題,,可將上述式子抽象成:
圖片
前一項可以理解為“結(jié)構(gòu)風(fēng)險(structural risk)”,用來描述所求模型的某些性質(zhì)(SVM就是要求間隔最大),;第二項稱為“經(jīng)驗風(fēng)險(empirical risk)”,,用來描述模型與訓(xùn)練數(shù)據(jù)的契合程度(即誤差)。而參數(shù)圖片就是用于對二者的折中,即我們一方面要求模型要滿足某種性質(zhì)另一方面又想使模型與訓(xùn)練數(shù)據(jù)很契合,。
從正則化角度來講,,圖片稱為正則化項,圖片稱為懲罰參數(shù),,圖片越大即對誤分類的懲罰越大(要求模型對訓(xùn)練模型更契合),,這可能會存在過擬合;圖片越小即相對更加看重正則化項,,此時可能存在欠擬合,。

非線性SVM——核技巧

前面介紹的都是線性問題,但是我們經(jīng)常會遇到非線性的問題(例如異或問題),,此時就需要用到核技巧(kernel trick)將線性支持向量機(jī)推廣到非線性支持向量機(jī),。需要注意的是,不僅僅是SVM,,很多線性模型都可以用核技巧推廣到非線性模型,,例如核線性判別分析(KLDA)。

4.1 核函數(shù)

如下圖所示,,核技巧的基本思路分為兩步:使用一個變換將原空間的數(shù)據(jù)映射到新空間(例如更高維甚至無窮維的空間),;然后在新空間里用線性方法從訓(xùn)練數(shù)據(jù)中學(xué)習(xí)得到模型。
圖片
圖 4.1
怎樣映射到特征空間,?
先來看看核函數(shù)的定義,,
設(shè)圖片是輸入空間(歐式空間圖片的子集或離散集合),又設(shè)圖片是特征空間(希爾伯特空間),,如果存在一個圖片圖片的映射圖片使得對所有圖片,,函數(shù)圖片滿足條件圖片則稱圖片為核函數(shù),,圖片為映射函數(shù),式中圖片圖片圖片的內(nèi)積,。
通常,,直接計算圖片比較容易而通過圖片圖片計算圖片并不容易。而幸運(yùn)的是,,在線性支持向量機(jī)的對偶問題中,,無論是目標(biāo)函數(shù)還是決策函數(shù)都只涉及到輸入樣本與樣本之間的內(nèi)積,因此我們不需要顯式地定義映射圖片是什么而只需事先定義核函數(shù)圖片即可,。也就是說,,在核函數(shù)圖片給定的情況下,可以利用解線性問題的方法求解非線性問題的支持向量機(jī),,此過程是隱式地在特征空間中進(jìn)行的,。

4.2 正定核

由上面的介紹可知,,我們只需要定義核函數(shù)就可以了,。但是如何不通過映射圖片判斷給定的一個函數(shù)圖片是不是核函數(shù)呢?或者說,,圖片需要滿足什么條件才是一個核函數(shù),。
通常所說的核函數(shù)就是正定核函數(shù),下面不加證明的給出正定核的充要條件,,具體證明略顯復(fù)雜,,有興趣的可以參考《統(tǒng)計學(xué)習(xí)方法》。
設(shè)圖片,圖片是定義在圖片上的對稱函數(shù),,如果對任意的圖片,,圖片對應(yīng)的Gram矩陣圖片是半正定矩陣,則圖片是正定核,。
雖然有了上述定義,,但是實際應(yīng)用時驗證圖片是否是正定核依然不容易,因此在實際問題中一般使用已有的核函數(shù),,下面給出一些常用的核函數(shù),。
  • 多項式核函數(shù)(polynomial kernel function)
    圖片
  • 高斯核函數(shù)(Guassian kernel function)
    圖片

4.3 非線性支持向量機(jī)

如前4.1、4.2所述,,利用核技巧可以很簡單地把線性支持向量機(jī)擴(kuò)展到非線性支持向量機(jī),,只需將線性支持向量機(jī)中的內(nèi)積換成核函數(shù)即可。下面簡述非線性支持向量機(jī)學(xué)習(xí)算法,。
  • 首先選取適當(dāng)?shù)暮撕瘮?shù)圖片和適當(dāng)?shù)膮?shù)圖片,,構(gòu)造最優(yōu)化問題
    圖片
  • 再利用現(xiàn)成的二次規(guī)劃問題求解算法或者SMO算法求得最優(yōu)解圖片
  • 選擇圖片的一個滿足圖片的分量圖片,,計算
    圖片
  • 構(gòu)造決策函數(shù):
    圖片

總結(jié)

任何算法都有其優(yōu)缺點(diǎn),,支持向量機(jī)也不例外。
支持向量機(jī)的優(yōu)點(diǎn)是:
  1. 由于SVM是一個凸優(yōu)化問題,所以求得的解一定是全局最優(yōu)而不是局部最優(yōu),。
  2. 不僅適用于線性線性問題還適用于非線性問題(用核技巧),。
  3. 擁有高維樣本空間的數(shù)據(jù)也能用SVM,這是因為數(shù)據(jù)集的復(fù)雜度只取決于支持向量而不是數(shù)據(jù)集的維度,,這在某種意義上避免了“維數(shù)災(zāi)難”,。
  4. 理論基礎(chǔ)比較完善(例如神經(jīng)網(wǎng)絡(luò)就更像一個黑盒子)。
支持向量機(jī)的缺點(diǎn)是:
  1. 二次規(guī)劃問題求解將涉及m階矩陣的計算(m為樣本的個數(shù)), 因此SVM不適用于超大數(shù)據(jù)集,。(SMO算法可以緩解這個問題)
  2. 只適用于二分類問題,。(SVM的推廣SVR也適用于回歸問題;可以通過多個SVM的組合來解決多分類問題)
作者|SMON   
鏈接|https://www.zhihu.com/people/tang-shu-sen-77
整理  | 數(shù)據(jù)STUDIO

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點(diǎn)擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多