Input: A, b, s, α. |
▷ Input data A, predicted data b, sparseness level s, step size α. |
x0 ← random seed. |
▷ Initialize regression vector. |
p0 ← AT (b − Ax) − λ1x − λ2Δx
|
▷ Initialize direction with negative of gradient. |
r0 ← p0
|
▷ Initialize residual. |
k ← 0 |
▷ Initialize iterator. |
while not converged do
|
xk+1 ← xk + αpk
|
▷ Update solution. |
γopt ← G(xk+1, s) |
▷ Find appropriate value of γ for desired sparsity. |
xk+1 ← S(xk+1, γopt) |
▷ Project solution to entry in sparse feasible set. |
rk+1 ← AT (b − Axk+1) − λ1xk+1 + λ2Δxk+1
|
▷ Update residual. |
|
|
pk ← rk + βpk−1
|
▷ Update direction. |
k ← k +1. |
|
end while |
|
Output: xk. |
|