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

📄 untitled1.asv

📁 用MATLAB编写的支持向量机
💻 ASV
字号:
function main()
clear;
global X y a o w N k
N=10;
n =N/2;
%randn('state',6);
%x1 = randn(2,n);
x1=[1 1;2 2;1 3;3 2;3.5 4]';
x2=[4 3;2 5;3.5 5;5 6;6 6]';
y1 = ones(1,n);
%x2 = 5+randn(2,n);
y2 = -ones(1,n);

figure;
plot(x1(1,:),x1(2,:),'*',x2(1,:),x2(2,:),'k.');
axis([-3 8 -3 8]);
hold on;

X1 = [x1,x2];
Y1 = [y1,y2]; 
X=X1';
y=Y1;
x=X;
C=10;
global KM 
o=2;
w=[];
KM='Kmulti'
[gg,zz,a,k,d,m]=matlabsvm2(C,KM,o,w,X,y,x)

 
a0=a';
for i=1:size(k,2)
    if a0(k(i))~=C
       plot(X(k(i),1),X(k(i),2),'s')
    elseif a0(k(i))==C
       plot(X(k(i),1),X(k(i),2),'ro') 
    end
end

%global p1
%p1=[-3:0.1:8];
p1=0;
for j=1:size(p1,2)
    %fun2(j)=@fun1;
    t1(j)=fzero('fun1',[-3,8])
end
plot(p1,t1)
%%%%%%%%%%%%%%
function tt=fun1(t1,X,y,a,o,w,N,k)
global KM 
global X y a o w N k
%p1=[-3:0.1:8];
p1=0
for j=1:size(p1,2)
    for i=1:N
        A1(i)=a(i,1)*y(i)*(1+sum(X(i,:).*[p1(j) t1]))^o;
        B1(i)=a(i,1)*y(i)*(1+sum(X(i,:).*X(k(1),:)))^o-y(k(1))/N;
    end
    B=sum(B1);
    A(j)=sum(A1);
    tt(j)=A(j)-B;
end

%E=B+1;
%F=B-1;

⌨️ 快捷键说明

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