https://en.wikipedia.org/w/index.php?action=history&feed=atom&title=In-crowd_algorithm In-crowd algorithm - Revision history 2025-05-29T18:13:31Z Revision history for this page on the wiki MediaWiki 1.45.0-wmf.2 https://en.wikipedia.org/w/index.php?title=In-crowd_algorithm&diff=1237711555&oldid=prev GreenC bot: Move 1 url. Wayback Medic 2.5 per WP:URLREQ#ieee.org 2024-07-31T03:56:00Z <p>Move 1 url. <a href="/wiki/User:GreenC/WaybackMedic_2.5" title="User:GreenC/WaybackMedic 2.5">Wayback Medic 2.5</a> per <a href="/wiki/Wikipedia:URLREQ#ieee.org" class="mw-redirect" title="Wikipedia:URLREQ">WP:URLREQ#ieee.org</a></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 03:56, 31 July 2024</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 1:</td> <td colspan="2" class="diff-lineno">Line 1:</td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>The '''in-crowd algorithm''' is a numerical method for solving [[basis pursuit denoising]] quickly; faster than any other algorithm for large, sparse problems.&lt;ref name="in_crowd"&gt;See ''The In-Crowd Algorithm for Fast Basis Pursuit Denoising'', IEEE Trans Sig Proc 59 (10), Oct 1 2011, pp. 4595 - 4605, [<del style="font-weight: bold; text-decoration: none;">http</del>://ieeexplore.ieee.org/<del style="font-weight: bold; text-decoration: none;">xpl</del>/<del style="font-weight: bold; text-decoration: none;">freeabs_all.jsp</del>?arnumber=5940245], demo [[MATLAB]] code available [http://molnargroup.ece.cornell.edu/files/InCrowdBeta1.zip]&lt;/ref&gt; This algorithm is an [[active set method]], which minimizes iteratively sub-problems of the global basis pursuit denoising:</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>The '''in-crowd algorithm''' is a numerical method for solving [[basis pursuit denoising]] quickly; faster than any other algorithm for large, sparse problems.&lt;ref name="in_crowd"&gt;See ''The In-Crowd Algorithm for Fast Basis Pursuit Denoising'', IEEE Trans Sig Proc 59 (10), Oct 1 2011, pp. 4595 - 4605, [<ins style="font-weight: bold; text-decoration: none;">https</ins>://ieeexplore.ieee.org/<ins style="font-weight: bold; text-decoration: none;">document</ins>/<ins style="font-weight: bold; text-decoration: none;">5940245/;jsessionid=8C87F84B1E82E90A4740FE46AF0BCCD2</ins>?arnumber=5940245], demo [[MATLAB]] code available [http://molnargroup.ece.cornell.edu/files/InCrowdBeta1.zip]&lt;/ref&gt; This algorithm is an [[active set method]], which minimizes iteratively sub-problems of the global basis pursuit denoising:</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>&lt;math&gt;\min_x \frac{1}{2}\|y-Ax\|^2_2+\lambda\|x\|_1.&lt;/math&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>&lt;math&gt;\min_x \frac{1}{2}\|y-Ax\|^2_2+\lambda\|x\|_1.&lt;/math&gt;</div></td> </tr> </table> GreenC bot https://en.wikipedia.org/w/index.php?title=In-crowd_algorithm&diff=1125332496&oldid=prev Amaurea: /* Algorithm */ Clarify unexplained I^c 2022-12-03T12:52:04Z <p><span class="autocomment">Algorithm: </span> Clarify unexplained I^c</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 12:52, 3 December 2022</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 12:</td> <td colspan="2" class="diff-lineno">Line 12:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Declare &lt;math&gt;x&lt;/math&gt; to be 0, so the unexplained residual &lt;math&gt; r = y&lt;/math&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Declare &lt;math&gt;x&lt;/math&gt; to be 0, so the unexplained residual &lt;math&gt; r = y&lt;/math&gt;</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div># Declare the active set &lt;math&gt;I&lt;/math&gt; to be the empty set</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div># Declare the active set &lt;math&gt;I&lt;/math&gt; to be the empty set<ins style="font-weight: bold; text-decoration: none;">, and &lt;math&gt;I^c&lt;/math&gt; to be its complement (the inactive set)</ins></div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Calculate the usefulness &lt;math&gt;u_j = | \langle r A_j \rangle | &lt;/math&gt; for each component in &lt;math&gt;I^c&lt;/math&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Calculate the usefulness &lt;math&gt;u_j = | \langle r A_j \rangle | &lt;/math&gt; for each component in &lt;math&gt;I^c&lt;/math&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># If on &lt;math&gt;I^c&lt;/math&gt;, no &lt;math&gt;u_j &gt; \lambda&lt;/math&gt;, terminate</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># If on &lt;math&gt;I^c&lt;/math&gt;, no &lt;math&gt;u_j &gt; \lambda&lt;/math&gt;, terminate</div></td> </tr> </table> Amaurea https://en.wikipedia.org/w/index.php?title=In-crowd_algorithm&diff=928196840&oldid=prev Frap: /* In-crowd Algorithm */ 2019-11-27T12:52:23Z <p><span class="autocomment">In-crowd Algorithm</span></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 12:52, 27 November 2019</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 7:</td> <td colspan="2" class="diff-lineno">Line 7:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Other active-set methods for the basis pursuit denoising includes BLITZ,&lt;ref&gt;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])&lt;/ref&gt; where the selection of the active set is performed using the [[duality gap]] of the problem, and The Feature Sign Search,&lt;ref&gt;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]&lt;/ref&gt; where the features are included based on the estimate of their sign.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Other active-set methods for the basis pursuit denoising includes BLITZ,&lt;ref&gt;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])&lt;/ref&gt; where the selection of the active set is performed using the [[duality gap]] of the problem, and The Feature Sign Search,&lt;ref&gt;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]&lt;/ref&gt; where the features are included based on the estimate of their sign.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>==<del style="font-weight: bold; text-decoration: none;">In-crowd </del>Algorithm==</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>==Algorithm==</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>It consists of the following:</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>It consists of the following:</div></td> </tr> </table> Frap https://en.wikipedia.org/w/index.php?title=In-crowd_algorithm&diff=917308055&oldid=prev Harryboyles: clean up; fix heading levels 2019-09-23T07:07:53Z <p>clean up; fix heading levels</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 07:07, 23 September 2019</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 5:</td> <td colspan="2" class="diff-lineno">Line 5:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>where &lt;math&gt;y&lt;/math&gt; is the observed signal, &lt;math&gt;x&lt;/math&gt; is the sparse signal to be recovered, &lt;math&gt;Ax&lt;/math&gt; is the expected signal under &lt;math&gt;x&lt;/math&gt;, and &lt;math&gt;\lambda&lt;/math&gt; is the regularization parameter trading off signal fidelity and simplicity. The simplicity is here measured using the sparsity of the solution &lt;math&gt;x&lt;/math&gt;, measure through its &lt;math&gt;\ell_1&lt;/math&gt;-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.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>where &lt;math&gt;y&lt;/math&gt; is the observed signal, &lt;math&gt;x&lt;/math&gt; is the sparse signal to be recovered, &lt;math&gt;Ax&lt;/math&gt; is the expected signal under &lt;math&gt;x&lt;/math&gt;, and &lt;math&gt;\lambda&lt;/math&gt; is the regularization parameter trading off signal fidelity and simplicity. The simplicity is here measured using the sparsity of the solution &lt;math&gt;x&lt;/math&gt;, measure through its &lt;math&gt;\ell_1&lt;/math&gt;-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.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Other active-set methods for the basis pursuit denoising includes BLITZ&lt;ref&gt;<del style="font-weight: bold; text-decoration: none;"> </del>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])&lt;/ref&gt;<del style="font-weight: bold; text-decoration: none;">,</del> where the selection of the active set is performed using the [[duality gap]] of the problem, and The Feature Sign Search&lt;ref&gt;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]&lt;/ref&gt;<del style="font-weight: bold; text-decoration: none;">,</del> where the features are included based on the estimate of their sign.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Other active-set methods for the basis pursuit denoising includes BLITZ<ins style="font-weight: bold; text-decoration: none;">,</ins>&lt;ref&gt;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])&lt;/ref&gt; where the selection of the active set is performed using the [[duality gap]] of the problem, and The Feature Sign Search<ins style="font-weight: bold; text-decoration: none;">,</ins>&lt;ref&gt;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]&lt;/ref&gt; where the features are included based on the estimate of their sign.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>=In-crowd Algorithm=</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">=</ins>=In-crowd Algorithm<ins style="font-weight: bold; text-decoration: none;">=</ins>=</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>It consists of the following:</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>It consists of the following:</div></td> </tr> <tr> <td colspan="2" class="diff-lineno">Line 21:</td> <td colspan="2" class="diff-lineno">Line 21:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Since every time the in-crowd algorithm performs a global search it adds up to &lt;math&gt;L&lt;/math&gt; components to the active set, it can be a factor of &lt;math&gt;L&lt;/math&gt; faster than the best alternative algorithms when this search is computationally expensive. A theorem&lt;ref name="in_crowd"/&gt; guarantees that the global optimum is reached in spite of the many-at-a-time nature of the in-crowd algorithm.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Since every time the in-crowd algorithm performs a global search it adds up to &lt;math&gt;L&lt;/math&gt; components to the active set, it can be a factor of &lt;math&gt;L&lt;/math&gt; faster than the best alternative algorithms when this search is computationally expensive. A theorem&lt;ref name="in_crowd"/&gt; guarantees that the global optimum is reached in spite of the many-at-a-time nature of the in-crowd algorithm.</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><br /></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Notes==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Notes==</div></td> </tr> </table> Harryboyles https://en.wikipedia.org/w/index.php?title=In-crowd_algorithm&diff=889076597&oldid=prev TomMoral: Add link to active set methods and some other related techniques (BLITZ, FSS). 2019-03-23T08:39:21Z <p>Add link to active set methods and some other related techniques (BLITZ, FSS).</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 08:39, 23 March 2019</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 1:</td> <td colspan="2" class="diff-lineno">Line 1:</td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>The '''in-crowd algorithm''' is a numerical method for solving [[basis pursuit denoising]] quickly; faster than any other algorithm for large, sparse problems.&lt;ref&gt;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]&lt;/ref&gt; <del style="font-weight: bold; text-decoration: none;">Basis</del> <del style="font-weight: bold; text-decoration: none;">pursuit</del> <del style="font-weight: bold; text-decoration: none;">denoising</del> <del style="font-weight: bold; text-decoration: none;">is</del> the <del style="font-weight: bold; text-decoration: none;">following</del> <del style="font-weight: bold; text-decoration: none;">optimization</del> <del style="font-weight: bold; text-decoration: none;">problem</del>:</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>The '''in-crowd algorithm''' is a numerical method for solving [[basis pursuit denoising]] quickly; faster than any other algorithm for large, sparse problems.&lt;ref<ins style="font-weight: bold; text-decoration: none;"> name="in_crowd"</ins>&gt;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]&lt;/ref&gt; <ins style="font-weight: bold; text-decoration: none;">This</ins> <ins style="font-weight: bold; text-decoration: none;">algorithm</ins> <ins style="font-weight: bold; text-decoration: none;">is</ins> <ins style="font-weight: bold; text-decoration: none;">an</ins> <ins style="font-weight: bold; text-decoration: none;">[[active set method]], which minimizes iteratively sub-problems of</ins> the <ins style="font-weight: bold; text-decoration: none;">global</ins> <ins style="font-weight: bold; text-decoration: none;">basis</ins> <ins style="font-weight: bold; text-decoration: none;">pursuit denoising</ins>:</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>&lt;math&gt;\min_x \frac{1}{2}\|y-Ax\|^2_2+\lambda\|x\|_1.&lt;/math&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>&lt;math&gt;\min_x \frac{1}{2}\|y-Ax\|^2_2+\lambda\|x\|_1.&lt;/math&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>where &lt;math&gt;y&lt;/math&gt; is the observed signal, &lt;math&gt;x&lt;/math&gt; is the sparse signal to be recovered, &lt;math&gt;Ax&lt;/math&gt; is the expected signal under &lt;math&gt;x&lt;/math&gt;, and &lt;math&gt;\lambda&lt;/math&gt; is the regularization parameter trading off signal fidelity and simplicity.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>where &lt;math&gt;y&lt;/math&gt; is the observed signal, &lt;math&gt;x&lt;/math&gt; is the sparse signal to be recovered, &lt;math&gt;Ax&lt;/math&gt; is the expected signal under &lt;math&gt;x&lt;/math&gt;, and &lt;math&gt;\lambda&lt;/math&gt; is the regularization parameter trading off signal fidelity and simplicity<ins style="font-weight: bold; text-decoration: none;">. The simplicity is here measured using the sparsity of the solution &lt;math&gt;x&lt;/math&gt;, measure through its &lt;math&gt;\ell_1&lt;/math&gt;-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</ins>.</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Other active-set methods for the basis pursuit denoising includes BLITZ&lt;ref&gt; 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])&lt;/ref&gt;, where the selection of the active set is performed using the [[duality gap]] of the problem, and The Feature Sign Search&lt;ref&gt;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]&lt;/ref&gt;, where the features are included based on the estimate of their sign.</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>=In-crowd Algorithm=</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>It consists of the following:</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>It consists of the following:</div></td> </tr> <tr> <td colspan="2" class="diff-lineno">Line 16:</td> <td colspan="2" class="diff-lineno">Line 20:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Go to step 3.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Go to step 3.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Since every time the in-crowd algorithm performs a global search it adds up to &lt;math&gt;L&lt;/math&gt; components to the active set, it can be a factor of &lt;math&gt;L&lt;/math&gt; faster than the best alternative algorithms when this search is computationally expensive. A theorem&lt;ref<del style="font-weight: bold; text-decoration: none;">&gt;See</del> <del style="font-weight: bold; text-decoration: none;">''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</del>=<del style="font-weight: bold; text-decoration: none;">5940245]&lt;</del>/<del style="font-weight: bold; text-decoration: none;">ref</del>&gt; guarantees that the global optimum is reached in spite of the many-at-a-time nature of the in-crowd algorithm.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Since every time the in-crowd algorithm performs a global search it adds up to &lt;math&gt;L&lt;/math&gt; components to the active set, it can be a factor of &lt;math&gt;L&lt;/math&gt; faster than the best alternative algorithms when this search is computationally expensive. A theorem&lt;ref <ins style="font-weight: bold; text-decoration: none;">name</ins>=<ins style="font-weight: bold; text-decoration: none;">"in_crowd"</ins>/&gt; guarantees that the global optimum is reached in spite of the many-at-a-time nature of the in-crowd algorithm.</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Notes==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Notes==</div></td> </tr> </table> TomMoral https://en.wikipedia.org/w/index.php?title=In-crowd_algorithm&diff=824685425&oldid=prev Marcocapelle: removed Category:Mathematical optimization; added Category:Optimization algorithms and methods using HotCat 2018-02-08T21:28:22Z <p>removed <a href="/wiki/Category:Mathematical_optimization" title="Category:Mathematical optimization">Category:Mathematical optimization</a>; added <a href="/wiki/Category:Optimization_algorithms_and_methods" title="Category:Optimization algorithms and methods">Category:Optimization algorithms and methods</a> using <a href="/wiki/Wikipedia:HC" class="mw-redirect" title="Wikipedia:HC">HotCat</a></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 21:28, 8 February 2018</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 21:</td> <td colspan="2" class="diff-lineno">Line 21:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{reflist}}</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{reflist}}</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>[[Category:<del style="font-weight: bold; text-decoration: none;">Mathematical</del> <del style="font-weight: bold; text-decoration: none;">optimization</del>]]</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>[[Category:<ins style="font-weight: bold; text-decoration: none;">Optimization</ins> <ins style="font-weight: bold; text-decoration: none;">algorithms and methods</ins>]]</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> </table> Marcocapelle https://en.wikipedia.org/w/index.php?title=In-crowd_algorithm&diff=629641698&oldid=prev Austrartsua at 23:29, 14 October 2014 2014-10-14T23:29:23Z <p></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 23:29, 14 October 2014</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 11:</td> <td colspan="2" class="diff-lineno">Line 11:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Calculate the usefulness &lt;math&gt;u_j = | \langle r A_j \rangle | &lt;/math&gt; for each component in &lt;math&gt;I^c&lt;/math&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Calculate the usefulness &lt;math&gt;u_j = | \langle r A_j \rangle | &lt;/math&gt; for each component in &lt;math&gt;I^c&lt;/math&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># If on &lt;math&gt;I^c&lt;/math&gt;, no &lt;math&gt;u_j &gt; \lambda&lt;/math&gt;, terminate</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># If on &lt;math&gt;I^c&lt;/math&gt;, no &lt;math&gt;u_j &gt; \lambda&lt;/math&gt;, terminate</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div># Otherwise, add &lt;math&gt;L \approx 25&lt;/math&gt; components to &lt;math&gt;I&lt;/math&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div># Otherwise, add &lt;math&gt;L \approx 25&lt;/math&gt; components to &lt;math&gt;I&lt;/math&gt;<ins style="font-weight: bold; text-decoration: none;"> based on their usefulness</ins></div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Solve basis pursuit denoising exactly on &lt;math&gt;I&lt;/math&gt;, and throw out any component of &lt;math&gt;I&lt;/math&gt; whose value attains exactly 0. This problem is dense, so quadratic programming techniques work very well for this sub problem.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Solve basis pursuit denoising exactly on &lt;math&gt;I&lt;/math&gt;, and throw out any component of &lt;math&gt;I&lt;/math&gt; whose value attains exactly 0. This problem is dense, so quadratic programming techniques work very well for this sub problem.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Update &lt;math&gt; r = y - Ax&lt;/math&gt; - n.b. can be computed in the subproblem as all elements outside of &lt;math&gt;I&lt;/math&gt; are 0</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Update &lt;math&gt; r = y - Ax&lt;/math&gt; - n.b. can be computed in the subproblem as all elements outside of &lt;math&gt;I&lt;/math&gt; are 0</div></td> </tr> </table> Austrartsua https://en.wikipedia.org/w/index.php?title=In-crowd_algorithm&diff=532452063&oldid=prev BG19bot: WP:CHECKWIKI error fix for #61. Punctuation goes before References. Do general fixes if a problem exists. - using AWB (8853) 2013-01-10T23:46:21Z <p><a href="/wiki/Wikipedia:CHECKWIKI" class="mw-redirect" title="Wikipedia:CHECKWIKI">WP:CHECKWIKI</a> error fix for #61. Punctuation goes before References. Do <a href="/wiki/Wikipedia:GENFIXES" class="mw-redirect" title="Wikipedia:GENFIXES">general fixes</a> if a problem exists. - using <a href="/wiki/Wikipedia:AWB" class="mw-redirect" title="Wikipedia:AWB">AWB</a> (8853)</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 23:46, 10 January 2013</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 1:</td> <td colspan="2" class="diff-lineno">Line 1:</td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>The in-crowd algorithm is a numerical method for solving [[basis pursuit denoising]] quickly; faster than any other algorithm for large, sparse problems&lt;ref&gt;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]&lt;/ref&gt;<del style="font-weight: bold; text-decoration: none;">.</del> Basis pursuit denoising is the following optimization problem:</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>The <ins style="font-weight: bold; text-decoration: none;">'''</ins>in-crowd algorithm<ins style="font-weight: bold; text-decoration: none;">'''</ins> is a numerical method for solving [[basis pursuit denoising]] quickly; faster than any other algorithm for large, sparse problems<ins style="font-weight: bold; text-decoration: none;">.</ins>&lt;ref&gt;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]&lt;/ref&gt; Basis pursuit denoising is the following optimization problem:</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>&lt;math&gt;\min_x \frac{1}{2}\|y-Ax\|^2_2+\lambda\|x\|_1.&lt;/math&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>&lt;math&gt;\min_x \frac{1}{2}\|y-Ax\|^2_2+\lambda\|x\|_1.&lt;/math&gt;</div></td> </tr> <tr> <td colspan="2" class="diff-lineno">Line 19:</td> <td colspan="2" class="diff-lineno">Line 19:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Notes==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Notes==</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>{{reflist}}<del style="font-weight: bold; text-decoration: none;"> </del></div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>{{reflist}}</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Mathematical optimization]]</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Mathematical optimization]]</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> </table> BG19bot https://en.wikipedia.org/w/index.php?title=In-crowd_algorithm&diff=459505497&oldid=prev Patrick Gill: ←Created page with '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 ...' 2011-11-07T19:47:50Z <p><a href="/wiki/Wikipedia:AES" class="mw-redirect" title="Wikipedia:AES">←</a>Created page with &#039;The in-crowd algorithm is a numerical method for solving <a href="/wiki/Basis_pursuit_denoising" title="Basis pursuit denoising">basis pursuit denoising</a> quickly; faster than any other algorithm for large, sparse problems&lt;ref&gt;See ...&#039;</p> <p><b>New page</b></p><div>The in-crowd algorithm is a numerical method for solving [[basis pursuit denoising]] quickly; faster than any other algorithm for large, sparse problems&lt;ref&gt;See &#039;&#039;The In-Crowd Algorithm for Fast Basis Pursuit Denoising&#039;&#039;, 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]&lt;/ref&gt;. Basis pursuit denoising is the following optimization problem:<br /> <br /> &lt;math&gt;\min_x \frac{1}{2}\|y-Ax\|^2_2+\lambda\|x\|_1.&lt;/math&gt;<br /> <br /> where &lt;math&gt;y&lt;/math&gt; is the observed signal, &lt;math&gt;x&lt;/math&gt; is the sparse signal to be recovered, &lt;math&gt;Ax&lt;/math&gt; is the expected signal under &lt;math&gt;x&lt;/math&gt;, and &lt;math&gt;\lambda&lt;/math&gt; is the regularization parameter trading off signal fidelity and simplicity.<br /> <br /> It consists of the following:<br /> <br /> # Declare &lt;math&gt;x&lt;/math&gt; to be 0, so the unexplained residual &lt;math&gt; r = y&lt;/math&gt;<br /> # Declare the active set &lt;math&gt;I&lt;/math&gt; to be the empty set<br /> # Calculate the usefulness &lt;math&gt;u_j = | \langle r A_j \rangle | &lt;/math&gt; for each component in &lt;math&gt;I^c&lt;/math&gt;<br /> # If on &lt;math&gt;I^c&lt;/math&gt;, no &lt;math&gt;u_j &gt; \lambda&lt;/math&gt;, terminate<br /> # Otherwise, add &lt;math&gt;L \approx 25&lt;/math&gt; components to &lt;math&gt;I&lt;/math&gt;<br /> # Solve basis pursuit denoising exactly on &lt;math&gt;I&lt;/math&gt;, and throw out any component of &lt;math&gt;I&lt;/math&gt; whose value attains exactly 0. This problem is dense, so quadratic programming techniques work very well for this sub problem.<br /> # Update &lt;math&gt; r = y - Ax&lt;/math&gt; - n.b. can be computed in the subproblem as all elements outside of &lt;math&gt;I&lt;/math&gt; are 0<br /> # Go to step 3.<br /> <br /> Since every time the in-crowd algorithm performs a global search it adds up to &lt;math&gt;L&lt;/math&gt; components to the active set, it can be a factor of &lt;math&gt;L&lt;/math&gt; faster than the best alternative algorithms when this search is computationally expensive. A theorem&lt;ref&gt;See &#039;&#039;The In-Crowd Algorithm for Fast Basis Pursuit Denoising&#039;&#039;, IEEE Trans Sig Proc 59 (10), Oct 1 2011, pp. 4595 - 4605, [http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=5940245]&lt;/ref&gt; guarantees that the global optimum is reached in spite of the many-at-a-time nature of the in-crowd algorithm.<br /> <br /> ==Notes==<br /> {{reflist}} <br /> [[Category:Mathematical optimization]]<br /> <br /> <br /> {{Mathapplied-stub}}</div> Patrick Gill