|
@@ -0,0 +1,50 @@
|
|
|
+% Author : F. Yahaya
|
|
|
+% Date: 06/09/2018
|
|
|
+% Contact: farouk.yahaya@univ-littoral.fr
|
|
|
+
|
|
|
+% clear all variables
|
|
|
+% First, initialize the random number generator to make the results in each
|
|
|
+% test repeatable.
|
|
|
+% using a seed of 1 rng(1)
|
|
|
+
|
|
|
+% Goal: Execute the algorithms viz., Vanila NeNMF, Randomized Power
|
|
|
+% Iterations NeNMF (RPI), Randomized Subspace Iterations NeNMF (RSI) for
|
|
|
+% sizes: [m,n]=500, 5000,10000.
|
|
|
+
|
|
|
+% Tmax : Execution time in seconds.
|
|
|
+% mat_size : Give a name to your matrix size for easier identification of output
|
|
|
+% Total_Tests : Total number of test to perform. E.g. we made 40 tests.
|
|
|
+
|
|
|
+clear
|
|
|
+clc
|
|
|
+Tmax =15;
|
|
|
+Total_Tests=40;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+for i=1:Total_Tests
|
|
|
+
|
|
|
+ mat_size='500x500'; % this is just for naming. To change matrix size, open the "data_simulation.m" file and change
|
|
|
+ % your mxn matrix size as desired.
|
|
|
+
|
|
|
+
|
|
|
+% % Randomized Subspace Iterations (NeNMF)
|
|
|
+
|
|
|
+ clearvars -except i Tmax mat_size Total_Tests;
|
|
|
+ load( ['synthetic_data/data_',mat_size,'_',int2str(i),'.mat'])
|
|
|
+ [ W_RSI_NeNMF , H_RSI_NeNMF,RRE_RSI_NeNMF, T_RSI_NeNMF] = RSI_NeNMF(X, Winit , Hinit ,r, Tmax);
|
|
|
+ save( ['output/RSI_NeNMF_',mat_size,'_',int2str(i),'.mat'], 'RRE_RSI_NeNMF', 'T_RSI_NeNMF', '-v7.3' )
|
|
|
+
|
|
|
+ % VANILA NeNMF
|
|
|
+ clearvars -except i Tmax mat_size Total_Tests;
|
|
|
+ load( ['synthetic_data/data_',mat_size,'_',int2str(i),'.mat'])
|
|
|
+ [ W_VANILLA , H_VANILLA,RRE_VANILLA_NeNMF, T_VANILLA_NeNMF ] = VANILLA_NeNMF(X , Winit , Hinit,Tmax );
|
|
|
+ save( ['output/vanilla_NeNMF_',mat_size,'_',int2str(i),'.mat'], 'RRE_VANILLA_NeNMF', 'T_VANILLA_NeNMF', '-v7.3' )
|
|
|
+
|
|
|
+ disp( ['iter:',int2str(i), ' of ', mat_size , ' OK!'] )
|
|
|
+
|
|
|
+end
|
|
|
+
|
|
|
+disp(['matrix size ', '( ',mat_size,' )', ' : all ',int2str(Total_Tests), ' Tests', ' completed!' ]);
|
|
|
+
|
|
|
+
|