Mercurial > hg > smallbox
diff DL/Majorization Minimization DL/AudioDicoLearning/DLMM_Audio.m @ 155:b14209313ba4 ivand_dev
Integration of Majorization Minimisation Dictionary Learning
author | Ivan Damnjanovic lnx <ivan.damnjanovic@eecs.qmul.ac.uk> |
---|---|
date | Mon, 22 Aug 2011 11:46:35 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DL/Majorization Minimization DL/AudioDicoLearning/DLMM_Audio.m Mon Aug 22 11:46:35 2011 +0100 @@ -0,0 +1,39 @@ +function [] = DLMM_Audio(m,n,l,it,Lambda,admiss) +M = str2num(m); +N = str2num(n); +L = str2num(l); +IT = str2num(it); +lambda = str2num(Lambda); +load(['Param',num2str(M),'X',num2str(N),'X',num2str(L),'kADCT2X01.mat']) +method = ['bn';'un']; +res = 1; +while method(res)~=admiss + res = res+1; +end +[PhiN,PhiM] = size(Phio); +Phi = randn(M,N); +Phi = Phi*diag(1./sqrt(sum(Phi.^2))); +[PhiN,L] = size(x); +phim = PhiM; +unhat = zeros(PhiM,L); +maxIST = 10; +maxIDU = 10; +it = 1; +ert(1) = norm(Phi*unhat-x,'fro')^2 + lambda*(sum(sum(abs(unhat)))); +while it <= IT + it +% %%%%%% Iterative Soft-Thresholding for Sparse Approximation %%%%% + tau2 = .1+(svds(Phi,1))^2; + eps = 3*10^-4; + map = 0; % Projecting on the selected space (0=no,1=yes) + [unhat,er] = mm1(Phi,x,unhat,tau2,lambda,maxIST,eps,map); + er + %%%%%% Majorisation Minimisation for Dictionary Update %%%%%% + c = .1 + svds(unhat,1)^2; + eps = 10^-7; + [Phi,unhat] = dict_update_REG_cn(Phi,x,unhat,maxIDU,eps,'un'); + %%%%% + ert(it+1) = norm(Phi*unhat-x,'fro')^2 + lambda*(sum(sum(abs(unhat)))); + it = it+1; +end +save(['DLMMl1',num2str(PhiN),'X',num2str(PhiM),'X',num2str(L),'iK',method(res,:),'Lambda',num2str(lambda),'Audio.mat'],'Phi','x','unhat','ert','lambda') \ No newline at end of file