°üÒѾ½âѹµ½Îļþ¼ÐF:\\R2009b\\toolbox\\svm
matlabÖÐSVM¹¤¾ßÏäµÄʹÓ÷½·¨
1,ÏÂÔØSVM¹¤¾ßÏä:http://see.xidian.edu.cn/faculty/chzheng/bishe/indexfiles/indexl.htm 2,°²×°µ½matlabÎļþ¼ÐÖÐ
1)½«ÏÂÔØµÄSVM¹¤¾ßÏäµÄÎļþ¼Ð·ÅÔÚ\\matlab71\\toolbox\\Ï 2)´ò¿ªmatlab->File->Set PathÖÐÌí¼ÓSVM¹¤¾ßÏäµÄÎļþ¼Ð ÏÖÔÚ,¾Í³É¹¦µÄÌí¼Ó³É¹¦ÁË.
¿ÉÒÔ²âÊÔÒ»ÏÂ:ÔÚmatlabÖÐÊäÈëwhich svcoutput »Ø³µ,Èç¹û¿ÉÒÔÕýÈ·ÏÔʾ·¾¶,¾ÍÖ¤Ã÷Ìí¼Ó³É¹¦ÁË,ÀýÈç:
C:\\Program Files\\MATLAB71\\toolbox\\svm\\svcoutput.m 3,ÓÃSVM×ö·ÖÀàµÄʹÓ÷½·¨
1)ÔÚmatlabÖÐÊäÈë±ØÒªµÄ²ÎÊý:X,Y,ker,C,p1,p2 ÎÒ×öµÄ²âÊÔÖÐÈ¡µÄÊý¾ÝΪ: N = 50; n=2*N;
randn('state',6); x1 = randn(2,N) y1 = ones(1,N); x2 = 5+randn(2,N); y2 = -ones(1,N); figure;
plot(x1(1,:),x1(2,:),'bx',x2(1,:),x2(2,:),'k.'); axis([-3 8 -3 8]); title('C-SVC') hold on; X1 = [x1,x2]; Y1 = [y1,y2]; X=X1'; Y=Y1';
ÆäÖÐ,XÊÇ100*2µÄ¾ØÕó,YÊÇ100*1µÄ¾ØÕó C=Inf;
ker='linear'; global p1 p2 p1=3; p2=1;
È»ºó,ÔÚmatlabÖÐÊäÈë:[nsv alpha bias] = svc(X,Y,ker,C),»Ø³µÖ®ºó,»áÏÔʾ:
Support Vector Classification _____________________________ Constructing ... Optimising ...
Execution time: 1.9 seconds Status : OPTIMAL_SOLUTION |w0|^2 : 0.418414 Margin : 3.091912 Sum alpha : 0.418414 Support Vectors : 3 (3.0%) nsv = 3 alpha = 0.0000 0.0000 0.0000 0.0000 0.0000
2)ÊäÈëÔ¤²âº¯Êý,¿ÉÒԵõ½ÓëÔ¤ÏëµÄ·ÖÀà½á¹û½øÐбȽÏ.
ÊäÈë:predictedY = svcoutput(X,Y,X,ker,alpha,bias),»Ø³µºóµÃµ½:
predictedY = 1 1 1 1 1 1 1
1 1 3)»Í¼
ÊäÈë:svcplot(X,Y,ker,alpha,bias),»Ø³µ
²¹³ä:
XºÍYΪÊý¾Ý,m*n:mΪÑù±¾Êý,nÎªÌØÕ÷ÏòÁ¿Êý
±ÈÈç:È¡20×éѵÁ·Êý¾ÝX,10×éÓйÊÕÏ,10×éÎÞ¹ÊÕϵÄ,ÿ¸öѵÁ·Êý¾ÝÓÐ13¸öÌØÕ÷²ÎÊý,Ôòm=20,n=13
YΪ20*1µÄ¾ØÕó,ÆäÖÐ,10×éΪ1,10×éΪ-1.
¶ÔÓÚ²âÊÔÊý¾ÝÖÐ,Èç¹ûÈ¡6×é²âÊÔÊý¾Ý,3×éÓйÊÕÏ,3×éÎÞ¹ÊÕϵÄ,Ôòm=6,n=13 YÖÐ,m=6,n=1
http://www.support-vector-machines.org/SVM_soft.html
SVM - Support Vector Machines
Software
Train support vector machine classifier
http://www.mathworks.com/access/helpdesk/help/toolbox/bioinfo/ref/svmtrain.html
һЩÎÊÌ⣿£¿£¿£¿£¿£¿£¿
1.½ñÌìÎÒÔÚʹÓÃSVMͨÓù¤¾ßÏä¶ÔÑÛµçµÄÐźÅÊý¾Ý½øÐзÖÀàʱ³öÏÖÈçÏ´íÎó£º
Support Vector Classification
_____________________________ Constructing ... Optimising ...
??? Dimension error (arg 3 and later).
Error in ==> svc at 60
[alpha lambda how] = qp(H, c, A, b, vlb, vub, x0, neqcstr);
²»ÖªµÀÊÇʲôÔÒò£¿
´ð£º½ñÌìÉÏÎçÖÕÓÚÕÒµ½³öÏÖÕâÒ»´íÎóµÄÔÒò£ºËü²¢²»ÊÇSVM³ÌÐòµÄÎÊÌ⣬ÊÇÎÒÔÚÕûÀíÑù±¾Ê±£¬°Ñ²ÎÊýÐèÒªµÄÑù±¾ÐÐÁеߵ¹ËùÖ¡£
´Ë´¦XÊÇÑù±¾ÌØÕ÷£¨ÐÐÏòÁ¿£©£¬YΪ¶ÔÓ¦Ñù±¾µÄÀà±ð£¨Ò»ÐжÔÓ¦XµÄÒ»ÐÐÑù±¾£©£¡