scalanlp/breeze — pull request #247 by codedeft (2014-05-13 18:50:43+00:00)
Title: Fixing bugs in the OWLQN code.

The OWLQN code had bugs.

1. The orthant determination should be using adjustedGradient
2. The adjusted gradient that include L1 penalty was not correct in some cases. (should only choose for the cases where the feature coefficient is at 0).
3. In the original paper, the descent direction needs to be corrected to be in the same directional hypercube as the adjusted gradient. This doesn't seem that important in most of the cases and currently, it's not easy to do this in breeze code.

* Additionally, the convergence condition and/or linesearch don't work particularly well, but probably not as serious and people can always override, I suppose.