機器學習實戰 支援向量機

2021-09-24 09:33:32 字數 2592 閱讀 4026

有些人認為svm是最好的現成的分類器,這裡說的現成值得是分類器不加修改即可直接使用。同時,這意味著在資料上應用基本形式的svm分類器就可以得到低錯誤率的結果。svm能夠對訓練集之外的資料點作出很好的分類決策。

svm有很多實現,本章只關注其中最流行的一種實現,即序列最小優化(smo)演算法。

優點:泛化錯誤率低,計算開銷不大,結果易解釋。

缺點:對引數調節和核函式的選擇敏感,原始分類器不加修改僅適用於處理二類問題。

適用資料型別:數值型和標稱型資料。

線性可分資料:

非線性資料:

上述將資料集分隔開來的直線稱為分隔超平面(separating hyperplane)。假如資料集是n維的,那麼超平面就是n-1維的,此超平面也是分類的決策邊界。

如果資料點離決策邊界越遠,那麼其最後的**結果也就越可信。我們希望採用這種方式來構建分類器。但是如果這樣做,是不是優點尋找最佳擬合直線的感覺?是的,上述做法確實有點像直線擬合,但這並非最佳方案。我們希望找到分離超平面最近的點,確保它們離分隔面的距離盡可能的遠。這裡點到分隔面的距離被稱為間隔(margin)。我們希望間隔盡可能的大,這是因為我們犯錯或在有限資料上訓練分類器的話,我們希望分類器盡可能的健壯。

支援向量就是離分隔超平面最近的那些點。接下來要試著最大化支援向量到分隔面的距離,需要找到此問題的優化求解方法。

分類器求解的優化問題:

鬆弛變數:來允許有些資料點可以處於分隔面的錯誤一側。

我們使用一種稱為核函式的工具將非線性可分的資料轉換成易於分類器理解的形式,並介紹他們在支援向量機中的使用方法,然後介紹一種稱為徑向機函式的最流行的核函式,最後將該核函式應用於我們前面得到的分類器。

利用核函式將資料對映到高維空間。核函式並不僅僅應用於支援向量機,很多其他的機器學習演算法也都用到核函式。

支援向量機通過某非線性變換 φ( x) ,將輸入空間對映到高維特徵空間。特徵空間的維數可能非常高。如果支援向量機的求解只用到內積運算,而在低維輸入空間又存在某個函式 k(x, x′) ,它恰好等於在高維空間中這個內積,即k( x, x′) = 。那麼支援向量機就不用計算複雜的非線性變換,而由這個函式 k(x, x′) 直接得到非線性變換的內積,使大大簡化了計算。這樣的函式 k(x, x′) 稱為核函式。

根據模式識別理論,低維空間線性不可分的模式通過非線性對映到高維特徵空間則可能實現線性可分,但是如果直接採用這種技術在高維空間進行分類或回歸,則存在確定非線性對映函式的形式和引數、特徵空間維數等問題,而最大的障礙則是在高維特徵空間運算時存在的「維數災難」。採用核函式技術可以有效地解決這樣問題。

核函式性質:

(1)核函式的引入避免了「維數災難」,大大減小了計算量。而輸入空間的維數n對核函式矩陣無影響,因此,核函式方法可以有效處理高維輸入。

(2)無需知道非線性變換函式φ的形式和引數.

(3)核函式的形式和引數的變化會隱式地改變從輸入空間到特徵空間的對映,進而對特徵空間的性質產生影響,最終改變各種核函式方法的效能。

(4)核函式方法可以和不同的演算法相結合,形成多種不同的基於核函式技術的方法,且這兩部分的設計可以單獨進行,並可以為不同的應用選擇不同的核函式和演算法 [5] 。

對於手寫字型識別問題,假如考慮記憶體問題,可以考慮使用支援向量機。

對於支援向量機而言,其需要保留的樣本少了很多(即只保留支援向量),但是能獲得可比的效果。

支援向量機是一種分類器。之所以稱為「機」是因為它會產生乙個二值決策結果,即他是一種決策「機」。支援向量機的泛化錯誤率較低,也就是說它具有良好的學習能力,且學到的結果具有很好的推廣性。

支援向量機試圖通過求解乙個二次優化問題來最大化分類間隔。在過去,訓練支援向量機常採用非常複雜並且低效的二次規劃求解方法。smo演算法通過每次只優化2個alpha值來加快svm的訓練速度。

svm的效果也對優化引數和所用核函式中的引數敏感。

核函式:度量兩個向量距離。

向量遍歷 機器學習實戰專案 支援向量機

支援向量機 support vector machines,svm 是一種機器學習演算法。支援向量機 場景 支援向量機 原理 svm 工作原理 對於上述的蘋果和香蕉,我們想象為2種水果型別的炸彈。保證距離最近的炸彈,距離它們最遠 尋找最大分類間距 轉而通過拉格朗日函式求優化的問題 尋找最大間隔 為什...

機器學習實戰 機器學習實戰 支援向量機(一)

從分類效力來講,svm在無論線性還是非線性分類中,都十分出色 現在桌子上有一些雜亂的 小球 我們想要將他們分開 我們可以放一根棒棒上去 是不是看起來還行,小棍將藍色球和紅色球分開。但這時,又有個人把一顆紅色的小球放在了棍子的另一邊,這樣就有乙個球似乎落在了錯誤的一側,我們可能需要調整棒棒 所謂,sv...

機器學習實戰 初識支援向量機 SVM

svm 支援向量機。支援向量機,其含義是通過支援向量運算的分類器。其中 機 的意思是機器,可以理解為分類器。它是一種二類分類模型,其基本模型定義為特徵空間上的間隔最大的線性分類器,其學習策略便是間隔最大化,最終可轉化為乙個凸二次規劃問題的求解。給定訓練樣本集d y 我 分類學習的基本思想是基於訓練集...