天天看點

3分鐘掌握支援向量機-機器學習面試必備

簡介

支援向量機(Support Vector Machine,SVM)是Corinna Cortes和Vapnik等于1995年首先提出的,它在解決小樣本、非線性及高維模式識别中表現出許多特有的優勢,并能夠推廣應用到函數拟合等其他機器學習問題中。

總體概述

在機器學習中,支援向量機(SVM,還支援矢量網絡)是與相關的學習算法有關的監督學習模型,可以分析資料,識别模式,用于分類和回歸分析。

支援向量機方法是建立在統計學習理論的VC維理論和結構風險最小原理基礎上的,根據有限的樣本資訊在模型的複雜性(即對特定訓練樣本的學習精度)和學習能力(即無錯誤地識别任意樣本的能力)之間尋求最佳折中,以求獲得最好的推廣能力 。

更正式地說,一個支援向量機的構造一個超平面,或在高或無限維空間,其可以用于分類,回歸,或其它任務中設定的超平面的。直覺地,一個良好的分離通過具有到任何類(所謂官能餘量)的最接近的訓練資料點的最大距離的超平面的一般實作中,由于較大的裕度下分類器的泛化誤差。

而原來的問題可能在一個有限維空間中所述,經常發生以鑒别集是不是在該空間線性可分。出于這個原因,有人建議,在原始有限維空間映射到一個高得多的立體空間,推測使分離在空間比較容易。保持計算負荷合理,使用支援向量機計劃的映射被設計成確定在點積可在原空間中的變量而言容易地計算,通過定義它們中選擇的核函數k(x,y)的計算以适應的問題。

在高維空間中的超平面被定義為一組點的點積與該空間中的向量是恒定的。限定的超平面的載體可被選擇為線性組合與參數\alpha_i中發生的資料的基礎上的特征向量的圖像。這種選擇一個超平面,該點中的x的特征空間映射到超平面是由關系定義:\字型\sum_i\alpha_ik(x_i中,x)=\mathrm{常數}。注意,如果k(x,y)變小為y的增長進一步遠離的x,在求和的每一項測量測試點x的接近程度的相應資料基點x_i的程度。以這種方式,核心上面的總和可以被用于測量各個測試點的對資料點始發于一個或另一個集合中的要被鑒别的相對接近程度。注意一個事實,即設定點的x映射到任何超平面可以相當卷積的結果,使集未在原始空間凸出于各之間複雜得多歧視。

我們通常希望分類的過程是一個機器學習的過程。這些資料點是n維實空間中的點。我們希望能夠把這些點通過一個n-1維的超平面分開。通常這個被稱為線性分類器。有很多分類器都符合這個要求。但是我們還希望找到分類最佳的平面,即使得屬于兩個不同類的資料點間隔最大的那個面,該面亦稱為最大間隔超平面。如果我們能夠找到這個面,那麼這個分類器就稱為最大間隔分類器。

支援原因

支援向量機将向量映射到一個更高維的空間裡,在這個空間裡建立有一個最大間隔超平面。在分開資料的超平面的兩邊建有兩個互相平行的超平面。建立方向合适的分隔超平面使兩個與之平行的超平面間的距離最大化。其假定為,平行超平面間的距離或差距越大,分類器的總誤差越小。

一個極好的指南是C.J.C Burges的《模式識别支援向量機指南》。

支援向量概述

所謂支援向量是指那些在間隔區邊緣的訓練樣本點。 這裡的“機(machine,機器)”實際上是一個算法。在機器學習領域,常把一些算法看做是一個機器。

支援向量機(Support vector machines,SVM)與神經網絡類似,都是學習型的機制,但與神經網絡不同的是SVM使用的是數學方法和優化技術。

相關技術支援

支援向量機是由Vapnik上司的AT&T Bell實驗室研究小組在1995年提出的一種新的非常有潛力的分類技術,SVM是一種基于統計學習理論的模式識别方法,主要應用于模式識别領域。由于當時這些研究尚不十分完善,在解決模式識别問題中往往趨于保守,且數學上比較艱澀,這些研究一直沒有得到充分的重視。

直到90年代,統計學習理論 (Statistical Learning Theory,SLT)的實作和由于神經網絡等較新興的機器學習方法的研究遇到一些重要的困難,比如如何确定網絡結構的問題、過學習與欠學習問題、局部極小點問題等,使得SVM迅速發展和完善,在解決小樣本、非線性及高維模式識别問題中表現出許多特有的優勢,并能夠推廣應用到函數拟合等其他機器學習問題中。從此迅速的發展起來,已經在許多領域(生物資訊學,文本和手寫識别等)都取得了成功的應用。

在地球實體反演當中解決非線性反演也有顯著成效,例如(支援向量機在預測地下水湧水量問題等)。已知該算法被應用的主要有:石油測井中利用測井資料預測地層孔隙度及粘粒含量、天氣預報工作等。

支援向量機中的一大亮點是在傳統的最優化問題中提出了對偶理論,主要有最大最小對偶及拉格朗日對偶。

SVM的關鍵在于核函數。低維空間向量集通常難于劃分,解決的方法是将它們映射到高維空間。但這個辦法帶來的困難就是計算複雜度的增加,而核函數正好巧妙地解決了這個問題。也就是說,隻要選用适當的核函數,就可以得到高維空間的分類函數。在SVM理論中,采用不同的核函數将導緻不同的SVM算法。

在确定了核函數之後,由于确定核函數的已知資料也存在一定的誤差,考慮到推廣性問題,是以引入了松弛系數以及懲罰系數兩個參變量來加以校正。在确定了核函數基礎上,再經過大量對比實驗等将這兩個系數取定,該項研究就基本完成,适合相關學科或業務内應用,且有一定能力的推廣性。當然誤差是絕對的,不同學科、不同專業的要求不一。

支援向量機的了解需要資料挖掘或機器學習的相關背景知識,在沒有背景知識的情況下,可以先将支援向量機看作簡單分類工具,再進一步引入核函數進行了解。

https://mp.weixin.qq.com/s/5MvX8YW0TGdry4bs1bmpsA

繼續閱讀