1 svm
1.1 svm的正確理解
svm的基本原理普遍表述:svm通過非線性變換把原空間對映到高維空間,然後在這個高維空間構造線性分類器(在高維空間資料點更容易分開)。甚至有部分學者認為svm可以克服維數災難(curseof dimensionality)。
如果這樣理解svm的基本原理,我覺得還沒有看到問題的本質。因為這個看法不能解釋下面的事實:svm在高維空間裡構建分類器後,為什麼這個分類器不會對原空間的資料集overfitting呢?
成功理解svm可以考慮以下幾個方面:
1)svm求解最優分類器的時候,使用了l2-norm regularization,這是控制overfitting的關鍵。
2)svm不需要顯式地構建非線性對映,而是通過kernel trick完成,這樣大大提高運算效率。
3)svm的優化問題屬於乙個二次規劃(quadratic programming),優化專家們為svm這個特殊的優化問題設計了很多巧妙的解法,比如smo(sequentialminimal optimization)解法。4)vapnika的統計學習理論為svm提供了很好的理論背景(這點不能用來解釋為什麼svm這麼popular,因為由理論匯出的bound太loose)。
1.2 svm定義
支援向量機(supportvector machine)是建立在統計學習理論的vc維理論和結構風險最小原理基礎上的,根據有限的樣本資訊在模型的複雜性(即對特定訓練樣本的學習精度)和學習能力(即無錯誤地識別任意樣本的能力)之間尋求最佳折衷,以期獲得最好的推廣能力。
應用:在解決小樣本、非線性及
高維模式識別中表現出許多特有的優勢,並能夠推廣應用到函式
擬合等其他機器學習問題中。
分類器要求:通過線性分類
器把n維實空間中的點通過乙個n-1維的超平面分開,分類器應能找到分類最佳的平面,使 屬於兩個不同類的資料點間隔最大的那個面(稱為最大間隔超平面)。此時,分類器就稱為最大間隔分類器。
支援原因:svm將向量對映到乙個更高維的空間裡建立有乙個最大間隔超平面,在分開資料的超平面的兩邊建有兩個互相平行的超平面,建立方向合適的分隔超平面使兩個與之平行的超平面間的距離最大化。其假定為平行超平面間的距離或差距越大,分類器的總誤差越小。
支援向量:在間隔區邊緣的訓練樣本點。
「機(machine,機器)」:是乙個演算法,在機器學習領域常把一些演算法看做是乙個機器。
支援向量機亮點:在傳統的最優化問題中提出了最大最小對偶、
拉格朗日
對偶理論。
svm 的關鍵:核函式。
由於低維空間向量集通常難於劃分,解決的方法是將它們對映到高維空間。核函式解決計算複雜度問題,只要選用適當的核函式,就可以得到高維空間的分類函式,採用不同的核函式將導致不同的svm演算法。
校正:確定核函式的已知資料也存在一定的相對誤差
,引入了鬆弛係數以及懲罰係數兩個參變數來加以校正。在確定了核函式基礎上,再經過大量對比實驗等將這兩個係數取定,該項研究就基本完成,適合相關學科或業務內應用,且有一定能力的推廣性。
svm與神經網路
類似,都是學習型的機制,但與神經網路不同的是svm使用的是數學方法和優化技術。
支援向量機理論及工具LibSVM
支援向量機使用工具libsvm libsvm是台灣 林智仁 chih jen lin 教授2001年開發的一套支援向量機的庫,這套庫運算速度還是挺快的,可以很方便的對資料做分類或 回歸。由於libsvm程式小,運用靈活,輸入引數少,並且是開源的,易於擴充套件,因此成為目前國內應用最多的svm的庫。這...
感知機 理解係數向量和樣本點遞迴
感知機是監督學習,適用於線性可分的樣本 和fisher一樣,先有訓練集,再有測試集 分類的理想情況是 如果 代表y要下移動,為了清晰的說,我們將y方差寫成直線一般式 y ax by c 0 其中y的法向量是 a,b 黃色的乙個是樣本點的向量表示 藍色的是法向量 寫出向量的乘法公式,我選取的是標準基 ...
支援向量機學習總結
1.支援向量機是什麼?支援向量機是乙個超平面分類演算法,他通過對已有標記的資料進行訓練得出分類的超平面,對未知標記的點進行分類.2.支援向量機的工作原理?線性可分情況 1.求平面wx b 0,即求w和b的值.使得樣本集中的點到平面的距離min yi wtxi b w 的值關於xi最小.實際上是求 m...