⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 svm.m

📁 it is simple svm. it is having only introductory part of SVM.
💻 M
字号:
% x = [0.5 0.5
%     0.5 1.0 
%     1. 1.5
%     1.5 0.5
%     1.5 2.0
%     2.0 1.0
%     2.5 2.0 
%     2.5 2.5 ];

% emoarr=[-35.283 -35.838 -39.320 -36.399 -37.045 -40.404 -35.323 -39.673 -37.345 -36.834 -40.187 -35.556 -36.804 -38.280 -44.062 -46.525 -41.798 -38.022 -43.482 -55.137 -41.366 -43.782 -39.586 -41.620 -42.320 -45.927 -43.335 -43.361 -41.834 -46.079 -45.823 -38.815 -42.175 -31.032 -40.633 -42.867 -39.630 -40.647 -37.542 -33.943 -30.617 -38.836 -37.685 -35.172 -39.662 -38.560 -38.289 -38.485 -40.245 -39.295 -43.754 -38.477 -41.898 -41.914 -38.529 -39.436 -40.708 -39.792 -41.474 -41.557 -35.548 -38.288 -37.731 -39.810 -34.668 -38.530 -36.372 -38.910 -35.667 -37.631 -38.018 -31.730 -33.699 -33.764 -29.956 -36.175 -33.515 -33.209 -35.401 -35.583 -35.446 -32.632 -34.714 -40.367 -37.429 -42.542 -41.821 -40.143 -44.509 -39.839 -39.317 -36.782 -40.975 -39.023 -39.990 -43.214 -44.503 -39.354 -39.729 -46.556 -44.626 -44.277 -42.699 -42.621 -45.373 -42.490 -36.561 -40.219 -41.304 -38.093 -39.299 -40.859 -42.524 -37.506 -41.408 -40.113 -39.607 -33.147 -40.331 -41.172 -36.073 -43.930 -43.380 -41.042 -41.157 -40.722 -34.397 -25.646 -25.303 -25.060 -25.494 -28.230 -29.370 -25.124 -19.535 -20.450 -20.422 -19.076 -20.579 -20.913 -22.311 -23.812 -21.687 -18.873 -17.411 -19.928 -19.415 -23.991 -23.579 -25.148 -24.379 -28.110 -23.626 -27.483 -26.893 -25.908 -22.254 -26.525 -23.586 -26.532 -26.761 -17.508 -18.652 -16.820 -16.278 -16.990 -24.140 -24.448 -25.807 -25.087 -26.483 -23.767 -23.745 -25.746 -22.035 -26.111 -22.601 -23.941 -25.229 -26.643 -21.507 -16.955 -17.761 -16.557 -17.097 -17.590 -22.433 -20.878 -21.199 -32.301 -32.478 -37.192 -31.606 -28.244 -32.205 -30.328 -27.693 -29.874 -34.748 -33.391 -32.613 -31.404 -31.675 -33.461 -38.432 -35.935 -31.152 -39.159 -40.028 -38.982 -37.848 -36.289 -33.950 -33.376 -34.797 -35.814 -42.745 -37.969 -38.589 -37.638 -33.144 -36.545 -36.420 -39.235 -34.668 -37.277 -31.781 -35.327 -33.738 -28.195 -30.496 -33.214 -30.034 -26.168 -29.993 -35.338 -40.667 -41.311 -37.231 -36.544 -40.166 -37.153 -41.275 -37.363 -32.473 -34.622 -38.214 -31.606 -35.786 -30.932 -41.033 -36.569 -35.589 -40.520 -40.934 -36.580 -43.682 -41.329 -40.703 -36.794]; 
% emolable=[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1] ;

% emolable= [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1] ;
% emoarr = [-25.646 -25.303 -25.060 -25.494 -28.230 -29.370 -25.124 -19.535 -20.450 -20.422 -19.076 -20.579 -20.913 -22.311 -23.812 -21.687 -18.873 -17.411 -19.928 -19.415 -23.991 -23.579 -25.148 -24.379 -28.110 -23.626 -27.483 -26.893 -25.908 -22.254 -26.525 -23.586 -26.532 -26.761 -17.508 -18.652 -16.820 -16.278 -16.990 -24.140 -24.448 -25.807 -25.087 -26.483 -23.767 -23.745 -25.746 -22.035 -26.111 -22.601 -23.941 -25.229 -26.643 -21.507 -16.955 -17.761 -16.557 -17.097 -17.590 -22.433 -20.878 -21.199 -32.301 -32.478 -37.192 -31.606 -28.244 -32.205 -30.328 -27.693 -29.874 -34.748 -33.391 -32.613 -31.404 -31.675 -33.461 -38.432 -35.935 -31.152 -39.159 -40.028 -38.982 -37.848 -36.289 -33.950 -33.376 -34.797 -35.814 -42.745 -37.969 -38.589 -37.638 -33.144 -36.545 -36.420 -39.235 -34.668 -37.277 -31.781 -35.327 -33.738 -28.195 -30.496 -33.214 -30.034 -26.168 -29.993 -35.338 -40.667 -41.311 -37.231 -36.544 -40.166 -37.153 -41.275 -37.363 -32.473 -34.622 -38.214 -31.606 -35.786 -30.932 -41.033 -36.569 -35.589 -40.520 -40.934 -36.580 -43.682 -41.329 -40.703 -36.794] ;

