📄 test_lwr_1d.m
字号:
function test_lwr_1D% test for 1D data set; due to globally optimized distance metric,% one can observe overfitting in the flat parts of the functionn = 100;% a random training setX = rand(n,1);Y = X - sin(2*pi*X.^3).*cos(2*pi*X.^3).*exp(X.^4) + randn(n,1)*0.1;% a systematic test setXt = (0:.01:1)';Yt = Xt - sin(2*pi*Xt.^3).*cos(2*pi*Xt.^3).*exp(Xt.^4);% find the optimal distance metric by cross validationDmin = 10;Dmax = 10000;n_iter = 50;for j=0:n_iter, D = Dmin-1 + exp(log(Dmax-(Dmin-1))/n_iter*j); mse_cv = 0; for i=1:n, XX=X; YY=Y; XX(i)=[]; YY(i)=[]; [beta,yq]=lwr(XX,YY,D,X(i)'); mse_cv = mse_cv+(Y(i)-yq)^2; end mse_cv = mse_cv/n; R(j+1,:)=[D,mse_cv]; disp(sprintf('%3d: D=%f mse_cv=%f',j,D,mse_cv));end[val,ind] = min(R(:,2));D = R(ind,1);% create the final LWR fitYp = zeros(size(Yt));for i=1:length(Xt), [beta,yq]=lwr(X,Y,D,Xt(i)'); Yp(i,1) = yq;endfigure(1);plot(X,Y,'*',Xt,[Yt Yp]);title(sprintf('Optimial D=%f',D));figure(2);plot(R(:,1),R(:,2));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -