從零開始SVM

2021-08-16 02:57:18 字數 1015 閱讀 1618

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.開始標籤包含...