Mercurial > hg > smallbox
comparison DL/two-step DL/SMALL_two_step_DL.m @ 170:68fb71aa5339 danieleb
Added dictionary decorrelation functions and test script for Letters paper.
author | Daniele Barchiesi <daniele.barchiesi@eecs.qmul.ac.uk> |
---|---|
date | Thu, 06 Oct 2011 14:33:41 +0100 |
parents | 290cca7d3469 |
children | d0645d5fca7d |
comparison
equal
deleted
inserted
replaced
169:290cca7d3469 | 170:68fb71aa5339 |
---|---|
112 Problem.A = dico; | 112 Problem.A = dico; |
113 solver = SMALL_solve(Problem, solver); | 113 solver = SMALL_solve(Problem, solver); |
114 [dico, solver.solution] = dico_update(dico, sig, solver.solution, ... | 114 [dico, solver.solution] = dico_update(dico, sig, solver.solution, ... |
115 typeUpdate, flow, learningRate); | 115 typeUpdate, flow, learningRate); |
116 dico = normcols(dico); | 116 dico = normcols(dico); |
117 switch DL.param.decFcn | 117 switch lower(DL.param.decFcn) |
118 case 'mailhe' | 118 case 'ink-svd' |
119 dico = dico_decorr_symetric(dico, mu, solver.solution); | 119 dico = dico_decorr_symetric(dico,mu,solver.solution); |
120 case 'tropp' | 120 case 'grassmannian' |
121 [n m] = size(dico); | 121 [n m] = size(dico); |
122 dico = grassmannian(n,m,[],[],[],dico); | 122 dico = grassmannian(n,m,[],0.9,0.99,dico); |
123 case 'barchiesi' | 123 case 'shrinkgram' |
124 [n m] = size(dico); | 124 dico = shrinkgram(dico,mu); |
125 params.nIter = 100; | 125 case 'iterproj' |
126 dico = iterativeprojections(n,m,[],[],[],dico); | 126 dico = iterativeprojections(dico,mu,Problem.b1,solver.solution); |
127 [~, ~, W] = rotatematrix(Problem.b,dico*solver.solution,'conjgradlie',params); | |
128 dico = W*dico; | |
129 otherwise | 127 otherwise |
130 end | 128 end |
131 | 129 |
132 if ((show_dictionary)&&(mod(i,show_iter)==0)) | 130 if ((show_dictionary)&&(mod(i,show_iter)==0)) |
133 dictimg = SMALL_showdict(dico,[8 8],... | 131 dictimg = SMALL_showdict(dico,[8 8],... |