[ 
https://issues.apache.org/jira/browse/SPARK-17824?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15555448#comment-15555448
 ] 

Yanbo Liang edited comment on SPARK-17824 at 10/7/16 3:53 PM:
--------------------------------------------------------------

[~sethah]
I saw your proposal at SPARK-17748:
{code}
class CholeskySolver extends NormalEquationsSolver
class QuasiNewtonSolver extends NormalEquationSolver
{code}
I think this JIRA is used to add another solver:
{code}
class QRSolver extends NormalEquationsSolver
{code}

The difference is that both {{CholeskySolver}} and {{QRSolver}} are used to 
solve normal equation with L2 regularization by LAPACK route; however, 
{{QuasiNewtowSolver}} is used to solve normal equation with L2 and 
L1/elasticnet penalties by local LBFGS and OWLQN respectively. I think the 
purpose of these solvers may overlap, but they may have different performance 
and feasibility. Please correct me if I have misunderstand. Thanks!


was (Author: yanboliang):
[~sethah]
I saw your proposal at SPARK-17748:
{code}
class CholeskySolver extends NormalEquationsSolver
class QuasiNewtonSolver extends NormalEquationSolver
{code}
I think this JIRA is used to add another solver:
{{class QRSolver extends NormalEquationsSolver}}

The difference is that both {{CholeskySolver}} and {{QRSolver}} are used to 
solve normal equation with L2 regularization by LAPACK route; however, 
{{QuasiNewtowSolver}} is used to solve normal equation with L2 and 
L1/elasticnet penalties by local LBFGS and OWLQN respectively. I think the 
purpose of these solvers may overlap, but they may have different performance 
and feasibility. Please correct me if I have misunderstand. Thanks!

> QR solver for WeightedLeastSquares
> ----------------------------------
>
>                 Key: SPARK-17824
>                 URL: https://issues.apache.org/jira/browse/SPARK-17824
>             Project: Spark
>          Issue Type: New Feature
>          Components: ML
>            Reporter: Yanbo Liang
>            Assignee: Yanbo Liang
>
> Cholesky decomposition is unstable (for near-singular and rank deficient 
> matrices) and only works on positive definite matrices which can not be 
> guaranteed in all cases, it was often used when matrix A is very large and 
> sparse due to faster calculation. QR decomposition has better numerical 
> properties than Cholesky and can works on matrices which are not positive 
> definite. Spark MLlib {{WeightedLeastSquares}} use Cholesky decomposition to 
> solve normal equation currently, we should also support or move to QR solver 
> for better stability. I'm preparing to send a PR.
> cc [~dbtsai] [~sethah]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to