regularização para manter a simplicidade

Regularização significa penalizar a complexidade de um modelo para reduzir o overfitting.

Regularização para simplicidade

A função de perda do conjunto de treinamento diminui gradualmente. Por outro lado, a função de perda do conjunto de validação diminui, mas começa a aumentar.
  • Queremos evitar a complexidade do modelo sempre que possível.
  • Podemos incorporar essa ideia na otimização que fazemos no momento do treinamento.
  • Minimização de riscos empíricos:
    • visa erros de treinamento baixos
    • $$ \text{minimize: } Loss(Data\;|\;Model) $$

  • Queremos evitar a complexidade do modelo sempre que possível.
  • Podemos incorporar essa ideia na otimização que fazemos no momento do treinamento.
  • Minimização de riscos estruturais:
    • visa erros de treinamento baixos
    • sem deixar de lado a complexidade
    • $$ \text{minimize: } Loss(Data\;|\;Model) + complexity(Model) $$

  • Como definir complexidade(modelo)?
  • Como definir complexidade(modelo)?
  • Preferir pesos menores
  • Como definir complexidade(modelo)?
  • Preferir pesos menores
  • Desviar disso deve gerar um custo
  • É possível codificar essa ideia usando a regularização L2 (ou crista)
    • complexidade(modelo) = soma dos quadrados dos pesos
    • Penaliza pesos realmente grandes
    • Para modelos lineares: prefere inclinações mais planas
    • Prior bayesiano:
      • os pesos devem estar centralizados em torno de zero
      • os pesos devem ser distribuídos normalmente

$$ Loss(Data|Model) + \lambda \left(w_1^2 + \ldots + w_n^2 \right) $$

\(\text{Where:}\)

\(Loss\text{: Aims for low training error}\) \(\lambda\text{: Scalar value that controls how weights are balanced}\) \(w_1^2+\ldots+w_n^2\text{: Square of}\;L_2\;\text{norm}\)