ADMM_lasso

This code applies ADMM for the lasso problem, (1/2)*||Ax-b||_l2^2+\lambda*||x||_l1. based on Sherman-Morrison-Woodbury matrix inversion.
250 Downloads
Updated 14 Jul 2022

View License

This code applies ADMM for the lasso problem,
-------------------------------------------------
(1/2)*||Ax-b||_l2^2+\lambda*||x||_l1
-------------------------------------------------
as follows:
x_{k+1}=(A'*A+rho*I)^-1*(A'*b+\rho(z_{k}-u_{k});
z_{k+1}=S_{\lambda/\rho}*(x_{k+1}+u_{k});
u_{k+1}=u_{k}+x_{k+1}-z_{k+1}.
The code is based on Section 6.4 of Boyd, S., Parikh, N., & Chu, E. (2011). "Distributed optimization and statistical learning via the alternating direction method of multipliers". Now Publishers Inc.
where the term psi_inv=(A'*A+rho*I)^-1 is calculated not directly, but by the Sherman-Morrison-Woodbury
(SMW) matrix inversion formula, to avoid the memory-intensive multiplication A'*A:
(A'*A+rho*I)^-1=(I*A'*A*I+rho*I)^-1
=1/rho*(I - A'*(A*A'+rho*I)^-1 * A)
=1\rho*I - 1/rho^2*(1/rho*A*A'+I)^-1 * A.
The above formula is adopted from an equation in Page 6 of Afonso, M. V., Bioucas-Dias, J. M., & Figueiredo, M. A. (2010). "Fast image recovery using variable splitting and constrained optimization. IEEE transactions on image processing, 19(9), 2345-2356. suggested by Boyd et al. in the aforementioned reference.

Cite As

Ghanbarzadeh-Dagheyan, Ashkan, et al. "Time-domain ultrasound as prior information for frequency-domain compressive ultrasound for intravascular cell detection: A 2-cell numerical model." Ultrasonics 125 (2022): 106791.

MATLAB Release Compatibility
Created with R2022a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Tags Add Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.0.1.1

Updated the citation.

1.0.1

- Just added an image as an example of solving a sparse imaging problem using the code.

1.0.0