📄 framekernelex3.m
字号:
%
%
% Comparison of RKHS Kernel, Dual Green Kernel and
% Frame Green Kernel Performance with regularization
% parameter adjusted by a massive cross-validation.
%
% This script can also be used to compare the performance
% of the different stabilizer with regards to regularization
% parameters
%
% 01/05/2001 Alain Rakotomamonjy
close all
clear all
verbose=0;
bruit=0.2;
N=100;
itermax=1;
itercvmax=50;
erreur=zeros(itermax,3);
erreurcv=zeros(itercvmax,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];
lambdavec=0:20:510;
nlv=length(lambdavec);
for i=1:itermax
erreurcv=zeros(nlv,3);
for j=1:nlv
lambda=lambdavec(j);
errrkhs=0;
errdual=0;
errframe=0;
for k=1:itercvmax
%-------------------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,lambda);
x1=xf;
K=kernelframe(x1,kernel,x2,framematrix,t,dual);
T=phispan(x1,spanning,dilation,uo,a,bord1,bord2);
f1=K*c+T*d;
%---------------------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,lambda);
x1=xf;
K=kernelframe(x1,kernel,x2,dual,t,dual);
T=phispan(x1,spanning,dilation,uo,a,bord1,bord2);
f2=K*c+T*d;
%---------------------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,lambda);
x1=xf;
K=kernelframe(x1,kernel,x2,framematrix,t,framematrix);
T=phispan(x1,spanning,dilation,uo,a,bord1,bord2);
f3=K*c+T*d;
errrkhs=errrkhs+sum( (yf-f1).^2/200);
errdual=errdual+sum( (yf-f2).^2/200);
errframe=errframe+sum( (yf-f3).^2/200);
fprintf('%d..',k);
end;
erreurcv(j,:)=[errrkhs errdual errframe]/itercvmax;
fprintf('\nj:%d lambda: %d MSE RKHS Kernel : %f Dual Green : %f Frame Green :%f\n',j,lambda,erreurcv(j,1),erreurcv(j,2),erreurcv(j,3));
end;
end;
erreur(i,:)=min(erreurcv);
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -