日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SVM(二)从拉格朗日对偶问题到SVM

發(fā)布時(shí)間:2023/12/20 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SVM(二)从拉格朗日对偶问题到SVM 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2.1 拉格朗日對偶(Lagrange duality)

???? 先拋開上面的二次規(guī)劃問題,先來看看存在等式約束的極值問題求法,比如下面的最優(yōu)化問題:

????????

??? 目標(biāo)函數(shù)是f(w),下面是等式約束。通常解法是引入拉格朗日算子,這里使用來表示算子,得到拉格朗日公式為

????????

??? L是等式約束的個(gè)數(shù)。

??? 然后分別對w和求偏導(dǎo),使得偏導(dǎo)數(shù)等于0,然后解出w和。至于為什么引入拉格朗日算子可以求出極值,原因是f(w)的dw變化方向受其他不等式的約束,dw的變化方向與f(w)的梯度垂直時(shí)才能獲得極值,而且在極值處,f(w)的梯度與其他等式梯度的線性組合平行,因此他們之間存在線性關(guān)系。(參考《最優(yōu)化與KKT條件》)

然后我們探討有不等式約束的極值問題求法,問題如下:

????????

??? 我們定義一般化的拉格朗日公式

??? 這里的和都是拉格朗日算子。如果按這個(gè)公式求解,會出現(xiàn)問題,因?yàn)槲覀兦蠼獾氖亲钚≈?#xff0c;而這里的已經(jīng)不是0了,若將調(diào)整成很大的正值,最后的函數(shù)結(jié)果是負(fù)無窮。因此我們需要排除這種情況,我們定義下面的函數(shù):

????

??? 這里的P代表primal。假設(shè)或者,那么我們總是可以調(diào)整和來使得有最大值為正無窮。而只有g(shù)和h滿足約束時(shí),為f(w)。這個(gè)函數(shù)的精妙之處在于,而且求極大值。(只有ai=0,g(w)<0或者ai>0,g(w)=0值才會最大)

??? 因此我們可以寫作

????

??? 這樣我們原來要求的min f(w)可以轉(zhuǎn)換成求了。???

????

??? 我們使用來表示。如果直接求解,首先面對的是兩個(gè)參數(shù),而也是不等式約束,然后再在w上求最小值。這個(gè)過程不容易做,那么怎么辦呢?

??? 我們先考慮另外一個(gè)問題

??? D的意思是對偶,將問題轉(zhuǎn)化為先求拉格朗日關(guān)于w的最小值,將和看作是固定值。之后在求最大值的話:

??? 這個(gè)問題是原問題的對偶問題,相對于原問題只是更換了min和max的順序,而一般更換順序的結(jié)果是Max Min(X) <= MinMax(X)。然而在這里兩者相等。用來表示對偶問題如下:

????

??? 下面解釋在什么條件下兩者會等價(jià)。假設(shè)f和g都是凸函數(shù),h是仿射的(affine,)。并且存在w使得對于所有的i,。在這種假設(shè)下,一定存在使得是原問題的解,是對偶問題的解。還有另外,滿足庫恩-塔克條件(Karush-Kuhn-Tucker, KKT condition),該條件如下:

????

??? 所以如果滿足了庫恩-塔克條件,那么他們就是原問題和對偶問題的解。讓我們再次審視公式(5),這個(gè)條件稱作是KKT dual complementarity條件。這個(gè)條件隱含了如果,那么。也就是說,時(shí),w處于可行域的邊界上,這時(shí)才是起作用的約束。而其他位于可行域內(nèi)部(的)點(diǎn)都是不起作用的約束,其。這個(gè)KKT雙重補(bǔ)足條件會用來解釋支持向量和SMO的收斂測試。

??? 這部分內(nèi)容思路比較凌亂,還需要先研究下《非線性規(guī)劃》中的約束極值問題,再回頭看看。KKT的總體思想是將極值會在可行域邊界上取得,也就是不等式為0或等式約束里取得,而最優(yōu)下降方向一般是這些等式的線性組合,其中每個(gè)元素要么是不等式為0的約束,要么是等式約束。對于在可行域邊界內(nèi)的點(diǎn),對最優(yōu)解不起作用,因此前面的系數(shù)為0。

2.2 線性可分

??? 重新回到SVM的優(yōu)化問題:

????

??? 我們將約束條件改寫為:

????

??? 從KKT條件得知只有函數(shù)間隔是1(離超平面最近的點(diǎn)),對于在線上的點(diǎn)(),前面的系數(shù),對于其他的不在線上的點(diǎn)(),極值不會在他們所在的范圍內(nèi)取得,因此前面的系數(shù),注意每一個(gè)約束式實(shí)際對應(yīng)一個(gè)訓(xùn)練樣本。

??? 看下面的圖:

??? 實(shí)線是最大間隔超平面,假設(shè)×號的是正例,圓圈的是負(fù)例。在虛線上的點(diǎn)就是函數(shù)間隔是1的點(diǎn),那么他們前面的系數(shù),其他點(diǎn)都是。這三個(gè)點(diǎn)稱作支持向量。構(gòu)造拉格朗日函數(shù)如下: ???

????

??? 注意到這里只有沒有是因?yàn)樵瓎栴}中沒有等式約束,只有不等式約束。

??? 下面我們按照對偶問題的求解步驟來一步步進(jìn)行,

????

