Multi-Task Lasso System

From GM-RKB
Jump to navigation Jump to search

A Multi-Task Lasso System is a LASSO System that implements a LASSO Algorithm to solve multiple LASSO Regression Tasks.



References

2017

  • (Scikit Learn, 2017) ⇒ http://scikit-learn.org/stable/modules/linear_model.html#multi-task-lasso Retrieved:2017-09-17
    • QUOTE: The MultiTaskLasso is a linear model that estimates sparse coefficients for multiple regression problems jointly: y is a 2D array, of shape (n_samples, n_tasks). The constraint is that the selected features are the same for all the regression problems, also called tasks.

      The following figure compares the location of the non-zeros in W obtained with a simple Lasso or a MultiTaskLasso. The Lasso estimates yields scattered non-zeros while the non-zeros of the MultiTaskLasso are full columns.

      (...)

      Mathematically, it consists of a linear model trained with a mixed [math]\displaystyle{ \ell_1 }[/math] [math]\displaystyle{ \ell_2 }[/math] prior as regularizer. The objective function to minimize is:

      [math]\displaystyle{ \underset{w}{min\,} { \frac{1}{2n_{samples}} ||X W - Y||_{Fro} ^ 2 + \alpha ||W||_{21}} }[/math]

      [math]\displaystyle{ Fro }[/math] indicates the Frobenius norm:

      [math]\displaystyle{ ||A||_{Fro} = \sqrt{\sum_{ij} a_{ij}^2} }[/math]

      and [math]\displaystyle{ \ell_1 }[/math] [math]\displaystyle{ \ell_2 }[/math] reads:

      [math]\displaystyle{ ||A||_{2 1} = \sum_i \sqrt{\sum_j a_{ij}^2} }[/math]

      The implementation in the class MultiTaskLasso uses coordinate descent as the algorithm to fit the coefficients.