1、支持向量機
1、基于統計理論的學習系統
2、屬于有監督學習的方法
3、用于樣本分類
4、分為線性分類模型與非線性分類模型
下面看一道例題:有18組數據,有不同的類別屬性,建立SVM模型。
clear clc X0=xlsread('Excel文件位置','B2:E19'); for i=1:3 X(:,i)=(X0(:,i)-mean(X0(:,i)))/std(X0(:,i));%數據標準化 end [m,n]=size(X); e=ones(m,1); D=[X0(:,4)]; B=zeros(m,m); C=zeros(m,m); for i=1:m B(i,i)=1; C(i,i)=D(i,1); end A=[-X(:,1).*D,-X(:,2).*D,-X(:,3).*D,D,-B]; b=-e; f=[0,0,0,0,ones(1,m)]; lb=[-inf,-inf,-inf,-inf,zeros(1,m)]'; x=linprog(f,A,b,[],[],lb); W=[x(1,1),x(2,1),x(3,1)]; CC=x(4,1); X1=[X(:,1),X(:,2),X(:,3)]; R1=X1*W'-CC; R2=sign(R1); disp('程序輸出結果:'); disp('超平面方程為:'); disp(['X1:',num2str(x(1,1))]); disp(['X2:',num2str(x(2,1))]); disp(['X3:',num2str(x(3,1))]); disp(['intercept:',num2str(x(4,1))]); disp('超平面分類結果:'); R=[R1,R2]
結果展示:
Optimization terminated.
程序輸出結果:
超平面方程為:
X1:2.4476
X2:0.07549
X3:1.17
intercept:0.70991
超平面分類結果:
R =
2.6679 1.0000
2.6442 1.0000
2.6488 1.0000
1.0000 1.0000
1.0000 1.0000
2.4507 1.0000
-0.8074 -1.0000
1.0000 1.0000
0.1764 1.0000
-1.0000 -1.0000
0.3683 1.0000
-1.7115 -1.0000
-3.7894 -1.0000
-6.5114 -1.0000
-5.3694 -1.0000
0.6273 1.0000
-4.1523 -1.0000
-4.0207 -1.0000
從結果可以看出存在一定的誤差,例如,第16組數據分類為1。
審核編輯:劉清
-
向量機
+關注
關注
0文章
166瀏覽量
20798 -
SVM
+關注
關注
0文章
154瀏覽量
32337
原文標題:支持向量機算法
文章出處:【微信號:嵌入式職場,微信公眾號:嵌入式職場】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論