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

📄 huiguiclass.m

📁 用于回归分析 模拟模型 适用于各种经济预测模型
💻 M
字号:
clear
t=-1:0.05:1;
y=sin(t);
n1=length(y);
randn('seed',1245678375);
for i=1:10
    y(i)=y(i)+normrnd(0,0.1);
end
for i=1:n1
    y(i)=y(i)+normrnd(0,0.8);
end
% 以上是sin函数的输入、输出,也就是训练样本。

q=40;
rou=1.5;
n=length(y);
for i=1:n
   for j=1:n
      d(i,j)=exp(-(x(i)-x(j))*(x(i)-x(j))'/rou);
   end
end
% 计算核函数矩阵。
mu(1:12)=0.0016;
e=0.0001;
c1=e-y;
c2=e+y;
c=c1;
c(n+1:2*n)=c2;
f=c;
H=d;
H(1:n,n+1:2*n)=-d;
H(n+1:2*n,1:n)=-d;
H(n+1:2*n,n+1:2*n)=d;
A=[];
b=[];
Aeq(1:n)=1;
Aeq(n+1:2*n)=-1;
beq=0;
LB(1:2*n)=0;UB(1:2*n)=mu.*q;
[X ok how]=quadprog(H,f,A,b,Aeq,beq,LB,UB);
% 以上是求解回归型支持向量机的对偶问题,把求出的alfa值存入向量X中。

k=1;
for i=1:n 
   if X(i)>0.0001&X(i)<(q-0.0001)
      xx(k)=x(i);
      yy(k)=y(i);
      k=k+1;
   end
end


   dd=0;
   for i=1:n
      dd=dd+(X(i)-X(i+n))*exp(-((xx(1)-x(i))*(xx(1)-x(i))')/rou);
   end
   b=yy(1)-e-dd;

% 以上是根据KKT条件求参数b的值。


aa=1.35;   % 此数可以在[0,pi/2]之间任意选取。
ok=0;
for i=1:n
   ok=ok+(X(i)-X(i+n))*exp(-((aa-x(i))*(aa-x(i))')/rou);
end
jie=ok+b
% 取自变量值为1.35时,代入训练好的支持向量机中,得出预测值为jie。

⌨️ 快捷键说明

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