L1 Regularization#

pylit.methods.l1_reg.l1_reg(lambd)#

This is the L1 regularization method. The interface is described in Methods.

The objective function

\[f(u, w, \lambda) = \frac{1}{2} \| \widehat u - \widehat w\|^2_{L^2(\mathbb{R})} + \lambda \| u \|_{L^1(\mathbb{R})},\]

is implemented as

\[f(\boldsymbol{\alpha}) = \frac{1}{2} \| \boldsymbol{R} \boldsymbol{\alpha} - \boldsymbol{F} \|^2_2 + \lambda \| \boldsymbol{\alpha} \|_1,\]

with the gradient

\[\nabla_{\boldsymbol{\alpha}} f(\boldsymbol{\alpha}) = \boldsymbol{R}^\top(\boldsymbol{R} \boldsymbol{\alpha} - \boldsymbol{F}) \pm \lambda, \quad \boldsymbol{\alpha} \neq 0,\]

the learning rate

\[\eta = \frac{1}{\| \boldsymbol{R}^\top \boldsymbol{R} \|}, \quad \boldsymbol{\alpha} \neq 0,\]

and the solution

\[\boldsymbol{\alpha}^* = (\boldsymbol{R}^\top \boldsymbol{R})^{-1} (\boldsymbol{R}^\top \boldsymbol{F} \pm \lambda), \quad \boldsymbol{\alpha} \neq 0,\]

where

  • \(\boldsymbol{R}\): Regression matrix,

  • \(\boldsymbol{F}\): Target vector,

  • \(\boldsymbol{\alpha}\): Coefficient vector,

  • \(\lambda\): Regularization parameter,

  • \(n\): Number of samples.

Return type:

Method