機器學習——支援向量機SVM(一)
在之前做數學建模的時候就有使用過支援向量機的有關知識,但是對於支援向量機的理解一直不是很深刻,尤其是數學推導部分還是存在一些問題。在最近看周志華西瓜書的過程中同樣發現這一問題,西瓜書中對支援向量機的講解部分不是很詳細,所以我又查詢了其他的資料。
支援向量機是一種原創性(非組合)的具有明顯直觀幾何意義的分類演算法,具有較高的準確率。雖然支援向量機的幾何意義較為直觀,但是細節非常複雜,內容涉及到凸優化分析,核函式,神經網路等多個領域,內容多而數學推導過程複雜。
我們可以將支援向量機看成是線性分類器的延伸和推廣,他作為一個分類器最大的作用就是可以解決一些非線性邊界的分類問題,而且處理過程複雜度比較小,因此支援向量機在生活中得到廣泛的應用,被譽為是“讓應用數學家真正得到應用的一種演算法”。
如上圖中圈和×的邊界顯然不是一個線性邊界,我們之前介紹的那些線性分類器無法將兩者進行劃分,而支援向量機可以很好的完成這一個任務。
在最基本的線性可分問題中,我們可以很輕鬆的畫出兩者的邊界。在這裡,我們需要意識到的是這種分離的方法不是唯一的,我們需要從這些分類方法中找出最好的那一種方法。
在分類問題中,我們認為處於位於兩類訓練樣本“正中間”的劃分超平面就是最好的分類方法,因為此時劃分平面對訓練樣本的容忍性最好(即使樣本發生少量變動依然可以完成分類)如下圖所示:
我們注意到有幾個樣本在分類的邊界上,我們將其稱為“支援向量”。
兩個支援向量到超平面之間的距離之和稱為“間隔”,我們希望得到最好的劃分超平面,也就是希望這個距離越大。
在樣本空間中,劃分超平面可以用線性方程來進行表示,其中表示超平面的法向量,如下圖:
對於分別通過和這兩個支援向量的超平面來說,我們可以反解法推匯出分別為和,這兩條直線之間的距離就是,我們希望求出在符合情況下的最值。這個問題等價於求解:
對於這個問題,我們就可以用拉格朗日運算元來求解其最值了。
相關文章
- 機器學習:支援向量機(SVM)機器學習
- 機器學習——支援向量機(SVM)機器學習
- 人工智慧-機器學習-支援向量機SVM人工智慧機器學習
- 機器學習基礎專題:支援向量機SVM機器學習
- [譯] 支援向量機(SVM)教程
- 機器學習演算法筆記之5:支援向量機SVM機器學習演算法筆記
- 支援向量機(Support Vector Machine,SVM)—— 線性SVMMac
- 《機器學習_07_01_svm_硬間隔支援向量機與SMO》機器學習
- 機器學習基礎篇:支援向量機(SVM)理論與實踐機器學習
- 機器學習(四):通俗理解支援向量機SVM及程式碼實踐機器學習
- 《機器學習_07_03_svm_核函式與非線性支援向量機》機器學習函式
- 分類演算法-支援向量機 SVM演算法
- 【機器學習】支援向量機分類機器學習
- 支援向量機(SVM)和python實現(二)Python
- SVM 支援向量機演算法-原理篇演算法
- SVM 支援向量機演算法-實戰篇演算法
- OpenCV筆記(3)實現支援向量機(SVM)OpenCV筆記
- 學習Opencv2.4.9(四)---SVM支援向量機OpenCV
- 演算法金 | 再見,支援向量機 SVM!演算法
- 【機器學習】支援向量機(個人筆記)機器學習筆記
- 機器學習之-搞定支援向量機(SVM)【人工智慧工程師--AI轉型必修課】機器學習人工智慧工程師AI
- 支援向量機原理(一) 線性支援向量機
- 一文讀懂支援向量機SVM(附實現程式碼、公式)公式
- 【Python機器學習實戰】感知機和支援向量機學習筆記(三)之SVM的實現Python機器學習筆記
- 機器學習之支援向量機的超平面機器學習
- 支援向量機 (二): 軟間隔 svm 與 核函式函式
- 學習SVM(四) 理解SVM中的支援向量(Support Vector)
- 支援向量機(SVM)從原理到python程式碼實現Python
- 支援向量機SVM:從數學原理到實際應用
- 我的OpenCV學習筆記(六):使用支援向量機(SVM)OpenCV筆記
- 吳恩達機器學習系列17:支援向量機吳恩達機器學習
- 機器學習之支援向量機原理和sklearn實踐機器學習
- 吳恩達機器學習筆記 —— 13 支援向量機吳恩達機器學習筆記
- 學習SVM(二) 如何理解支援向量機的最大分類間隔
- 吳恩達《Machine Learning》精煉筆記 7:支援向量機 SVM吳恩達Mac筆記
- 支援向量機
- 機器學習之支援向量與間隔機器學習
- 理解支援向量機