svm簡單的例子,適合初學者**學習,含有精確度的表示
編譯環境為matlab
x=[0
1012
-1];y=[0
0112
-1];z=[-
111-
111]
;%其中,(x,y)代表二維的資料點,z 表示相應點的型別屬性。
data=[1
,0;0
,1;2
,2;-
1,-1
;0,0
;1,1
];%(x,y)構成的資料點
groups=[1
;1;1
;1;-
1;-1
];%各個資料點的標籤
figure;
subplot(2
,2,1
);struct1 =
svmtrain
(data,groups,
'kernel_function'
,'quadratic'
,'showplot'
,true)
;%data資料,標籤,核函式,訓練
classes1=
svmclassify
(struct1,data,
'showplot'
,true)
;%data資料分類,並顯示圖形
title
('二次核函式');
correctrate1=
sum(groups==classes1)
/6
subplot(2
,2,2
);struct2 =
svmtrain
(data,groups,
'kernel_function'
,'rbf'
,'rbf_sigma'
,0.41
,'showplot'
,true)
;classes2=
svmclassify
(struct2,data,
'showplot'
,true)
;title
('高斯徑向基核函式(核寬0.41)');
correctrate2=
sum(groups==classes2)/6
subplot(2
,2,3
);struct3 =
svmtrain
(data,groups,
'kernel_function'
,'polynomial'
,'showplot'
,true)
;classes3=
svmclassify
(struct3,data,
'showplot'
,true)
;title
('多項式核函式');
correctrate3=
sum(groups==classes3)/6
subplot(2
,2,4
);struct4 =
svmtrain
(data,groups,
'kernel_function'
,'mlp'
,'showplot'
,true)
;classes4=
svmclassify
(struct4,data,
'showplot'
,true)
;title
('多層感知機核函式');
correctrate4=
sum(groups==classes4)
/6
fprintf
('1分類精度為:%f\n'
,correctrate1)
;fprintf
('2分類精度為:%f\n'
,correctrate2)
;fprintf
('3分類精度為:%f\n'
,correctrate3)
;fprintf
('4分類精度為:%f\n'
,correctrate4)
;
結果為
1分類精度為:0.666667
2分類精度為:1.000000
3分類精度為:0.666667
4分類精度為:0.000000
DCT 變換(幾個簡單的MATLAB的例子)
example 1 use real image a imread class f.png imshow a a is unit8 0,255 c dct2 a 進行余弦變換 figure b log abs c imshow b colormap jet 64 顯示為64級灰度 colorbar ...
SVM的簡單使用
使用svm資料進行了分類實現,4個標籤,每個標籤下有120組特徵向量,在測試中 要顯示每種類別的屬於概率。先是我主要的matlab warning off clc clear m xlsread data.xls a1 m 1 6 記錄事件1,2,3,4 a2 m 8 13 a3 m 15 20 a...
svm的簡單理解
svm是一種訓練機器學習的演算法,可以用於解決分類和回歸問題,同時還使用了一種稱之為kernel trick的技術進行資料的轉換,然後再根據這些轉換資訊,在可能的輸出之中找到乙個最優的邊界。簡單來說,就是做一些非常複雜的資料轉換工作,然後根據預定義的標籤或者輸出進而計算出如何分離使用者的資料。簡單理...