The sparse-group lasso (SGL) method presented by Simon et al. as follow :

$\min _{\beta} \frac{1}{2 n}\left\|y-\sum_{l=1}^{m} X^{(l)} \beta^{(l)}\right\|_{2}^{2}+(1-\alpha) \lambda \sum_{l=1}^{m} \sqrt{p_{l}}\left\|\beta^{(l)}\right\|_{2}+\alpha \lambda\|\beta\|_{1}$

where $\alpha \in[0,1]-$ a convex combination of the lasso and group lasso penalties $(\alpha=0 \text { gives the group lasso fit, } \alpha=1$ gives the lasso fit).

The default value of $\alpha$ is 0.95.

It's possible to use the cross-validation to choose the optimal $\alpha$ and $\lambda$ parameters?

Question: How to choose the alpha parameter of SGL based on cross validation?

Thank you!

  • $\begingroup$ Why not? It seems reasonable to optimize the hyper-parameter there. $\endgroup$ Mar 31, 2020 at 11:23
  • $\begingroup$ @Forgottenscience Please, could you describe to me, how to do it? How to use the cross-validation to choose alpha? $\endgroup$ Apr 1, 2020 at 7:56
  • $\begingroup$ Did the answer from @Edgar answer your question? If so, you might consider accepting his answer. If not, you could add a comment clarifying what advice you are still hoping for. $\endgroup$ Sep 14, 2021 at 22:29

1 Answer 1


I strongly recommend to use R and the package "SGL" to compute sparse-group lasso, which is maintained by the authors of the SGL paper themselves.

Within the package, you have the function "cvSGL", which does the cross-validation for you.

Be advised, the SGL-package is not optimized for speed and has different default parameters (number of iterations, minimum error for convergence) than the LASSO/Elastic-Net implementations within the "glmnet" package, so SGL-results are not directly comparable with LASSO results.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.