Skip to main content
. Author manuscript; available in PMC: 2016 Jul 3.
Published in final edited form as: Proc IEEE Comput Soc Conf Comput Vis Pattern Recognit. 2015 Jun;2015:2207–2216. doi: 10.1109/CVPR.2015.7298833

Algorithm 1 Patch learning (PL)

Input: Training data D={(xi,yi)}i=1N, ML matrix W2, Lagrange multiplier of ADMM ρ and U, learning rate η1, and penalty parameter α.
Output: PL matrix W1 ∈ ℝD×L with sparse groups of rows.
1: for ℓ = 1, … , L do
2:   w1ℓ(0)=1D1D,v(0)=1D1D,a(0)=1,t=0; // Initialization
3:  while not convergence do
4:    z(t)=v(t)−η1(∇L(w1ℓ(t),D)+uℓ(t)+ρ(w1ℓ(t)−w2ℓ(t)));
5:   for p = 1, … , 49 do
6:     w1ℓp(t+1)=I(‖zp(t)‖2>α)(1−α‖zp(t)‖2)zp(t);
   // w1ℓp is the p-th patch within the ℓ-th column of W1
7:   end for
8:    a(t+1)=2t+1;
9:    v(t+1)=w1ℓ(t+1)+(1−a(t)a(t)a(t+1))(w1ℓ(t+1)−w1ℓ(t));
10:   t = t + 1;
11:  end while
12: end for