??? 首先求解的最小值,對于固定的,的最小值只與w和b有關(guān)。對w和b分別求偏導(dǎo)數(shù)。

????

????

??? 并得到

????

??? 將上式帶回到拉格朗日函數(shù)中得到,此時(shí)得到的是該函數(shù)的最小值(目標(biāo)函數(shù)是凸函數(shù))

??? 代入后,化簡過程如下:

?????

  最后得到

???? 由于最后一項(xiàng)是0,因此簡化為

????

??? 這里我們將向量內(nèi)積表示為

??? 此時(shí)的拉格朗日函數(shù)只包含了變量。然而我們求出了才能得到w和b。

??? 接著是極大化的過程,

??? 前面提到過對偶問題和原問題滿足的幾個(gè)條件,首先由于目標(biāo)函數(shù)和線性約束都是凸函數(shù),而且這里不存在等式約束h。存在w使得對于所有的i,。因此,一定存在使得是原問題的解,是對偶問題的解。在這里,求就是求了

??? 如果求出了,根據(jù)即可求出w(也是,原問題的解)。然后

????

??? 即可求出b。即離超平面最近的正的函數(shù)間隔要等于離超平面最近的負(fù)的函數(shù)間隔

??? 關(guān)于上面的對偶問題如何求解,將在SMO算法一章中來闡明。

??? 這里考慮另外一個(gè)問題,由于前面求解中得到

????

??? 我們通篇考慮問題的出發(fā)點(diǎn)是,根據(jù)求解得到的,我們代入前式得到

????

??? 也就是說,以前新來的要分類的樣本首先根據(jù)w和b做一次線性運(yùn)算,然后看求的結(jié)果是大于0還是小于0,來判斷正例還是負(fù)例。現(xiàn)在有了,我們不需要求出w,只需將新來的樣本和訓(xùn)練數(shù)據(jù)中的所有樣本做內(nèi)積和即可。那有人會說,與前面所有的樣本都做運(yùn)算是不是太耗時(shí)了?其實(shí)不然,我們從KKT條件中得到,只有支持向量的,其他情況。因此,我們只需求新來的樣本和支持向量的內(nèi)積,然后運(yùn)算即可。

2.3 線性不可分

我們之前討論的情況都是建立在樣例線性可分的假設(shè)上,當(dāng)樣例線性不可分時(shí),我們可以嘗試使用核函數(shù)來將特征映射到高維,這樣很可能就可分了。然而,映射后我們也不能100%保證可分。那怎么辦呢,我們需要將模型進(jìn)行調(diào)整,以保證在不可分的情況下,也能夠盡可能地找出分隔超平面。

看下面兩張圖:

可以看到一個(gè)離群點(diǎn)(可能是噪聲)可以造成超平面的移動,間隔縮小,可見以前的模型對噪聲非常敏感。再有甚者,如果離群點(diǎn)在另外一個(gè)類中,那么這時(shí)候就是線性不可分了。

這時(shí)候我們應(yīng)該允許一些點(diǎn)游離并在在模型中違背限制條件函數(shù)間隔小于1)。我們設(shè)計(jì)得到新的模型如下(也稱軟間隔):

引入非負(fù)參數(shù)后(稱為松弛變量),就允許(1)某些樣本點(diǎn)的函數(shù)間隔小于1,即在最大間隔區(qū)間里面(2)函數(shù)間隔是負(fù)數(shù),即樣本點(diǎn)在對方的區(qū)域中。而放松限制條件后,我們需要重新調(diào)整目標(biāo)函數(shù),以對離群點(diǎn)進(jìn)行處罰,目標(biāo)函數(shù)后面加上的就表示離群點(diǎn)越多,目標(biāo)函數(shù)值越大,而我們要求的是盡可能小的目標(biāo)函數(shù)值。這里的C是離群點(diǎn)的權(quán)重,C越大表明離群點(diǎn)對目標(biāo)函數(shù)影響越大,也就是越不希望看到離群點(diǎn)。我們看到,目標(biāo)函數(shù)控制了離群點(diǎn)的數(shù)目和程度,使大部分樣本點(diǎn)仍然遵守限制條件。

模型修改后,拉格朗日公式也要修改如下:

這里的和都是拉格朗日乘子,回想我們在拉格朗日對偶中提到的求法,先寫出拉格朗日公式(如上),然后將其看作是變量w和b的函數(shù),分別對其求偏導(dǎo),得到w和b的表達(dá)式。然后代入公式中,求帶入后公式的極大值。整個(gè)推導(dǎo)過程類似以前的模型,這里只寫出最后結(jié)果如下:

此時(shí),我們發(fā)現(xiàn)沒有了參數(shù),與之前模型唯一不同在于又多了的限制條件。需要提醒的是,b的求值公式也發(fā)生了改變,改變結(jié)果在SMO算法里面介紹。先看看KKT條件的變化:

上面式子分別表明在兩條間隔線外的樣本點(diǎn)前面的系數(shù)為0,離群樣本點(diǎn)前面的系數(shù)為C,而支持向量(也就是在超平面兩邊的最大間隔線上)的樣本點(diǎn)前面系數(shù)在(0,C)上通過KKT條件可知,某些在最大間隔線上的樣本點(diǎn)也不是支持向量,相反也可能是離群點(diǎn)。

總結(jié)

以上是生活随笔為你收集整理的SVM(二)从拉格朗日对偶问题到SVM的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。