|
- clc;
- clear all;
-
- rng(1)
- Dtot_num = 300; % num samples
- d = 10; % data dimension
- % nz = 0.5; % density (for sparisity)
- % X = sprandn(n,d,nz);
- X=randn(Dtot_num,d);
- % w=ones(1,d);
- % Y=X*w'+0.3*randn(n,1);
- X=randn(Dtot_num,d);
- %w=ones(1,d);
- Y = X(:,2) + 3*X(:,5) +0.2*randn(Dtot_num,1);
-
-
- S=0;
-
- for i=1:Dtot_num
- S=S+X(i,:)'*X(i,:);
- end
-
- S=full(S/Dtot_num);
- S=S+0.0001*eye(d);
- LL=svd(S);
-
- % Loss function 0.5|wx-y|^2+0.05/n*|w|^2 parameters
- L=max(LL);
- mu=min(LL);
- lambda=5*10^(-5);
- Pre_NUM=100;
- d=10;
- Pre_X=randn(Pre_NUM,d);
- %w=ones(1,d);
- Pre_Y = Pre_X(:,2) + 3*Pre_X(:,5) +0.2*randn(Pre_NUM,1);
-
-
-
- % X_com=[X;Pre_X];
- % Y_com=[Y;Pre_Y];
- % D_com_num=Pre_NUM+Dtot_num;
- % estimate Optimal w
- w_opt=inv(X'*X+2*Dtot_num*lambda*eye(d))*X'*Y;
- F_star=sum((X*w_opt-Y).^2)/2/Dtot_num+5*10^(-5)*norm(w_opt)^2;
-
- F_1=sum((-Y).^2)/2/Dtot_num;
-
- %Initial distance F(w1)-F(w*)=F0
- Opti_G_ini=F_1-F_star;
-
-
- save D_Sample300_1025
-
-
- % %%% Data Generation
- % Dtot_num=10000;
- % Dk_num=1000;
- % K=40;
- % d=10;
- % Dk_u=randn(Dk_num,d,K);
- % Dk_v=ones(Dk_num,K);
- % F_star_sample_k=ones(Dk_num,K);
- % F_star_k=ones(1,K);
- % F_ini_sample_k=ones(Dk_num,K);
- % F_ini_k=ones(1,K);
- % U_ini=[];
- % V_ini=[];
- % lambda=5*1e-5;
- %
- %
- %
- % % X=randn(n,d);
- % % Y = X(:,2) + 3*X(:,5) +0.2*randn(n,1);
- %
- %
- %
- % for i=1:K
- % Dk_v(:,i)=Dk_u(:,2,i)+3*Dk_u(:,5,i)+0.2*normrnd(0,1,[Dk_num,1]);
- % %% Matrix U
- % U_ini=[U_ini;Dk_u(:,:,i)];
- % V_ini=[V_ini; Dk_v(:,i) ];
- % end
- % A=U_ini' *U_ini+lambda.*eye(d);
- % w_star=inv(A)*U_ini' *V_ini;%% Optimal parameter value
- % C=U_ini'*U_ini/Dtot_num+1e-4.*eye(d);
- % C_eig=eig(C);
- % mu=min(C_eig);
- % L=max(C_eig);
- %
- % %% Optimal loss function;
- %
- % for i=1:K
- % for j=1:Dk_num
- % F_star_sample_k(j,i)=norm(w_star'*Dk_u(j,:,i)'-Dk_v(j,i))^2./2;
- % end
- % F_star_k(i)=sum(F_star_sample_k(:,i))/Dk_num+lambda*norm(w_star)^2;
- % end
- %
- % F_star=sum(Dk_num.*F_star_k)/Dtot_num;
- %
- % %% intialize the parameter value;
- % w_ini=zeros(d,1);
- % % Initialize the loss function
- % for i=1:K
- % for j=1:Dk_num
- % F_ini_sample_k(j,i)=norm(w_ini'*Dk_u(j,:,i)'-Dk_v(j,i))^2./2;
- % end
- % F_ini_k(i)=sum(F_ini_sample_k(:,i))/Dk_num+lambda*norm(w_ini)^2;
- % end
- %
- % F_ini=sum(Dk_num.*F_ini_k)/Dtot_num;
- %
- %
- % save D_Sample1014
-
-
-
-
-
|