2,安裝到matlab資料夾中
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 =
alpha =
0.0000
0.0000
0.0000
0.0000
0.0000
2)輸入**函式,可以得到與預想的分類結果進行比較.
輸入:predictedy = svcoutput(x,y,x,ker,alpha,bias),回車後得到:
predictedy =11
1111
1113)畫圖
輸入: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
支援向量機專題 線性支援向量機
原文 當資料線性不可分時,使用硬間隔支援向量機很難得到理想的結果。但是如果資料近似線性可分,可以採用軟間隔支援向量機 線性支援向量機 進行分類。這通常適用於有少量異常樣本的分類,如果使用線性支援向量機,它會盡量使得所有訓練樣本都正確,如下圖所示。顯然這並不是最好的結果,軟間隔支援向量機可以權衡 間隔...
支援向量機
支援向量機 svm 一種專門研究有限樣本 的學習方法。是在統計學習理論基礎之上發展而來的。沒有以傳統的經驗風險最小化原則作為基礎,而是建立在結構風險最小化原理的基礎之上,發展成為一種新型的結構化學習方法。結構風險最小歸納原理 解決了有限樣本或小樣本的情況下獲得具有優異泛化能力的學習機器。包含了學習的...
支援向量機
支援向量 與分離超平面距離最近的樣本點的例項 優點 泛化錯誤率低,計算開銷不大,結果易解釋 缺點 對引數調節和核函式選擇敏感,原始分類器不加修改僅適用於處理二分類問題 適合資料型別 數值型和標稱型資料 每次迴圈中選擇兩個alpha進行優化處理。一旦找到一對合適的alpha,那麼久增大其中乙個同時減小...