機器學習(四) SVM(2)

2021-07-23 11:33:51 字數 2008 閱讀 6743

如果w不滿足約束,也就是gi

(w)>

0 或hi

(w)≠

0 。這時由於

l 函式是無約束函式,αi

、βi 可以任意取值,因此∑k

i=1α

igi(

w)或∑li

=1βi

hi(w

) 並沒有極值,也就是說θp

(w)=

∞ 。

反之,如果w滿足約束,則∑k

i=1α

igi(

w)和∑li

=1βi

hi(w

) 都為0,因此θp

(w)=

f(w)

。綜上:θp

(w)=

,我們定義m×

m 維的矩陣k:ki

j=k(

xi,x

j)。這個矩陣被稱為核矩陣(kernel matrix)。ki

j=k(

xi,x

j)=ϕ

(x(i

))tϕ

(x(j

))=ϕ

(x(j

))tϕ

(x(i

))=k

(xj,

xi)=

kji

如果我們用ϕk

(x) 表示ϕ(

x)第k個元素的話,則對於任意向量z:zt

kz=∑

i∑jz

ikij

zj=∑

i∑jz

iϕ(x

(i))

tϕ(x

(j))

zj=∑

i∑jz

i∑kϕ

k(x(

i))ϕ

k(x(

j))z

j=∑k

∑i∑j

ziϕk

(x(i

))ϕk

(x(j

))zj

=∑k(

∑izi

ϕk(x

(i))

)2≥0

即k矩陣是半正定矩陣。事實上,k矩陣是對稱半正定矩陣,不僅是k函式有效的必要條件,也是它的充分條件。相關的證明是由james mercer給出的,被稱為mercer定理(mercer theorem)。

注:james mercer,1883-1932,英國數學家,英國皇家學會會員,畢業於劍橋大學。曾服役於英國皇家海軍,參加了日德蘭海戰。

mercer定理給出了不用找到ϕ(

x),而判定k(

x,z)

是否有效的方法。因此尋找ϕ(

x)的步驟就可以跳過了,直接使用k(

x,z)

替換上面公式中的⟨x

,z⟩ 即可。例如:wt

x+b=

∑i∈s

vαiy

(i)⟨

x(i)

,x⟩+

b=∑i

∈svα

iy(i

)k(x

(i),

x)+b

(6)

核函式不僅僅用在svm上,但凡在乙個演算法中出現了⟨x

,z⟩ ,我們都可以使用k(

x,z)

去替換,這可以很好地改善我們演算法的效率。因此,核函式更多的被看作是一種技巧而非理論(kernel trick)。

我們之前討論的情況都是建立在樣例線性可分的假設上,當樣例線性不可分時,我們可以嘗試使用核函式來將特徵對映到高維,這樣很可能就可分了。然而,對映後我們也不能100%保證可分。那怎麼辦呢,我們需要將模型進行調整,以保證在不可分的情況下,也能夠盡可能地找出分隔超平面。

上面的右圖中可以看到乙個離群點(可能是雜訊),它會造成超平面的移動,從而導致邊距縮小,可見以前的模型對雜訊非常敏感。再有甚者,如果離群點在另外乙個類中,那麼這時候就是線性不可分的了。

機器學習之svm(2)神奇的拉個朗日

那麼我們才能將我們的這個式子優化呢?我們知道這種帶條件的優化很煩人,我們怎麼才能讓我們的優化問題沒有這麼複雜的約束條件呢?其是這跟廢話一樣,構造拉格朗日函式嘛,如下,我們的目標變成了 其中我們的 0,搞什麼,還是有約束,但約束簡單多了,一會我們說為什麼這裡要讓 0 進一不講,如果我們令 我們會發現,...

機器學習 SVM

svm 支援向量機是個二分類模型。給定給乙個包含正例和反例的樣本集合,svm的目的是尋找乙個超平面來對樣本根據正例和反例進行分割。保證最大間隔,間隔最大可以有效避免在分類面上的樣本的誤判率。網上也是對其推崇備至,認為不管什麼任務,先跑跑svm和rf。對於超平面的求取,是乙個凸二次規劃問題,牽扯到對偶...

機器學習 SVM

當train data線性可分時,存在多個分離超平面可以把兩類資料正確分開,感知機利用的是誤分類最小的策略,求得分離超平面。但是這是有無窮多個解,而線性svm利用了間隔最大化求分離超平面,解是唯一的,優點是不僅把正負樣本點分開,還對最難分的點 即離超平面最近的點 也有足夠大的確信度將它們分開 希望用...