首先咱們討論如何使用拉格朗日乘數法對一個帶不等式約束條件的優化問題進行改寫,並給出其對偶問題。考慮帶不等式約束的優化問題:app
引進廣義拉格朗日函數ide
這裏 是拉格朗日乘數,其中 。考慮x的函數函數
會發現 有以下形式優化
由於對於一個給定的 若是 違反約束條件, 即存在某個 或者存在某個 那麼可讓 或者 這會使得 相反若是 知足約束條件, 那麼很顯然有 和spa
因而在知足約束條件的狀況下, 那麼原始問題 能夠寫成以下的一個等價形式,稱其爲拉格朗日函數的績效極大值問題:orm
而交換 和 兩個符號, 獲得問題 稱其爲拉格朗日函數的極大極小值問題:ci
將問題 表示爲約束最優化問題的形式獲得:it
式 就是原始問題 的對偶問題 form
下面咱們將上面討論的結果用在支持向量機模型中,從而獲得支持向量機模型中原始問題的對偶問題。考慮一個二分類的問題: 對於特徵空間上的一個線性可分的訓練數據集,
class
其中 爲第i個實例的特徵向量, 爲 的類標記。當 時,稱 爲正例 ; 當 -1時,稱 爲負例。使用支持向量機對這個數據集進行二分類,則模型以下
即咱們但願最大化超平面 和訓練數據集T之間的距離 ,使得我 們找到的超平面\Omega能夠將數據集「分得最開」。上面的模型是一個比較直觀的初始的模型,咱們經常要對其進行一些簡單的變形: 將(2)式中左邊的 || ||乘到右邊去,獲得(2)式的等價形式
爲何是「1」呢? 實際上1只是隨便取的一個正常數,目的是固定|| 乘積的值,取其它的正常數也能夠。爲何要令 || 等於一個常數呢? 緣由是當咱們固定了 的值以後,咱們能夠將最大化問題max 轉化 成最小化問題min || , 這樣模型中的 就不須要被討論了,上面的模型會 變成一個單純的優化問題。
有了(2) )的變形後,咱們能夠將目標函數改寫成min 但通常不直接取範數,由於式子會不具備二階連續性,咱們取它的等價形式
這樣最開始的模型就轉化成
此時這是一個含有 個參數和 個不等式約束的優 化問題了。此時咱們能夠由最開始的討論給出問題 的對偶問題,令
問題 的對偶問題便是拉格朗日極大極小值問題:
對對偶問題的求解,須要先對 關於 , 求極小,再關於 求極 大。
(I) 求 將 分別對 求偏導數並令其爲 0 ,有:
獲得
將上式代入(*)式整理得:
(II) 對 關於 求極大值, 即:
這樣咱們就獲得支持向量機模型問題 的對偶問題事實上在支持向量機中討論對偶問題不單單是使得求解容易,另外一方面是在線性不可分的狀況下更天然地引進核函數。