Essas são minhas notas de estudos, elas podem ser atualizadas com o tempo ou não, além de não necessariamente serem organizadas no formato de textos.
Tabela de Conteúdo
Norma de um vetor
A norma de um vetor pode ser vista como seu comprimento. De forma geral, a norma $L^p$ de um vetor é dada por,
\[|| \vec{x} ||_p = \bigg(\sum_i |x_i|^p\bigg)^{\frac{1}{p}}, \text{ para } p \ge 1 .\]A norma $L^2$ é muito usado em ML, sendo geralmente escrita como $||\vec{x}||$.
A norma $L^1$ é mais usada quando é muito importante diferenciar entre elementos zero e não zeros.
Regularizadores
Ridge Regression ($L^2$):
O regularizador $L^2$ é introduzido no modelo ao adicionarmos a função de custo o termo
\[\frac{\alpha}{2} \sum_{i=1}^{n} \theta_i^2.\]Note que o termo de bias ($\theta_0$) não é normalizado. Esta regularização força o modelo a ajustar os parâmetros de forma a ter valores menores, próximos de zero. O hiperparâmetro $\alpha$ controla o quanto estamos regularizando o modelo, $\alpha$ grande faz com que os parâmetros escolhidos estejam próximos de zero.
Lasso Regression($L^1$):
O regularizador $L^1$ adiciona a função custo o termo
\[\alpha \sum_{i=1}^{n} |\theta_i|.\]Note que o termo de bias ($\theta_0$) não é normalizado. O hiperparâmetro $\alpha$ controla a intensidade da regularização, valores altos aumentam a regularização. Um ponto importante é que este regularizador tende a eliminar os pesos, ou seja, ele incentiva que os pesos assumam valores zero. Normalmente, essa regularização vai gerar um modelo esparso com menos features, já que o peso de algumas vai ser zero.
Elastic Net:
Elastic Net usa as duas regularizações, $L^1$ e $L^2$. O termo adicionado a função de custo é
\[r \sum_{i=1}^{n} \theta_i + \frac{r-1}{2} \sum_{i=1}^{n} \theta_i^2,\]onde $r$ controla o nível de cada regularização usada. Para $r=0$ usamos somente a Ridge Regression ($L^2$), para $r=1$ usamos somente a Lasso Regression ($L^1$).
As regularizações discutidas no texto são sensíveis a escala das features, sendo necessário fazer uma reescala das features durante o pré-processamento de dados.
Resumo
Não usar nenhuma regularização não é aconselhável. Ridge ($L^2$) é um bom regularizador para o começo de um projeto. Porém, se quisermos eliminar algumas features ou soubermos que poucas delas serão úteis, é aconselhável usar a Lasso ($L^1$) ou Elastic Net. Além disso, como a Elastic Net possui os dois tipos de regularização, e pode ser melhor do que a Lasso se o número de features é maior que o tamanho do dataset de treino ou se as features estiverem muito correlacionadas, então é preferível usar a Elastic Net do que a Lasso.
Referências
Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow - Livro