支持向量機(英語:support vector machine,常簡稱為SVM,又名支持向量網路)是在分類與回歸分析中分析資料的監督式學習模型與相關的學習演算法,給定一組訓練實體,每個訓練實體被標記為屬于兩個類別中的一個或另一個,SVM訓練演算法創建一個將新的實體分配給兩個類別之一的模型,使其成為非概率二元線性分類器,SVM模型是將實體表示為空間中的點,這樣映射就使得單獨類別的實體被盡可能寬的明顯的間隔分開,然后,將新的實體映射到同一空間,并基于它們落在間隔的哪一側來預測所屬類別,
SVM大致可以分為三種
線性可分SVM
當訓練資料線性可分時,通過硬間隔(hard margin,什么是硬、軟間隔下面會講)最大化可以學習得到一個線性分類器,即硬間隔SVM,
線性SVM
當訓練資料不能線性可分但是可以近似線性可分時,通過軟間隔(soft margin)最大化也可以學習到一個線性分類器,即軟間隔SVM,
非線性SVM
當訓練資料線性不可分時,通過使用核技巧(kernel trick)和軟間隔最大化,可以學習到一個非線性SVM,
SVM的目的就為尋找分開兩組資料集中最優的超平面,如上圖所示,H1、H2、H3中最優直線(超平面),我們應該選擇H3.
SVM 想要的就是找到各類樣本點到超平面的距離最遠,也就是找到最大間隔超平面,任意超平面可以用下面這個線性方程來描述:

在這里我們要用到幾何間隔的內容:






故我們得到第一個演算法:

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/195225.html
標籤:python
上一篇:中綴向后綴轉換運算式
