機器學習 基礎演算法 SVM

2021-10-05 15:58:42 字數 1645 閱讀 1295

support vector machine

一般去理解乙個演算法,都是從名字入手,接觸了這麼幾個演算法,這是唯一乙個讓人捉摸不透的名字.

svm:

from the classifier to the closestdata pointscalled thesupport vector,these specofic datapoints are 「supporting」 the hyperplane into 「equilibrium」.

the distance between the two thin lines is called themargin

the support vectorsconstrain the width of the margin

上圖中兩個紅色菱形點與乙個藍色實心圓點就是支援向量,通過這個求解目標,以及約束條件來求解這個超平面。

svm是定義在特徵空間上的.

學習目標:在特徵空間中找到乙個分離超平面,能將例項分到不同的類.

利用間隔最大化求最優分離超平面.

引入核函式可以解決非線性的情況:將樣本從原始空間對映到乙個更高為的特徵空間,使得樣本在這個特徵空間內線性可分

不僅用在svm中,dp中也會用到.

k (x

i,xj

)=ex

p(−∣

∣xi−

xj∣∣

22σ2

)k(x_i,x_j)=exp(-\frac)

k(xi​,

xj​)

=exp

(−2σ

2∣∣x

i​−x

j​∣∣

2​)​ σ

>

0\sigma>0

σ>

0是高斯核頻寬,這是一種經典的魯棒徑向基核,即高斯核函 數,魯棒徑向基核對於資料中的噪音有著較好的抗干擾能力,其 引數決定了函式作用範圍,超過了這個範圍,資料的作用就「基本 消失」。高斯核函式是這一族核函式的優秀代表,也是必須嘗試的 核函式。對於大樣本和小樣本都具有比較好的效能,因此在多數 情況下不知道使用什麼核函式,優先選擇徑向基核函式。 k(x

i,xj

)=ex

p(−∣

∣xi−

xj∣∣

σ)

k(x_i,x_j)=exp(-\frac)

k(xi​,

xj​)

=exp

(−σ∣

∣xi​

−xj​

∣∣​)k(

xi,x

j)=t

anh(

αxtx

j+c)

k(x_i,x_j)=tanh(\alpha x^tx_j+c)

k(xi​,

xj​)

=tan

h(αx

txj​

+c)​ 採用sigmoid核函式,支援向量機實現的就是一種多層感知器神 經網路。

​ 對於核函式如何選擇的問題,吳恩達教授是這麼說的:

公式推導放到後面,以實際應用驅動理論.

機器學習 SVM演算法

經常遇到或用到svm演算法,不過都是用的別人的 並沒有深入的研究理解過。感覺很不應該,今天記錄一下自己的感受和理解。之前對svm的理解就是將資料對映到高維空間從而找到最優的分割平面。處理二維資料時,為一條分割線,三維時就是乙個超平面。當維度上公升,那就是尋找更高維的超平面。如何確定哪條分割線是最優的...

機器學習演算法療程(SVM)

svm處方清單 libsvm在matlab下的使用 libsvm3.2.0中的matlab文件說明 解密svm系列 一 關於拉格朗日乘子法和kkt條件 解密svm系列 二 svm的理論基礎 解密svm系列 三 smo演算法原理與實戰求解 解密svm系列 四 svm非線性分類原理實驗 解密svm系列 ...

機器學習演算法 SVM 詳解

支援向量機 support vector machines 是一種二分類模型,它的目的是尋找乙個超平面來對樣本進行分割,分割的原則是間隔最大化,最終轉化為乙個凸二次規劃問題來求解。由簡至繁的模型包括 1 間隔最大化和支援向量 如果乙個線性函式能夠將樣本分開,稱這些資料樣本是線性可分的。那麼什麼是線性...