% load emodb.mat
% D = [-1 -1 -1 -1 1 1 1 1 ]' 

x = [ 0.3419	0.0026	0.0017
1.253	0.0048	0.0062
0.5204	0.0031	0.0023
1.2978	0.0047	0.0114
1.3411	0.0047	0.0065
0.9636	0.0035	0.0061
0.4728	0.0029	0.0026
1.1627	0.0042	0.0075
3.5682	0.011	0.0289
0.5594	0.0032	0.0025
1.0681	0.0039	0.0055
0.5817	0.0027	0.0042
1.2115	0.0042	0.0083
1.0378	0.0039	0.0051
0.6706	0.0034	0.0037
0.5402	0.0024	0.0027
0.6735	0.0028	0.004
0.6944	0.0035	0.0035
1.4353	0.005	0.0078
0.4838	0.0024	0.0026
0.3392	0.0028	0.0016
0.8562	0.0036	0.0043
0.9237	0.0039	0.0047
0.4799	0.003	0.0028
1.2024	0.0044	0.006
0.8331	0.0038	0.0035
0.3463	0.0027	0.0017
1.0758	0.0042	0.0063
0.6787	0.0031	0.0035
1.2685	0.0038	0.0131
2.056	0.0061	0.0119
0.5773	0.0028	0.0039
0.8618	0.0041	0.0043
1.0191	0.0042	0.0044
0.7127	0.0033	0.0058
0.3843	0.0029	0.0021
0.7663	0.0034	0.0042
0.4435	0.0024	0.0026
0.5198	0.0032	0.0025
0.4429	0.0024	0.0029
0.617	0.0032	0.0031
0.4933	0.0026	0.0029
0.6746	0.0039	0.0035
0.2524	0.0027	0.0017
0.5541	0.0028	0.004
0.5804	0.0028	0.0045
1.2729	0.0048	0.0054
0.9072	0.0038	0.0054
1.1475	0.0046	0.0072
0.7166	0.0035	0.0028
1.6865	0.0054	0.0122
1.4829	0.0051	0.0075
1.0592	0.0041	0.0055
1.0185	0.0043	0.0048
0.6898	0.0031	0.0039
1.0548	0.0037	0.0057
0.6669	0.0032	0.0036
0.883	0.0035	0.0048
0.9259	0.0038	0.0052
0.9973	0.0039	0.0058
1.5613	0.0052	0.0077
0.4878	0.0032	0.0028
1.8105	0.0063	0.0142
1.2537	0.0049	0.0064
0.4445	0.0031	0.0037
0.6028	0.0031	0.0031
0.654	0.0033	0.0034
0.7013	0.0032	0.0055
0.7246	0.0032	0.0038
1.1855	0.0041	0.0072
0.7297	0.0032	0.0034
0.9513	0.0036	0.0043
0.727	0.0044	0.0037
0.2453	0.0021	0.0019
0.7926	0.0036	0.0041
0.9262	0.004	0.0045
0.8146	0.0037	0.004
0.8207	0.0033	0.0058
0.4321	0.0038	0.0019
1.1115	0.0045	0.0062
0.7227	0.0033	0.0051
1.1404	0.0042	0.008
0.4449	0.0023	0.0028
1.0199	0.004	0.0061
0.9651	0.0039	0.0057
1.2481	0.0047	0.0055
1.3956	0.0046	0.009
1.1354	0.0041	0.0071
1.8404	0.0057	0.0145
1.3634	0.0043	0.0123
0.8555	0.0034	0.0055
0.4117	0.0028	0.0026
0.901	0.0038	0.0056
1.1632	0.0044	0.0059
0.4233	0.003	0.0038
0.7186	0.0035	0.0033
0.4415	0.0027	0.002
0.6342	0.0029	0.0035
1.0162	0.004	0.0054
1.4952	0.005	0.0094
2.4342	0.0062	0.0191
2.8086	0.0074	0.0221
2.4745	0.0065	0.0153
2.8022	0.0073	0.0284
2.8079	0.0073	0.0159
2.6158	0.0066	0.0231
2.4548	0.0064	0.0205
2.7075	0.007	0.0195
4.5105	0.0123	0.0408
2.4808	0.0065	0.0122
2.6696	0.0069	0.0159
2.4684	0.0062	0.0218
2.7325	0.007	0.0249
2.6417	0.0068	0.0165
2.5392	0.0066	0.0186
2.4406	0.0061	0.0214
2.4897	0.0063	0.0263
2.5649	0.0066	0.033
2.8661	0.0075	0.0173
2.4283	0.0061	0.0219
2.4161	0.0063	0.0168
2.5844	0.0067	0.0182
2.6342	0.0068	0.0194
2.4429	0.0063	0.0354
2.7488	0.0071	0.0157
2.6075	0.0068	0.0207
2.4163	0.0062	0.0209
2.6984	0.007	0.0221
2.5299	0.0064	0.029
2.7003	0.0068	0.0279
3.2313	0.0083	0.0239
2.4711	0.0063	0.0294
2.685	0.007	0.0159
2.6851	0.007	0.0133
2.5483	0.0065	0.0321
2.4394	0.0063	0.0207
2.5619	0.0066	0.0196
2.4221	0.0061	0.0321
2.4798	0.0065	0.0213
2.4355	0.0061	0.0256
2.5107	0.0065	0.0233
2.4429	0.0062	0.03
2.5767	0.0068	0.018
2.382	0.0062	0.038
2.4828	0.0063	0.0388
2.4819	0.0062	0.0433
2.791	0.0074	0.0146
2.6518	0.0068	0.0285
2.7705	0.0073	0.0212
2.5385	0.0066	0.0129
3.0154	0.0078	0.0289
2.8886	0.0076	0.0163
2.6786	0.007	0.0153
2.694	0.0071	0.0173
2.5352	0.0064	0.0259
2.658	0.0067	0.0209
2.5072	0.0064	0.0329
2.599	0.0066	0.0188
2.633	0.0068	0.021
2.6524	0.0068	0.0204
2.9311	0.0076	0.0173
2.4778	0.0065	0.0226
3.1495	0.0084	0.0301
2.798	0.0074	0.0214
2.3681	0.0062	0.0517
2.5072	0.0064	0.03
2.5325	0.0065	0.0215
2.5428	0.0065	0.0267
2.5443	0.0065	0.027
2.7372	0.0069	0.0189
2.5308	0.0065	0.0138
2.6227	0.0067	0.0216
2.6098	0.0071	0.0114
2.3733	0.006	0.0265
2.5741	0.0067	0.0182
2.6632	0.0069	0.0218
2.6014	0.0067	0.0167
2.579	0.0065	0.0257
2.5234	0.0068	0.0094
2.7508	0.0072	0.0197
2.5316	0.0065	0.0319
2.7188	0.007	0.0269
2.4198	0.0061	0.0311
2.672	0.0069	0.0273
2.6613	0.0068	0.031
2.8039	0.0074	0.0143
2.8261	0.0073	0.0254
2.7311	0.007	0.0196
3.0913	0.008	0.0316
2.7672	0.0071	0.031
2.5849	0.0066	0.0256
2.4541	0.0063	0.0173
2.6349	0.0068	0.0238
2.7526	0.0071	0.0159
2.4449	0.0064	0.0293
2.5572	0.0067	0.014
2.4479	0.0062	0.0144
2.4934	0.0064	0.0142
2.679	0.0069	0.0261
2.9263	0.0075	0.0214 ];

