Jump to content

In-crowd algorithm: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Add link to active set methods and some other related techniques (BLITZ, FSS).
Line 1: Line 1:
The '''in-crowd algorithm''' is a numerical method for solving [[basis pursuit denoising]] quickly; faster than any other algorithm for large, sparse problems.<ref>See ''The In-Crowd Algorithm for Fast Basis Pursuit Denoising'', IEEE Trans Sig Proc 59 (10), Oct 1 2011, pp. 4595 - 4605, [http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=5940245], demo [[MATLAB]] code available [http://molnargroup.ece.cornell.edu/files/InCrowdBeta1.zip]</ref> Basis pursuit denoising is the following optimization problem:
The '''in-crowd algorithm''' is a numerical method for solving [[basis pursuit denoising]] quickly; faster than any other algorithm for large, sparse problems.<ref name="in_crowd">See ''The In-Crowd Algorithm for Fast Basis Pursuit Denoising'', IEEE Trans Sig Proc 59 (10), Oct 1 2011, pp. 4595 - 4605, [http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=5940245], demo [[MATLAB]] code available [http://molnargroup.ece.cornell.edu/files/InCrowdBeta1.zip]</ref> This algorithm is an [[active set method]], which minimizes iteratively sub-problems of the global basis pursuit denoising:


<math>\min_x \frac{1}{2}\|y-Ax\|^2_2+\lambda\|x\|_1.</math>
<math>\min_x \frac{1}{2}\|y-Ax\|^2_2+\lambda\|x\|_1.</math>


where <math>y</math> is the observed signal, <math>x</math> is the sparse signal to be recovered, <math>Ax</math> is the expected signal under <math>x</math>, and <math>\lambda</math> is the regularization parameter trading off signal fidelity and simplicity.
where <math>y</math> is the observed signal, <math>x</math> is the sparse signal to be recovered, <math>Ax</math> is the expected signal under <math>x</math>, and <math>\lambda</math> is the regularization parameter trading off signal fidelity and simplicity. The simplicity is here measured using the sparsity of the solution <math>x</math>, measure through its <math>\ell_1</math>-norm. The active set strategies are very efficient in this context as only few coefficient are expected to be non-zero. Thus, if they can be identified, solving the problem restricted to these coefficients yield the solution. Here, the features are greedily selected based on the absolute value of their gradient at the current estimate.

Other active-set methods for the basis pursuit denoising includes BLITZ<ref> Johnson T, Guestrin C. Blitz: ''A principled meta-algorithm for scaling sparse optimization''. In proceedings of the International Conference on Machine Learning (ICML) 2015 (pp. 1171-1179).([http://proceedings.mlr.press/v37/johnson15.pdf])</ref>, where the selection of the active set is performed using the [[duality gap]] of the problem, and The Feature Sign Search<ref>Lee H, Battle A, Raina R, Ng AY. ''Efficient sparse coding algorithms''. In Advances in neural information processing systems 2007 (pp. 801-808). [https://papers.nips.cc/paper/2979-efficient-sparse-coding-algorithms.pdf]</ref>, where the features are included based on the estimate of their sign.

=In-crowd Algorithm=


It consists of the following:
It consists of the following:
Line 16: Line 20:
# Go to step 3.
# Go to step 3.


Since every time the in-crowd algorithm performs a global search it adds up to <math>L</math> components to the active set, it can be a factor of <math>L</math> faster than the best alternative algorithms when this search is computationally expensive. A theorem<ref>See ''The In-Crowd Algorithm for Fast Basis Pursuit Denoising'', IEEE Trans Sig Proc 59 (10), Oct 1 2011, pp. 4595 - 4605, [http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=5940245]</ref> guarantees that the global optimum is reached in spite of the many-at-a-time nature of the in-crowd algorithm.
Since every time the in-crowd algorithm performs a global search it adds up to <math>L</math> components to the active set, it can be a factor of <math>L</math> faster than the best alternative algorithms when this search is computationally expensive. A theorem<ref name="in_crowd"/> guarantees that the global optimum is reached in spite of the many-at-a-time nature of the in-crowd algorithm.



==Notes==
==Notes==

Revision as of 08:39, 23 March 2019

The in-crowd algorithm is a numerical method for solving basis pursuit denoising quickly; faster than any other algorithm for large, sparse problems.[1] This algorithm is an active set method, which minimizes iteratively sub-problems of the global basis pursuit denoising:

where is the observed signal, is the sparse signal to be recovered, is the expected signal under , and is the regularization parameter trading off signal fidelity and simplicity. The simplicity is here measured using the sparsity of the solution , measure through its -norm. The active set strategies are very efficient in this context as only few coefficient are expected to be non-zero. Thus, if they can be identified, solving the problem restricted to these coefficients yield the solution. Here, the features are greedily selected based on the absolute value of their gradient at the current estimate.

Other active-set methods for the basis pursuit denoising includes BLITZ[2], where the selection of the active set is performed using the duality gap of the problem, and The Feature Sign Search[3], where the features are included based on the estimate of their sign.

In-crowd Algorithm

It consists of the following:

  1. Declare to be 0, so the unexplained residual
  2. Declare the active set to be the empty set
  3. Calculate the usefulness for each component in
  4. If on , no , terminate
  5. Otherwise, add components to based on their usefulness
  6. Solve basis pursuit denoising exactly on , and throw out any component of whose value attains exactly 0. This problem is dense, so quadratic programming techniques work very well for this sub problem.
  7. Update - n.b. can be computed in the subproblem as all elements outside of are 0
  8. Go to step 3.

Since every time the in-crowd algorithm performs a global search it adds up to components to the active set, it can be a factor of faster than the best alternative algorithms when this search is computationally expensive. A theorem[1] guarantees that the global optimum is reached in spite of the many-at-a-time nature of the in-crowd algorithm.


Notes

  1. ^ a b See The In-Crowd Algorithm for Fast Basis Pursuit Denoising, IEEE Trans Sig Proc 59 (10), Oct 1 2011, pp. 4595 - 4605, [1], demo MATLAB code available [2]
  2. ^ Johnson T, Guestrin C. Blitz: A principled meta-algorithm for scaling sparse optimization. In proceedings of the International Conference on Machine Learning (ICML) 2015 (pp. 1171-1179).([3])
  3. ^ Lee H, Battle A, Raina R, Ng AY. Efficient sparse coding algorithms. In Advances in neural information processing systems 2007 (pp. 801-808). [4]