svm全稱support vector machine,中文名支援向量機,是分類演算法中應用廣泛、效果不錯的一類。李航的《統計學習方法》對svm的數學原理做了詳細推導與論述。由簡至繁svm可分類為三類:線性可分(linear svm in linearly separable case)的線性svm、線性不可分的線性svm、非線性(nonlinear)svm。
支援向量機名稱的由來是:僅由支援向量建立分類面,那麼什麼是支援向量呢?
我們可以看上面這張圖,總共有兩類點,實心點和空心點,現在要將兩類點分類,即求一條線,線的一邊全是實心點,線的另一邊全是空心點,離分類線最近的點稱作支援向量(如圖中虛線上的乙個黑點和兩個白點)。按照如圖的情況,有無窮多的線可以將兩類點分離,那麼問題來了,哪一條分類線是最優的呢?也就是說:哪一條線在對於未知樣本(測試樣本)的分類中可以取得最好的效果呢?
svm的想法是:每一條分類線和支援向量與之間是有間隔的(如圖中的實線和虛線),使得間隔最大的分類線就認為是最優的分類線。
那麼我們怎麼來定義這個「間隔」呢?
首先,我們定義分類線: ax
+by+
c=0 ax+
by+c
=0假設存在乙個點(x
0,y0
) (x0,
y0),它到分類線的距離(就是點到直線距離公式)是 d=
|ax0
+by0
+c|a
2+b2
−−−−
−−√ d=|
ax0+
by0+
c|a2
+b2我們之前都是在二維的層面上討論問題,現在我們將問題擴充套件之高維
分類線轉換成分類超平面: w⋅
x+b=
0 w⋅x
+b=0
從零開始學習SVM(二) 鬆弛變數
mi nw,b 12 w 2 s.t.yi wtxi b 1,i 1,2,3 m 我們的優化目標可以寫為 mi nw,b 12 w 2 c i m i s.t.yi w t b 1 i i 0,i 1,2 3 m 引入 鬆弛變數 的概念,顯然每個樣本都有其對應的 鬆弛變數 表徵了該樣本不滿足約束的程...
Django 從零開始
方法1 pip install django 1.6.5 測試是否安裝成功 python import django 1,6,5,final 0 django 使用了 python 標準的 distutils 安裝法,在 linux 平台可能包括如下步驟 tar xzvf django tar.gz...
HTML從零開始
一 標籤 1.使用小寫 2.開始標籤常被稱為開放標籤 opening tag 結束標籤常稱為閉合標籤 closing tag 有效 示例 i reallystrong mean thatem 無效 示例 invalid i reallyem mean thatstrong 二 屬性 1.開始標籤包含...