📄 framekernelex2.m
字号:
%
% Comparison of RKHS Kernel, Dual Green Kernel and
% Frame Green Kernel Performance
%
%
% 01/01/2001 Alain Rakotomamonjy
close all
clear all
verbose=0;
bruit=0.2;
N=100;
lambda1=70;
lambda2=1500;
lambda3=200;
itermax=1;
erreur=zeros(itermax,3);
n=200;
t=linspace(0,10,n)';
uo=1;
a=2^0.25;
bord1=0;
bord2=10;
dilation=[-10];
framematrix=framewav(t,dilation,uo,a,bord1,bord2);
dual=dualframe(framematrix,t);
kernel='numerical';
spanning='wavelet';
dilation=[0 5];
for i=1:itermax
%-------------------creating and plotting data----------------
x=sort([0.01; 9.99;10*rand(N-2,1)]);
xf=linspace(0,10,200)';
x1=x;
yf=sin(xf)+1*sinc((xf-5))+sinc(5*(xf-2));
y=sin(x)+1*sinc((x-5))+1*sinc(5*(x-2))+bruit*randn(size(x));
x2=x;
%---------------------Regularization Networks : RKHS Kernel -----------------------
K=kernelframe(x1,kernel,x2,framematrix,t,dual);
T=phispan(x,spanning,dilation,uo,a,bord1,bord2);
[c,d]=regsolve(K,T,y,lambda1);
x1=xf;
K=kernelframe(x1,kernel,x2,framematrix,t,dual);
T=phispan(x1,spanning,dilation,uo,a,bord1,bord2);
f1=K*c+T*d;
fprintf('step 1 done\n');
%---------------------Regularization Networks : Dual Green Function -----------------------
x1=x;
K=kernelframe(x1,kernel,x2,dual,t,dual);
T=phispan(x,spanning,dilation,uo,a,bord1,bord2);
[c,d]=regsolve(K,T,y,lambda2);
x1=xf;
K=kernelframe(x1,kernel,x2,dual,t,dual);
T=phispan(x1,spanning,dilation,uo,a,bord1,bord2);
f2=K*c+T*d;
fprintf('step 2 done\n');
%---------------------Regularization Networks : Frame Green Kernel -----------------------
x1=x;
K=kernelframe(x1,kernel,x2,framematrix,t,framematrix);
T=phispan(x,spanning,dilation,uo,a,bord1,bord2);
[c,d]=regsolve(K,T,y,lambda3);
x1=xf;
K=kernelframe(x1,kernel,x2,framematrix,t,framematrix);
T=phispan(x1,spanning,dilation,uo,a,bord1,bord2);
f3=K*c+T*d;
fprintf('step 3 done\n');
%-------------------------Plots--------------------------------------------------
figure
hold on
h = plot(x,y,'g+',xf,yf,'g',xf,f1,'b',xf,f2,'r',xf,f3,'m');
legend('data points', 'original','RKHS Kern.','Dual Green Kern.','Frame Green Kern.');
set(h,'LineWidth',2);
title('Regularization Networks with frame Kernels');
xlabel('x');ylabel('y');
errrkhs=sum( (yf-f1).^2/200);
errdual=sum( (yf-f2).^2/200);
errframe=sum( (yf-f3).^2/200);
erreur(i,:)=[errrkhs errdual errframe];
fprintf('i:%d MSE RKHS Kernel : %f Dual Green : %f Frame Green :%f\n',i,errrkhs, errdual, errframe);
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -