第三课 SVM(2)
1 線性可分的數據集
1.1 超平面
SVM的思想是找到最大間隔的分隔超平面。
在兩個分類中,找到能夠一條線,以最好地區分這兩個分類。這樣如果有了新的點,這條線也能很好地做出分類。
這樣的線在高維樣本中的時候就叫做超平面。
1.2 幾何間隔與函數間隔
圖中綠線h1效果不好,h2效果還行,h3效果最好。怎么區分效果好不好?
如果超平面w.x+b=0w.x+b=0w.x+b=0已經存在,那么樣本點距離超平面的距離能夠表示預測的確信程度。∣w.x+b∣|w.x+b|∣w.x+b∣能夠相對地表示點x距離超平面的距離。而w.x+bw.x+bw.x+b的符號與標記y的符號是否一致表示分類是否正確。那么就可以用y(w.x+b)y(w.x+b)y(w.x+b)表示分類的正確性和確信程度,這就是函數間隔。
函數間隔:超平面(w,b)關于樣本點(xix_ixi?,yiy_iyi?)樣本點的函數間隔為:ri^=yi(w.xi+b)\hat{r_i}=y_i(w.x_i+b)ri?^?=yi?(w.xi?+b)
超平面(w,b)關于數據集T的函數間隔,為所有樣本點的函數間隔的最小值:r^=mini=1,2...Nri^\hat{r}=min_{i=1,2...N} \hat{r_i}r^=mini=1,2...N?ri?^?
函數間隔的問題是如果成比例的改變w和b,例如改為2w+2b,超平面不變,函數間隔卻變成了原來的兩倍。如果規范化之后就會使得間隔是確定的。這時候函數間隔就變成了幾何間隔。
幾何間隔:對于給定數據集T和超平面(w,b),w是超平面的法向量,樣本點(xix_ixi?,yiy_iyi?)的幾何間隔為:ri=yiw.x+b∣∣w∣∣r_i=y_i\dfrac{w.x+b}{||w||}ri?=yi?∣∣w∣∣w.x+b?
超平面(w,b)關于數據集T的幾何間隔,為所有樣本點的幾何間隔的最小值:r=mini=1,2...Nrir=min_{i=1,2...N} {r_i}r=mini=1,2...N?ri?
1.3 目標函數
目標函數:最大化幾何間隔r:maxr=maxr^∣∣w∣∣max r=max\dfrac{\hat{r}}{||w||}maxr=max∣∣w∣∣r^?
s.t. yi(w.xi+b)>=r^,i=1,2,3...Ny_i(w.x_i+b)>=\hat{r},i=1,2,3...Nyi?(w.xi?+b)>=r^,i=1,2,3...N
令r^=1\hat{r}=1r^=1(這里等于1,沒有特別的含義,只是好計算,不影響結果),那么目標函數變為:max1∣∣w∣∣max\dfrac{1}{||w||}max∣∣w∣∣1?,min∣∣w∣∣min||w||min∣∣w∣∣,min12∣∣w∣∣2min\dfrac{1}{2}||w||^2min21?∣∣w∣∣2,
s.t. yi(w.xi+b)>=r^,i=1,2,3...Ny_i(w.x_i+b)>=\hat{r},i=1,2,3...Nyi?(w.xi?+b)>=r^,i=1,2,3...N
用拉格朗日乘子法:
L(w,b,α)=12∣∣w∣∣2?∑i=1Nαiyi(w.xi+b)+∑i=1NαiL(w,b,\alpha)=\dfrac{1}{2}||w||^2-\sum_{i=1}^N\alpha_iy_i(w.x_i+b) + \sum_{i=1}^N\alpha_iL(w,b,α)=21?∣∣w∣∣2?∑i=1N?αi?yi?(w.xi?+b)+∑i=1N?αi?
分別對w、b、求導得到:w=∑i=1Nαiyixiw=\sum_{i=1}^N\alpha_iy_ix_iw=∑i=1N?αi?yi?xi?,∑i=1Nαiyi=0\sum_{i=1}^N\alpha_iy_i=0∑i=1N?αi?yi?=0
這樣代入上面的式子得到:L(w,b,α)=12∑i=1N∑j=1Nαiαjyiyj(xi.xj)+∑i=1NαiL(w,b,\alpha)=\dfrac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j(x_i.x_j)+\sum_{i=1}^N\alpha_iL(w,b,α)=21?∑i=1N?∑j=1N?αi?αj?yi?yj?(xi?.xj?)+∑i=1N?αi?
1.4 支持向量
在線性可分情況下,訓練數據集中的樣本點中距離分離超平面最近的樣本點稱為支持向量。
2 線性近似可分
訓練樣本中有一些點不滿足函數間隔>=1的約束。
解決方法:是對每一個樣本引入一個松弛變量?i>=0\epsilon_i>=0?i?>=0使得函數間隔大于等于1。約束條件變為:yi(w.xi+b)>=1??iy_i(w.x_i+b)>=1-\epsilon_iyi?(w.xi?+b)>=1??i?
目標函數:min 12∣∣w∣∣2+C∑i=1N?i\dfrac{1}{2}||w||^2+C\sum_{i=1}^{N}\epsilon_i21?∣∣w∣∣2+C∑i=1N??i?
s.t. yi(w.xi+b)>1??i,i=1,2,3...Ny_i(w.x_i+b)>1-\epsilon_i, i=1,2,3...Nyi?(w.xi?+b)>1??i?,i=1,2,3...N
?i>=0,i=1,2,3...N\epsilon_i>=0, i=1,2,3...N?i?>=0,i=1,2,3...N
拉格朗日函數變為:L(w,b,α,μ)=12∣∣w∣∣2+C∑i=1N?i?∑i=1Nαi(yi(w.xi+b)?1+?i)+∑i=1Nμi?iL(w,b,\alpha,\mu)=\dfrac{1}{2}||w||^2 +C\sum_{i=1}^{N}\epsilon_i -\sum_{i=1}^N\alpha_i(y_i(w.x_i+b) -1 +\epsilon_i ) + \sum_{i=1}^N\mu_i\epsilon_iL(w,b,α,μ)=21?∣∣w∣∣2+C∑i=1N??i??∑i=1N?αi?(yi?(w.xi?+b)?1+?i?)+∑i=1N?μi??i?
經過求導替換得到:minL(w,b,α,μ,?)=?12∑i=1N∑j=1Nαiαjyiyj(xi.xj)+∑i=1Nαimin L(w,b,\alpha,\mu,\epsilon)=-\dfrac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j(x_i.x_j)+\sum_{i=1}^N\alpha_iminL(w,b,α,μ,?)=?21?∑i=1N?∑j=1N?αi?αj?yi?yj?(xi?.xj?)+∑i=1N?αi?
3 非線性支持向量機與核函數
對于線性不可分的問題通過一個變換,將低緯度的非線性問題變換為高緯度的線性問題。通過變換后的線性問題求解原來的非線性問題。
核函數定義:設X是輸入空間,H為特征空間,如果存在一個從X到H的映射,?(X):X?>H\phi(X):X->H?(X):X?>H,使得對所有的x,z∈Xx,z \in Xx,z∈X,函數K(x,z)滿足條件:K(x,z)=?(x)?(z)K(x,z)=\phi(x)\phi(z)K(x,z)=?(x)?(z),則稱K(x,z)為核函數,?(x)\phi(x)?(x)為映射函數。
核函數技巧的核心是,只需要定義核函數,而不是定義映射函數。因為通常直接計算K(x,z)更容易,而計算?(x)?(z)\phi(x)\phi(z)?(x)?(z)不容易,計算量還很大。
所以目標函數變為:L(w,b,α,μ,?)=12∑i=1N∑j=1NαiαjyiyjK(xi.xj)?∑i=1NαiL(w,b,\alpha,\mu,\epsilon)=\dfrac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_jK(x_i.x_j)-\sum_{i=1}^N\alpha_iL(w,b,α,μ,?)=21?∑i=1N?∑j=1N?αi?αj?yi?yj?K(xi?.xj?)?∑i=1N?αi?
常用核函數為高斯核函數、多項式核函數。
三個類型討論到后面使用SMO解決問題。
總結
以上是生活随笔為你收集整理的第三课 SVM(2)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Atom与markdown
- 下一篇: 我们一般用的正则表达式合集和工具 any