关于matlab的SVM工具箱的几个函数
最小二乘支持向量机的自编代码
- clear all;
- clc;
- N=35; %样本个数
- NN1=4; %预测样本数
- %********************随机选择初始训练样本及确定预测样本*******************************
- x=[];
- y=[];
- index=randperm(N); %随机排序N个序列
- index=sort(index);
- gama=23.411; %正则化参数
- deita=0.0698; %核参数值
- %thita=; %核参数值
- %*********构造感知机核函数*************************************
- %for i=1:N
- % x1=x(:,index(i));
- % for j=1:N
- % x2=x(:,index(j));
- % K(i,j)=tanh(deita*(x1'*x2)+thita);
- % end
- %end
- %*********构造径向基核函数**************************************
- for i=1:N
- x1=x(:,index(i));
- for j=1:N
- x2=x(:,index(j));
- x12=x1-x2;
- K(i,j)=exp(-(x12'*x12)/2/(deita*deita));
- end
- end
- %*********构造多项式核函数****************************************
- %for i=1:N
- % x1=x(:,index(i));
- % for j=1:N
- % x2=x(:,index(j));
- % K(i,j)=(1+x1'*x2)^(deita);
- % end
- %end
- %*********构造核矩阵************************************
- for i=1:N-NN1
- for j=1:N-NN1
- omeiga1(i,j)=K(i,j);
- end
- end
- omeiga2=omeiga1';
- omeiga=omeiga2+(1/gama)*eye(N-NN1);
- A12=ones(1,N-NN1);
- A21=A12';
- A=[0 A12;A21 omeiga];
- %**************************************
- for i=1:N-NN1
- B21(i,:)=y(index(i));
- end
- B=[0;B21];
- %********LS-SVM模型的解******************************
- C=A\B;
- %******
- b=C(1); %模型参数
- for i=1:N-NN1
- aipha(i)=C(i+1); %模型参数,行向量
- end
- %*******************************************
- for i=1:N %预测模型
- aifx(i)=b+(aipha)*K(1:N-NN1,i);
- end
- %*******************************************
- aifx
- index
复制代码
|
为什么出不来结果