svm源碼
❶ 基於支持向量機(SVM)預測模型 比如預測人口數、價格等,隨便給個matlab源代碼
http://..com/question/203592147.html
❷ 有誰下過Matlab的SVM-KM中的m-svm代碼嗎新手求助
向量機類型應是最經典簡單的svm,核函數可以是多項式,高斯,小波等核函數,向量機求解用的是二次規劃演算法,也就是QP演算法(quadratic programming algorithm )
❸ 跪求支持向量回歸機SVR源代碼(最好是java的,matlab也可以),感激不盡
最有名的SVM程序包是台灣國立大學的林智仁教授開發的libSVM,直接在Google裡面輸入尋找官網下載,是C++編寫,但有matlab介面,在本地編譯後就可以使用,很方便。
❹ 誰可以給我SVM分類演算法的IDL源代碼
如果只是想用,可以調用ENVI的SVM~在ENVI幫助文檔搜ENVI_SVM_DOIT
如果想看代碼,我沒編過,不過在網路文庫看到一個,根據那個WORD裡面的鏈接就能下下來了,不過是否正確不知道耶~http://wenku..com/view/167cf9f37c1cfad6195fa79c.html
❺ 誰可以給我SVM分類演算法的源代碼
專業的可以看LIBSVM,如果只是想學習下具體實現可以參考這個地方:http://www.fuqingchuan.com/2014/03/222.html, 這里用100行python代碼就實現了SVM!
❻ 在libsvm的源代碼中,為什麼要把支持向量表示成二維數組[][]svm_node的形式琢磨了很久還是沒想明白
libsvm雖然支持多類分類,但是其本質是基於「一對一」法的多類分類,因此究其其本質其實是個二分類svm。
既然是二分類,肯定有屬於第一類-1的支持向量,屬於第二類+1的支持向量,它肯定應該是個二維數組。
libsvm訓練輸出model中的參數有一個是sv_coef,它表示的是支持向量在決策函數中:
的系數a,而b是model里的rho。
最後說下model里全有啥參數:
model=
Parameters: svm的類型參數
nr_class: 有多少個類別
totalSV: 支持向量總個數
rho: 就是決策函數里那個b
Label: 類標
ProbA:
ProbB:這兩個是但svm 選-b是用到的參數
nSV: 每類有多少個支持向量
sv_coef: 決策函數那個a
SVs: 裡面裝的是所以支持向量
菜鳥個人愚見,如有錯誤望指正!共同學習
❼ 誰有改進的svm文本分類的源代碼
支持向量機SVM ( Support Vector Machines)是由Vanpik領導的AT&TBell實驗室研究小組
在1963年提出的一種新的非常有潛力的分類技術, SVM是一種基於統計學習理論的模式識別方法,主要應用於模式識別領域.由於當時這些研究尚不十分完善,在解決模式識別問題中往往趨於保守,且數學上比較艱澀,因此這些研究一直沒有得到充的重視.直到90年代,一個較完善的理論體系—統計學習理論 ( StatisticalLearningTheory,簡稱SLT) 的實現和由於神經網路等較新興的機器學習方法的研究遇到一些重要的困難,比如如何確定網路結構的問題、過學習與欠學習問題、局部極小點問題等,使得SVM迅速發展和完善,在解決小樣本 、非線性及高維模式識別問題中表現出許多特有的優勢,並能夠推廣應用到函數擬合等其他機器學習問題中.從此迅速的發展起來,現在已經在許多領域(生物信息學,文本和手寫識別等)都取得了成功的應用。
SVM的關鍵在於核函數,這也是最喜人的地方。低維空間向量集通常難於劃分,解決的方法是將它們映射到高維空間。但這個辦法帶來的困難就是計算復雜度的增加,而核函數正好巧妙地解決了這個問題。也就是說,只要選用適當的核函數,我們就可以得到高維空間的分類函數。在SVM理論中,採用不同的核函數將導致不同的SVM演算法
它是一種以統計學理論為基礎的,以結構風險最小化的學習機學習方法,要優於神經網路學習,以上是摘自本人的畢業設計,如需轉載,請通知本人
❽ svm的輸入和輸出問題
你好,LIBSVM簡介 [.v5o#Vd
sH:Luo+]
支持向量機所涉及到的數學知識對一般的化學研究者來說是比較難的,自己編程實現該演算法難度就更大了。但是現在的網路資源非常發達,而且國際上的科學研究者把他們的研究成果已經放在網路上,免費提供給用於研究目的,這樣方便大多數的研究者,不必要花費大量的時間理解SVM演算法的深奧數學原理和計算機程序設計。目前有關SVM計算的相關軟體有很多,如LIBSVM、mySVM、SVMLight等,這些軟體大部分的免費下載地址和簡單介紹都可以在[url]
http://www.kernel-machines.org/[/url]上獲得。 pq2j j.XL7m4B
LIBSVM是台灣大學林智仁(Lin Chih-Jen)副教授等開發設計的一個簡單、易於使用和快速有效的SVM模式識別與回歸的軟體包,他不但提供了編譯好的可在Windows系列系統的執行文件,還提供了源代碼,方便改進、修改以及在其它操作系統上應用;該軟體還有一個特點,就是對SVM所涉及的參數調節相對比較少,提供了很多的默認參數,利用這些默認參數就可以解決很多問題;並且提供了交互檢驗(Cross Validation)的功能。該軟體包可以在[url]
http://www.csie.ntu.e.tw/~cjlin/[/url]免費獲得。該軟體可以解決C-SVM分類、-SVM分類、-SVM回歸和-SVM回歸等問題,包括基於一對一演算法的多類模式識別問題。在第2章中我們也介紹了該軟體的一些優點,因此通過綜合考慮,我們決定採用該軟體作為工作軟體。SVM用於模式識別或回歸時,SVM方法及其參數、核函數及其參數的選擇,目前國際上還沒有形成一個統一的模式,也就是說最優SVM演算法參數選擇還只能是憑借經驗、實驗對比、大范圍的搜尋或者利用軟體包提供的交互檢驗功能進行尋優。
4lE qC iC mt'j?)FN"b
LIBSVM使用方法 p-t8\q9P!e(jVL6e
1XP6S+YzWZ LibSVM是以源代碼和可執行文件兩種方式給出的。如果是Windows系列操作系統,可以直接使用軟體包提供的程序,也可以進行修改編譯;如果是Unix類系統,必須自己編譯,軟體包中提供了編譯格式文件,我們在SGI工作站(操作系統IRIX6.5)上,使用免費編譯器GNU C++3.3編譯通過。 |U4E P})T/u
8rur3[8U.zeQ9VX
LIBSVM使用的數據格式 W2}&p]lU
該軟體使用的訓練數據和檢驗數據文件格式如下: x4Vy\ G1y6g\3~
<label> <index1>:<value1> <index2>:<value2> ...
6a X)I&x9l@4cU {2q 其中<label> 是訓練數據集的目標值,對於分類,它是標識某類的整數(支持多個類);對於回歸,是任意實數。<index> 是以1開始的整數,可以是不連續的;<value>為實數,也就是我們常說的自變數。檢驗數據文件中的label只用於計算準確度或誤差,如果它是未知的,只需用一個數填寫這一欄,也可以空著不填。在程序包中,還包括有一個訓練數據實例:heart_scale,方便參考數據文件格式以及練習使用軟體。
H'?-]1a%HC Us 可以編寫小程序,將自己常用的數據格式轉換成這種格式
"pm2M;L7E{~5t
mLf \*?8n"x9A Svmtrain和Svmpredict的用法
g Ddk2C-Cd LIBSVM軟體提供的各種功能都是DOS命令執行方式。我們主要用到兩個程序,svmtrain(訓練建模)和svmpredict(使用已有的模型進行預測),下面分別對這兩個程序的使用方法、各參數的意義以及設置方法做一個簡單介紹:
8x*l/L/E0b Svmtrain的用法:svmtrain [options] training_set_file [model_file] U1NjN e f%W}0R
Options:可用的選項即表示的涵義如下
'fH*{2_5u -s svm類型:SVM設置類型(默認0)
_`"JB+i@9~ 0 -- C-SVC O)Z5y$E$c#Cy
1 --v-SVC
MQL(d;t 2 – 一類SVM
$E(@D ShN 3 -- e -SVR
] K ]V~b+t0}2Gl 4 -- v-SVR
J0j5|rJ[ -t 核函數類型:核函數設置類型(默認2)
,pvvLy O 0 – 線性:u'v Cj-AB;jn8Cbk
1 – 多項式:(r*u'v + coef0)^degree 7nq{|q*] @1{3T
2 – RBF函數:exp(-r|u-v|^2) o4S JB-zV2P%?,C
3 –sigmoid:tanh(r*u'v + coef0) \"m w._)u|,Bu4C
-d degree:核函數中的degree設置(默認3) K0?8R!fR;g+W2k
-g r(gama):核函數中的函數設置(默認1/ k) :u6r%p*o$QG
-r coef0:核函數中的coef0設置(默認0) &xO&LjbX(y
-c cost:設置C-SVC, -SVR和-SVR的參數(默認1) Y:N.Jv8v
-n nu:設置-SVC,一類SVM和- SVR的參數(默認0.5)
;r:h%XN2HH6Bf -p e:設置 -SVR 中損失函數的值(默認0.1) sW'o.m-R7]
-m cachesize:設置cache內存大小,以MB為單位(默認40)
:K ^*y[BE7]\7U -e :設置允許的終止判據(默認0.001) )rI#@C7F5Q Rw,J R']Vz{
-h shrinking:是否使用啟發式,0或1(默認1) "|g6wfu
-wi weight:設置第幾類的參數C為weightC(C-SVC中的C)(默認1)
4Rf W-~|oY] -v n: n-fold交互檢驗模式 Js}7ee&n\{c
其中-g選項中的k是指輸入數據中的屬性數。option -v 隨機地將數據剖分為n部分並計算交互檢驗准確度和均方根誤差。以上這些參數設置可以按照SVM的類型和核函數所支持的參數進行任意組合,如果設置的參數在函數或SVM類型中沒有也不會產生影響,程序不會接受該參數;如果應有的參數設置不正確,參數將採用默認值。training_set_file是要進行訓練的數據集;model_file是訓練結束後產生的模型文件,文件中包括支持向量樣本數、支持向量樣本以及lagrange系數等必須的參數;該參數如果不設置將採用默認的文件名,也可以設置成自己慣用的文件名。 E M%WTF
Svmpredict的用法:svmpredict test_file model_file output_file 1bv R [?d
model_file是由svmtrain產生的模型文件;test_file是要進行預測的數據文件;Output_file是svmpredict的輸出文件。svm-predict沒有其它的選項。 FOiJEO4vsVo#Q
Sx$^&O+K7I@-V;z(M svmtrain -s 0 -c 1000 -t 1 -g 1 -r 1 -d 3 data_file VAHQ!cm+b*Q)t U
訓練一個由多項式核(u'v+1)^3和C=1000組成的分類器。 u:p+jD5q"Pr
svmtrain -s 1 -n 0.1 -t 2 -g 0.5 -e 0.00001 data_file
JxJ&A.J8n t/D*[+Kd 在RBF核函數exp(-0.5|u-v|^2)和終止允許限0.00001的條件下,訓練一個-SVM ( = 0.1)分類器。
9P |4Q'xM}7mo[K!T svmtrain -s 3 -p 0.1 -t 0 -c 10 data_file
1| A {;}9R{+qI 以線性核函數u'v和C=10及損失函數= 0.1求解SVM回歸。;^ 27118希望對你有幫助!