Regressão logística: perda e regularização

Função de perda para regressão logística

A função de perda para regressão linear é a perda ao quadrado. A função de perda para regressão logística é a Log Loss, definida da seguinte maneira:

$$\text{Log Loss} = \sum_{(x,y)\in D} -y\log(y') - (1 - y)\log(1 - y')$$

onde:

  • \((x,y)\in D\) é o conjunto de dados que contém muitos exemplos rotulados, que são \((x,y)\) pares.
  • \(y\) é o rótulo em um exemplo rotulado. Como esta é uma regressão logística, todos os valores de \(y\) precisam ser 0 ou 1.
  • \(y'\) é o valor previsto (algo entre 0 e 1), dado o conjunto de atributos em \(x\).

Regularização na regressão logística

A regularização (link em inglês) é extremamente importante na modelagem de regressão logística. Sem a regularização, a natureza assintotônica da regressão logística continuaria a perder em direção a 0 em dimensões elevadas. Consequentemente, a maioria dos modelos de regressão logística usa uma das duas estratégias a seguir para reduzir a complexidade do modelo:

  • L2 regularização.
  • Parada antecipada, ou seja, limitar o número de etapas de treinamento ou a taxa de aprendizado.

Falaremos sobre uma terceira estratégia, a L1 regularização, em um módulo posterior.

Imagine que você atribua um ID exclusivo a cada exemplo e mapeie esses IDs para um atributo próprio. Se você não especificar uma função de regularização, o modelo ficará completamente overfitting. Isso porque o modelo tentaria gerar perda para zero em todos os exemplos e nunca chegaria lá, levando os pesos para cada atributo indicador para +infinito ou -infinito. Isso pode acontecer em dados de alta dimensão com cruzamentos de atributos, quando há uma enorme massa de cruzamentos raros que acontecem apenas em um exemplo cada.

Felizmente, o uso de L2 ou parada antecipada vai evitar esse problema.