GitHub user tmyklebu opened a pull request:

    https://github.com/apache/spark/pull/460

    Alternating nonnegative least-squares

    This pull request includes a nonnegative least-squares solver (NNLS) 
tailored to the kinds of small-scale problems that come up when training matrix 
factorisation models by alternating nonnegative least-squares (ANNLS).
    
    The method used for the NNLS subproblems is based on the classical method 
of projected gradients.  There is a modification where, if the set of active 
constraints has not changed since the last iteration, a conjugate gradient step 
is considered and possibly rejected in favour of the gradient; this improves 
convergence once the optimal face has been located.
    
    The NNLS solver is in `org.apache.spark.mllib.optimization.NNLSbyPCG`.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/tmyklebu/spark annls

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/spark/pull/460.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #460
    
----
commit a68ac10932b2d9ae50b3a27b34bf65fce7e024e1
Author: Tor Myklebust <[email protected]>
Date:   2014-04-19T23:07:27Z

    A nonnegative least-squares solver.

commit 6cb563c19e7ae554724f9832f83a4df96d3d92c1
Author: Tor Myklebust <[email protected]>
Date:   2014-04-19T23:07:40Z

    Tests for the nonnegative least squares solver.

commit f5dbf4d5fb5fe5d09cf86e0fba388efc68acadd0
Author: Tor Myklebust <[email protected]>
Date:   2014-04-19T23:08:31Z

    Teach ALS how to use the NNLS solver.

commit 89ea0a8ef942ba0e62d91d75ca26f92a85b25470
Author: Tor Myklebust <[email protected]>
Date:   2014-04-19T23:08:56Z

    Hack ALSSuite to support NNLS testing.

commit 33bf4f20e28fdeaab2ed6ae36ef97115898c88dd
Author: Tor Myklebust <[email protected]>
Date:   2014-04-16T18:14:38Z

    Fix missing space.

commit 9a82fa61cb467db2e0dbc308d15268f15d20500d
Author: Tor Myklebust <[email protected]>
Date:   2014-04-20T03:54:58Z

    Fix scalastyle moanings.

commit c288b6ae99bb4aecacead1d399ec61dadd1ce2ab
Author: Tor Myklebust <[email protected]>
Date:   2014-04-20T03:55:13Z

    Finish moving the NNLS solver.

commit ac673bda27883d4bb4085fa326380aaed29b1a70
Author: Tor Myklebust <[email protected]>
Date:   2014-04-20T19:29:10Z

    More safeguards against numerical ridiculousness.

commit 5345402b6d44cd9fad46de830b0f7b4c8d3f9268
Author: Tor Myklebust <[email protected]>
Date:   2014-04-21T02:04:35Z

    Style fixes that got eaten.

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to