D = [1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1
 -1 ];

% x = emoarr;
% D=emolable' 

q = size(x,1)
epsilon = 1e-5 
H = zeros(q,q);
for i = 1:q
    for j = 1:q
        
        H(i,j) = D(i)*D(j)*x(i,:)*x(j,:)'; 
%         H(i) = D(i))*x(i,:)' ;
     
    end
end 
H;

f = -ones(q,1)
length(f)

Aeq = D' 
beq = 0 



A = [] 
b = [] 
vlb = zeros(q,1)
vub = 2.664*ones(q,1) % changing C = 2.664 can change lambda
x0 = zeros(q,1)

[lambda] = quadprog(H,f,A,b,Aeq,beq,vlb,vub,x0)



svindex = find(lambda > epsilon)
usvindex = find(lambda > epsilon & lambda < 2.664-epsilon)
ns = length(usvindex)
% w_0 = (1/ns)*sum(D(usvindex) - H(usvindex,svindex)*lambda(svindex).*D(usvindex))
w_0 = sum(D(usvindex) - H(usvindex,svindex)*lambda(svindex).*D(usvindex))

sum = 0 
 for i = 1:q
     sum = sum + (D(i)*lambda(i)*x(i))
 end
w = sum


% x1 = [ 0.0 0.5 0.5 1. 1.5 1.5 2.0 2.5 2.5 3.0 ] 
% y1 = [ 0.0 0.5 1.0 1.5 0.5 2.0 1.0 2.0 2.5 3.0 ] 
% 
% plot(x1,y1,'d')
% 
% x2 = []
% line(

% xmax=max(x(1,:))+1 
% xmin=min(x(1,:))-1 
% ymax=max(x(2,:))+1 
% ymin=min(x(2,:))-1 
% hold off 
% plot(x(1,class==1),x(2,class==1),'bx',...
%      x(1,class==2),x(2,class==2),'ro') 
% axis([xmin xmax ymin ymax]) 
% hold on 
% line([xmin xmax],[-(w(1)*xmin+w_0)/w(2),-(w(1)*xmax+w_0)/w(2)]) 


% % classification 



 sign(w.*x+w_0)



% sum = 0 
% y = [2.5 2.5]
% for i = 1:ns
%     sum = sum + (D(i)*lambda(i)*(y*x(i))+w_0)
% end
% c = sign(sum)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -