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