Lukas Burk
The elastic net objective function is given as:
\[ J(\beta_0, \beta) = \frac 1 2 || \mathbf{y} - \beta_0\mathbf{1} - \mathbf{X}\beta||^2_2 + {\color{green}\lambda} \sum_{j=1}^p \left( {\color{red}\alpha} |\beta_j| + \frac{1 - {\color{red}\alpha}}{2} \beta^2_j \right) \]
fwelnet)Example for \(p = 4\) features \(X_{1,2,3,4}\) and \(K = 2\) groups
\[ \mathbf{Z} = \begin{pmatrix} 1 & 0 \\ 1 & 0 \\ 0 & 1 \\ 0 & 1 \\ \end{pmatrix} \]
Now imagine this, but with \(p >> 1000\) and e.g. genetic data.
\[ J(\beta_0, \beta) = \frac{1}{2} || \mathbf{y} - \beta_0\mathbf{1} - \mathbf{X}\beta||^2_2 + \lambda \sum_{j=1}^p {\color{blue}w_j(\theta)}\left( \alpha |\beta_j| + \frac{1 - \alpha}{2} \beta^2_j \right) \]
\[ {\color{blue}w_j(\theta)} = \frac{\sum_{l=1}^p \exp(\mathbf{z}_l^T \theta)}{p \exp(\mathbf{z}_j^T \theta)} \]
In the “feature grouping” setting, this just allows group-specific penalization weights.
Related to the “group lasso” (Jacob, Obozinski, and Vert 2009)
Set \(\beta_1^{(0)}, \beta_2^{(0)}\) to glmnet solution for \((\mathbf{X}, \mathbf{y}_1), (\mathbf{X}, \mathbf{y}_2)\) respectively
For \(k = 0, 1, \ldots\):
fwelnet with \((\mathbf{X}, \mathbf{y}_2, \mathbf{Z}_2)\)
lambdafwelnet with \((\mathbf{X}, \mathbf{y}_1, \mathbf{Z}_1)\)
lambdafwelnet for Coxnet/Surv endpoint via glmnetglmnet