首頁 >常見問題 >svm演算法詳解

svm演算法詳解

(*-*)浩
(*-*)浩原創
2020-01-08 14:09:305094瀏覽

svm演算法詳解

SVM方法是透過一個非線性映射p,把樣本空間映射到一個高維乃至無窮維的特徵空間中(Hilbert空間),使得在原來的樣本空間中非線性可分的問題轉化為在特徵空間中的線性可分的問題。                       (建議學習:phpstorm

#「簡單地說,就是升維且線性化。

升維,就是把樣本向高維空間做映射,一般情況下這會增加計算的複雜性,甚至會引起“維數災難”,因而人們很少問津。

但是作為分類、迴歸等問題來說,很可能在低維樣本空間無法線性處理的樣本集,在高維特徵空間中卻可以透過一個線性超平面實現線性劃分(或迴歸) 。

SVM(Support Vector Machine)中文名稱為支援向量機,是常見的一種判別方法。在機器學習領域,是一個有監督的學習模型,通常用來進行模式識別、分類以及迴歸分析。

相關概念

分類器:分類器就是給定一個樣本的數據,判定這個樣本屬於哪個類別的演算法。例如在股票漲跌預測中,我們認為前一天的交易量和收盤價對於第二天的漲跌是有影響的,那麼分類器就是透過樣本的交易量和收盤價預測第二天的漲跌情況的演算法。

特徵:在分類問題中,輸入到分類器中的資料稱為特徵。以上面的股票漲跌預測問題為例,特徵就是前一天的交易量和收盤價。

線性分類器:線性分類器是分類器中的一種,就是判定分類結果的根據是透過特徵的線性組合得到的,不能透過特徵的非線性運算結果作為判定根據。也以上面的股票漲跌預測問題為例,判斷的依據只能是前一天的交易量和收盤價的線性組合,不能將交易量和收盤價進行開方,平方等運算。

線性分類器起源

在實際應用中,我們往往會遇到這樣的問題:給定一些資料點,它們分別屬於兩個不同的類,現在要找到一個線性分類器把這些資料分成兩類。

怎麼分呢?把整個空間劈成兩半唄(讓我想起了盤古)。用二維空間舉個例子,如上圖所示,我們用一條直線把空間切割開來,直線左邊的點屬於類別-1(用三角表示),直線右邊的點屬於類別1(用方塊表示)。

如果用數學語言呢,就是這樣的:空間是由X1和X2組成的二維空間,直線的方程式是X1 X2 = 1,用向量符號表示即為[1,1]^{ T}[X1,X2]-1=0 。點x在直線左邊的意思是指,當把x放入方程式左邊,計算結果小於0。同理,在右邊就是把x放入方程式左邊,計算出來的結果大於0。

以上是svm演算法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn