wolffd@0: % cr_: training correct wolffd@0: % cr : testing correct wolffd@0: feature_file = 'rel_music_raw_features+simdata_ISMIR12'; wolffd@0: vars = whos('-file', feature_file); wolffd@0: A = load(feature_file,vars(1).name,vars(2).name,vars(3).name,vars(4).name); wolffd@0: raw_features = A.(vars(1).name); wolffd@0: indices = A.(vars(2).name); wolffd@0: tst_inx = A.(vars(3).name); wolffd@0: trn_inx = A.(vars(4).name); wolffd@0: % wolffd@0: % figure(1); imagesc(raw_features);colorbar; wolffd@0: mod = load('res_48'); wolffd@0: features = logistic(raw_features*mod.W_max{1} + repmat(mod.hB_max{1},size(raw_features,1),1)); wolffd@0: % figure(2); imagesc(features);colorbar; wolffd@0: wolffd@0: num_case = size(trn_inx,1); wolffd@0: [trnd_12 trnd_13] = subspace_distances(trn_inx,features,indices,1,1); wolffd@0: [tstd_12 tstd_13] = subspace_distances(tst_inx,features,indices,1,1); wolffd@0: cr_ = 0; % correct rate for training wolffd@0: cr = 0; % correct rate for testing wolffd@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: %% CODE HERE %% wolffd@0: %[Ws cr_] = gradient_ascent(trnd_12,trnd_13,0.1,0.1,0.00002); %eNum = 10 wolffd@0: [Ws cr_] = gradient_ascent(trnd_12,trnd_13,0.05,0.01,0.00002); wolffd@0: wolffd@0: for i = 1:num_case wolffd@0: cr = cr + sum((tstd_13{i}-tstd_12{i})*Ws{i}' > 0, 1)/size(tstd_12{i},1); wolffd@0: end wolffd@0: cr = cr/num_case; wolffd@0: %% Check the result wolffd@0: fprintf('Gradient RBM Test / Train Result=%f / %f\n',cr*100,cr_*100); wolffd@0: %fprintf('Training=%f Testing=%f\n',cr_,cr);