Details

    • Type: New Feature
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.2.0
    • Fix Version/s: 2.2.0
    • Component/s: MLlib
    • Labels:
      None
    • Target Version/s:

      Description

      For certain applications, such as stacked regressions, it is important to put non-negative constraints on the regression coefficients. Also, if the ranges of coefficients are known, it makes sense to constrain the coefficient search space.

      Fitting generalized constrained regression models object to Cβ ≤ b, where C ∈ R^{m×p} and b ∈ R^{m} are predefined matrices and vectors which places a set of m linear constraints on the coefficients is very challenging as discussed in many literatures.

      However, for box constraints on the coefficients, the optimization is well solved. For gradient descent, people can projected gradient descent in the primal by zeroing the negative weights at each step. For LBFGS, an extended version of it, LBFGS-B can handle large scale box optimization efficiently. Unfortunately, for OWLQN, there is no good efficient way to do optimization with box constrains.

      As a result, in this work, we only implement constrained LR with box constrains without L1 regularization.

      Note that since we standardize the data in training phase, so the coefficients seen in the optimization subroutine are in the scaled space; as a result, we need to convert the box constrains into scaled space.

      Users will be able to set the lower / upper bounds of each coefficients and intercepts.

        Issue Links

          Activity

          Hide
          apachespark Apache Spark added a comment -

          User 'yanboliang' has created a pull request for this issue:
          https://github.com/apache/spark/pull/17829

          Show
          apachespark Apache Spark added a comment - User 'yanboliang' has created a pull request for this issue: https://github.com/apache/spark/pull/17829
          Hide
          apachespark Apache Spark added a comment -

          User 'yanboliang' has created a pull request for this issue:
          https://github.com/apache/spark/pull/17715

          Show
          apachespark Apache Spark added a comment - User 'yanboliang' has created a pull request for this issue: https://github.com/apache/spark/pull/17715
          Hide
          dbtsai DB Tsai added a comment -

          I changed the target to 2.3.0 Thanks.

          Show
          dbtsai DB Tsai added a comment - I changed the target to 2.3.0 Thanks.
          Hide
          mlnick Nick Pentreath added a comment -

          Is this really targeted for 2.2.0?

          Show
          mlnick Nick Pentreath added a comment - Is this really targeted for 2.2.0?

            People

            • Assignee:
              yanboliang Yanbo Liang
              Reporter:
              dbtsai DB Tsai
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development