機器學習——SVM講解

支持向量機(Support Vector Machine)函數

SVM是一類按監督學習方式對數據進行二元分類的廣義線性分類器,決策邊界是對學習樣本求解的最大邊距超平面。只須要知道,SVM是一個有監督的分類器就能夠。學習

介紹SVM首先要從核函數的介紹開始,SVM是一個處理線性可分離數據的線性分類器。對於下方右邊的數據時,SVM不能很好的應對。3d

 

狀況一:在對於線性不可分數據時,應該如何應對?將低維數據轉換爲高維數據能夠將線性不可分數據轉化爲線性可分的數據。以下圖所示:blog

狀況二:當數據用直線不可分時:im

 

 原來的線性方程爲:F(x) = wx+b,當遇到上述狀況時,沒法有效的進行分類處理。咱們能夠用二次函數,進行區分。d3

                                 

其中,咱們將原始的一維映射爲三維:總結

首先咱們經過對偶問題的轉折,將原來的SVM目標函數轉化爲如下形式:數據

 在這種狀況下,x應該被替換爲H(x):db

那麼,什麼是核函數?在計算中,能夠使x1和x2不經過H(*)映射到高維空間計算內積,而是直接在低維空間計算。咱們使用K(*)來表示核函數,核函數的做用是:img

避免一個從低維到高維的映射過程。

舉個例子:

 

 在本例中,低維核函數計算的結果與原始問題徹底等效,所以,咱們避免了在高維空間中進行直接計算。那麼問題來了,核函數是固定的嗎?顯然不是,核函數有不少種,根據問題和數據之間的差別選擇適當的核函數。本文列舉了幾種常見的核函數以下所示:

    

 

總結:

SVM是一種二類分類模型,其基本模型定義爲特徵空間上的間隔最大的線性分類器,即支持向量機的學習策略即是間隔最大化,最終可轉化爲一個凸二次規劃問題的求解。或者簡單的能夠理解爲就是在高維空間中尋找一個合理的超平面將數據點分隔開來,其中涉及到非線性數據到高維的映射以達到數據線性可分的目的。

相關文章
相關標籤/搜索