Skip to content

Fast Iterative Shrinkage-Thresholding Algorithm (FISTA) preserves the computational simplicity of ISTA but with a global rate of convergence which is proven to be significantly better, both theoretically and practically.

Notifications You must be signed in to change notification settings

bingtan72/fast-iterative-shrinkage-thresholding-algorithm

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fast-iterative-shrinkage-thresholding-algorithm

Reference

Fast Iterative Shrinkage-Thresholding Alogorithm for Linear Inverse Problems

Fast Iterative Shrinkage-Thresholding Algorithm (FISTA)

Fast Iterative Shrinkage-Thresholding Algorithm (FISTA) preserves the computational simplicity of ISTA but with a global rate of convergence which is proven to be significantly better, both theoretically and practically.

Cost function

Cost function is fomulated by data fidelty term 1/2 * || A(x) - y ||_2^2 and l1 regularization term L * || X ||_1 as follow,

    (P1) arg min_x [ 1/2 * || A(x) - y ||_2^2 + L * || x ||_1 ].

Equivalently,

    (P2) arg min_x [ 1/2 * || x - x_(k) ||_2^2 + L * || x ||_1 ],

where,

    x_(k) = x_(k-1) - t_(k) * AT(A(x) - y) and t_(k) is step size. 

(P2) is equal to l1 proximal operator,

    (P2) = prox_(L * l1)( x_(k) )

         = soft_threshold(x_(k), L)

where,

    l1 is || x ||_1 and L is thresholding value.

soft_threshold is defined by,

    function y = soft_threshold(x, L)
        y = (max(abs(x) - L, 0)).*sign(x);
    end

The basic iteration FISTA for solving problem (P1 = P2)

    for k = 1 : N
        x_(k)   = prox_(L * l1)( y_(k) );
        
        t_(k+1) = ( 1 + sqrt( 1 + 4*t_(k)^2 ) )/2;
        
        y_(k+1) = x_(k) + ( t_(k) - 1 )/( (t_(k+1) ) * ( x_(k) - x_(k-1) ); 
    end

where,

    prox_(L * l1)( x ) = soft_threshold(x, L).

About

Fast Iterative Shrinkage-Thresholding Algorithm (FISTA) preserves the computational simplicity of ISTA but with a global rate of convergence which is proven to be significantly better, both theoretically and practically.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • MATLAB 100.0%