Multi-Task Lasso System
A Multi-Task Lasso System is a LASSO System that implements a LASSO Algorithm to solve multiple LASSO Regression Tasks.
- Example(s):
- Counter-Example(s):
- See: Cross-Validation Task, L1-Norm.
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.
- QUOTE: The MultiTaskLasso is a linear model that estimates sparse coefficients for multiple regression problems jointly: