支持向量机matlab代码程序_支持向量机(SVM)小结
什么是SVM?
SVM(全稱:Support Vector Machine)支持向量機,這只是它的名稱,向量就是和我們以前學過的向量一樣(下文有介紹),它可以有效解決分類問題(我們只討論分類問題),何為分類呢?顧名思義,就是把你擁有的數(shù)據(jù)分成幾類。
什么是向量?
向量,顧名思義就是有方向的純量(標量),純量呢就是只有大小,沒有方向比如5,只有大小,是一個純量。
比如有一輛車以每秒10 m/s 的速度超你行駛過來,和以每秒 10m/s 的速度遠離你,這車輛的速度雖然一樣,但是造成的結果卻是大相徑庭(撞到你或者遠離你),但是如果給這個速度加一個方向,那么你就知道它是以10m/s的速度超哪個方向運動了,這就是向量,有方向的純量。
支持向量機(SVM)
怎么分類
如下圖:
綠圈和紅圈是兩類數(shù)據(jù),這兩條線是分類的基準,也就是分類邊界,那么那條線比較好一些呢?
什么是好?也就是能分的平均,也就是盡量使兩類數(shù)據(jù)對稱,盡量使未來的數(shù)據(jù)也能正確的匹配,泛化力較好(就是使未來要分類的數(shù)據(jù)也能正確分類),所以那條分類線你應該在腦海里想想出來了吧。
我們要找到最好的一條線去分類這兩類數(shù)據(jù),那么哪條線是最好的分類線呢?
如下圖有紅色兩條線,紅色兩條線是兩類數(shù)據(jù)的邊界,恰好能分類此數(shù)據(jù),但是它的容錯性比較低,但是如果我們取兩條線中間的那條綠色的線作為分類線,那么對于此類數(shù)據(jù),應該是最好的分類線了。
專業(yè)名稱:
那條綠色的線我們叫做超平面(hiperplane)
為什么是超平面,不是超平線呢?因為這只是簡單的二維數(shù)據(jù),我們到三維,四維,甚至更高維度,所以就稱之為超平面了。
支持向量:E,G,K這三個點,支持向量機,有支持向量的點,當然也有不支持的點,這個圖只有E,G,K三個點是支持向量的。
間隔:兩條紅線直接的距離我們稱之為間隔。
所以我們以下目標就是要找到那個hiperplane,這是一個數(shù)學問題,你要記住以下方法都是來尋找那個超平面的,只不過是利用數(shù)學技巧進行優(yōu)化尋找罷了,目的還是尋找那個hiperplane。
先找二維平面(也就是上圖點的分類 線)
利用如上分類點A,B,C,D,E,F,G,H,I,J,K
設訓練樣本集為T:
T = {(X→,Y),?}
X 為分類的向量
Y 為分類標記,也就是兩個間隔的邊界
我們人工手動給現(xiàn)有的數(shù)據(jù)進行標記,使得我們現(xiàn)有的數(shù)據(jù)可以分成兩類,一類標記為+1,另一類為-1,我們稱之為監(jiān)督學習。
監(jiān)督學習:
監(jiān)督學習,就如同我們上面的例子一樣,是給現(xiàn)有數(shù)據(jù)進行人工手動做分類標簽,使程序一開始就知道要分類的標簽。
非監(jiān)督學習:
非監(jiān)督學習,剛好和監(jiān)督學習相反,就是不給數(shù)據(jù)做分類標簽,讓機器自動識別分類類型(不要覺得不可思議,只要我們數(shù)據(jù)得當,那么結合一定的數(shù)學模型,也是容易做到的)
所以得到一個約束方程
對偶問題
線性不可分
我們上面的數(shù)據(jù)是線性可以分離的,也就是一條線即可分開數(shù)據(jù),但是如果遇到下面這種怎么辦呢?
利用核函數(shù)
轉換數(shù)據(jù)到高維度,如圖
什么是核函數(shù)
簡單理解就是通過數(shù)學手段,把當前數(shù)據(jù)維度轉換到更高維度,如上圖的過程
原文連接:http://deelmind.cn/2018/01/29/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0-SVM/#more
總結
以上是生活随笔為你收集整理的支持向量机matlab代码程序_支持向量机(SVM)小结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NEBULA超级计算机,科学网—中国“星
- 下一篇: matlab人脸追踪,求大神帮助我这个菜