機器學習之數學系列(四)推導線性支援向量機SVM

2021-09-25 14:04:20 字數 2963 閱讀 4709

支援向量機(svm)是乙個二分類模型,它的學習思路是在特徵空間中尋找幾何間隔最大的分離超平面。對支援向量機的研究分成三類1.線性可分支援向量機 2.線性支援向量機 3.非線性支援向量機。本文主要推導線性支援向量機的相關公式,因為線性可分支援向量機是線性支援向量機的特殊情況,而線性支援向量機又可以推廣到非線性支援向量機。這裡預設大家對支援向量機中的術語有了解。

(一)線性支援向量機的學習策略:在特徵空間中尋找軟間隔距離最大化的超平面

在特徵空間中尋找軟間隔距離最大化的超平面要求:1.這個特徵空間是線性可分或近似線性可分的 2.最大化資料集到超平面的幾何距離(與w相關) 3.對每乙個樣本點的約束條件放寬要求軟間隔即可(加入鬆弛變數ε

\varepsilon

εi)。後面我們稱(1)式為原問題。

(二)求解二次規劃問題

我們先將(1)這個約束優化問題利用廣義拉格朗日函式進行等價轉換具體闡述如下:

考慮如下約束優化問題:

引入廣義拉格朗日函式:

現在我要計算廣義拉格朗日函式以α

\alpha

α和β\beta

β為自變數的目標函式最大值即:

假設x滿足原始約束,則有l(x

\alpha

α, β

\beta

β)以α

\alpha

α和β\beta

β為自變數的最大值就是f(x)。α

\alpha

αi與ci(x)是異號的,其乘積為非正,故而乘積最大值為0,這就是為什麼要求α

\alpha

αi非負就是為了保證這個乘積為非正。此外,當α

\alpha

αi>0時,為取得max l=f(x)此時有ci(x)=0,這一點將用到svm求b,即利用α

\alpha

αi>0時有ci(x)=0成立從而推出b。

假設x不滿足約束條件則l(x

\alpha

α, β

\beta

β)以α

\alpha

α和β\beta

β為自變數(x可以看成是引數)的最大值應該是正無窮。這樣一來拉格朗日函式在以其拉格朗日乘子為自變數的情況下如果有最大值,其結果值就應當是f(x)且此時滿足約束條件。所以原始優化問題可以等價轉化為:

因為拉格朗日函式最小最大問題與原始問題是等價的,所以拉格朗日函式最小最大問的解就是原始問題的解,如果這個最小最大問題好解的話那麼即可解決原始問題。若不好解,這裡介紹對偶演算法來求解它即:將拉格朗日最小最大問題作為優化問題,利用拉格朗日對偶性,通過求解對偶問題得到原始問題的最優解。為什麼要線性支援向量機要引入對偶演算法a.對偶問題往往更容易求解 b.自然引入核函式,進而推廣到非線性分類問題。

首先針對線性支援向量機,定義廣義拉格朗日函式,其中α

\alpha

αi為非負拉格朗日乘子:

根據拉格朗日對偶性原始問題的對偶問題是拉格朗日函式的最大最小問題[1]即:

然後,求解(3)式這個無約束條件的最值問題:

現在求(3)式即是求(7)式,我們可以獲得(7)式的解α

\alpha

α,很明顯解這個對偶問題比求原始問題更容易些。由式(4)可求得對偶問題的w解,b暫且先不管,我後面會說。因為根據定理c.1:當原始問題和對偶問題都有最優解時,則原始問題廣義拉格朗日函式的最值是不小於對偶問題廣義拉格朗日函式的最值的。我們需要的是取等成立時,就能使得對偶問題的解即為原始問題的解。什麼時候等式成立呢?當原始問題的解和對偶問題的解滿足kkt條件時[1]。接下來闡述kkt條件:

從前面的推導過程來看原始問題的解和對偶問題的解是滿足kkt條件的,所以線性支援向量機原始問題的解是:(根據kkt第二個條件當α

\alpha

αi*>0時,ci(x)=0,這可用求b值)

至此實現了對原始二次規劃問題的求解。很明顯(7)式這個對偶問題的解要比原始問題更容易求解,它僅是關於α

\alpha

α(三)線性支援向量機學習演算法

(四)關於線性可分支援向量機和非線性支援向量機

[1]《統計學習方法》,李航,p225-p228.

學習數學系列《一》

內容摘自 微積分摘要 高等數學ppt 由於標題寫高數有圈粉嫌疑,所以還是寫一些比較樸素的名字。實際上這個算是高等數學的學習。前幾天被一位神犇虐數學虐到哭所以自己還是默默地拿起了書。進入正題 第一節 1.1集合的對映 如果有一種規律f使得a中每乙個元素 x 都能與b中的唯一確定的元素f x 對應,那麼...

機器學習中的數學系列 資訊理論

1,資訊 i x log p x 事件x不確定性的度量,不確定性越大,資訊量越大。從資訊編碼角度,這是編碼這一資訊所需要的最小位元數 log以2為底,以e為底的叫做奈特 2,熵 h x sum x 隨機變數x不確定的度量,資訊的期望,不確定性越大,熵越大。從資訊編碼角度講,熵是對資訊進行編碼所需要的...

睡前1小時數學系列之 整除

日常數學。整除。整除是數學裡面最基礎的概念。除法嘛。但是。這東西和平時義務教育講的除法又有些不同。定義 設a是乙個非零的整數。b也是乙個整數。如果存在乙個整數p,使得 b a p 那麼我們就稱 b可以被a整除 整除 記作 a b 所以b叫做a的倍數。a呢,叫做b的約數,也叫做因子。舉栗子。3 12 ...