支持向量机SVM算法原理笔记2
上篇博客介紹了當樣本集是線性可分情況下的SVM算法原理。接下來介紹不存在一個劃分超平面可以正確分類的問題,比如說“異或問題”。
對于此類問題,可以將樣本空間映射到更高維度空間,這樣映射后的樣本就線性可分了。如{(0,+1),(1,-1),(2,+1)}三個點在一位平面內是不可分的,但是映射到二維平面中{(0,0,+1),(1,1,-1),(2,0,+1)}三個點是線性可分的等等。
令φ(x)表示x映射后的特征向量,所以在特征空間中的劃分超平面定義為:f(x)=w^T φ(x)+b。那么要求解的模型就變?yōu)?#xff1a;
公式中需要計算[φ(x_i)]^T φ(x_j),即樣本映射到特征空間時的內積。因為其維數(shù)很高甚至無窮維,往往很難計算,所以引入核函數(shù)進行表示。
所以我們的模型變?yōu)?#xff1a;
有了核函數(shù)之后,我們不需要再去定義樣本空間到特征空間的映射φ(x),也不需要再去計算特征空間的內積,工作量少了很多。那么核函數(shù)有哪些要求呢??
定理:設k(#,#)是定義在輸入空間*輸入空間上的對稱函數(shù),則其是核函數(shù)的充分必要條件是:對所有樣本(X1,X2,…,XN)而言,k的核矩陣總是半正定的。
所以對于這類問題而言,核函數(shù)的選擇就成了問題的關鍵所在,因為核函數(shù)隱式的定義了特征空間。所以核函數(shù)的選擇會導致樣本映射到特征空間時的可分性。常用的核函數(shù)如下所示:
至此,我們已經介紹了線性可分支持向量機和非線性支持向量機兩種,分別對應于訓練樣本在樣本空間或者特征空間中線性可分。那么對于存在少量樣本無法正確分開的情況應該如何應對呢,在此引入軟間隔的概念,即允許支持向量機在某些樣本上出錯,使原本模型中的約束條件轉化為:
其中ε_i稱為松弛變量,并且對每個松弛變量需要支付一個代價,是最終的模型變?yōu)槿缦滤?#xff0c;其中C>0稱為懲罰參數(shù),C較大時表明對誤分類的樣本點懲罰增大,反之亦然。所以最小化目標函數(shù)有兩個含義,1,前半部分表示間隔盡量大;2,后半部分表示誤分類的點數(shù)盡可能小。稱為軟間隔最大化:
其對偶問題可以表示為:
且其需要滿足KKT條件如下所示:
也就是說對于任意樣本,總有α_i=0或者y_i*f(x_i)=1-ε_i,。
1,若α_i=0,則該樣本不會對最后的劃分超平面產生任何影響
2,若C>α_i>0,也即是y_i*f(x_i)=1-ε_i。該樣本是支持向量。又因為C>α_i,所以u_i>0,ε_i=0。所以該樣本恰好在最大間隔邊界上。
3,若C=α_i,則u_i=0,若ε_i<=1,該樣本落在最大間隔內部;若 ε_i>1,該樣本被誤分類。
總結
以上是生活随笔為你收集整理的支持向量机SVM算法原理笔记2的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阿里巴巴难度系数五颗星的试题,小白竟然说
- 下一篇: VxWorks 7 RTP调用自定义IO