支援向量機(二)——深入理解最優間隔分類器
1. 最優間隔分類器理論
之前我們提到在支援向量機中,我們的目標是尋找一個超平面,使得離超平面比較近的點能有更大的間距,也就是說我們不必考慮所有的點都必須遠離超平面,我們關心求得的超平面能夠讓所有點中離它最近的點有最大間距。
因此,注意最優間隔分類器我們的任務是什麼,就是使最近的點的幾何間距最大。先上公式:
解釋一下: Max的γ,w,b$引數,右邊的γ為最優化的目標函式,其實就是幾何間隔,s.t後面的兩個式子表示約束條件。(注意第一個式子中的γ已經是全域性的幾何間隔中最近的那個樣本的幾何間隔)
首先我們的目標是幾何間距最大,但不能任意的大,因此加的第一個約束條件就是要求找到一個,使所有樣本的幾何間隔都要大於等於,但是這個可能有很多個,假設為,因此我們要找到一組最大的w,b,使是中最大的那個值,這就是max裡面的三個引數。
其次為什麼我們可以直接設定第二個約束條件,首先加上||w||=1這個條件,第一個約束條件就可以從函式間隔變成幾何間隔,而幾何間隔就是我們的目標,這是一個很好的思路,其次我們記得幾何間隔的優勢就是同時擴大w和b,對幾何間隔沒有影響,所以||w||=1這個條件可以直接通過對w和b的縮放實現,但對結果又不影響。
缺點:由於我們的要求解的引數w在一個球體表面,如果想得到一個凸優化問題,必須保證如梯度下降演算法這種區域性最優值搜尋演算法不會找到區域性最優值,而非凸性約束不能滿足這個條件,所以需要改變優化問題。因此我們需要將上面的式子轉換一下:
我們繼續分析一下:max後面的引數不是(幾何間隔)而應該是(函式間隔),公式中沒有修正過來(同樣表示已經是全域性的函式間隔中最小的那個樣本的函式間隔)但是注意我們最優化的目標是,這個目標其實還是幾何間隔,因為。
由於這裡||w||不等於1了,所以第一個約束條件其實是變成了函式間隔,翻譯一下,我們的目標不變依然是使幾何間隔最大,但是約束條件變為,找到一個,使所有樣本的函式間隔都要大於等於,但是這個可能有很多個,假設為,因此我們要找到一組最大的w,b,使是中最大的那個值,這就是max裡面的三個引數。
注意這一步只是一個轉換,雖然約束條件變為了函式間隔,但我們的目標還是求幾何間隔最大。
缺點:目標函式不是一個凸函式,因此仍然需要改進。這裡為函式間隔之前講過,隨著w和b的擴大,函式間隔也會對應擴大,為了保證w和b唯一而不是一組倍數解。因此我們將做一些限制,保證解唯一,這裡為了簡化,我們將=1,意義是將全域性的函式間隔定義為1,也就是說離超平面最近的點的幾何距離為。那麼求的最大值就可以轉化成求最小值。改寫後的結果如圖:
解釋一下:首先為什麼我們可以設定函式間隔為1,個人理解是,因為我們要求的是函式間隔,由於之前說的縮放問題,無論w和b怎麼變,函式間隔會相應的變化,但是幾何間隔不會變,所以即使我將函式間隔縮放到1,幾何間隔依然不會變。
所以,這麼倒騰了幾下之後,我們發現最後變成了線性約束,這是一個凸優化問題,且沒有區域性最優值,可以通過梯度下降找到全域性最優值。而且是典型的二次規劃問題了。
2. 拉格朗日對偶
上面說了,我們將最優線性分隔器變化為了二次規劃問題,那麼我們來看看這種帶有不等式約束的極值問題怎麼求,舉一個例子:
根據高數裡面的知識(不細說),我們定義的一般化拉格朗日運算元為:
在這裡,拉格朗日用了一個很巧妙的函式,我們先看公式,再來看它的奇妙之處。