Os modelos de regressão logística são treinados usando o mesmo processo dos modelos de regressão linear, com duas distinções principais:
- Os modelos de regressão logística usam perda logarítmica como função de perda em vez de perda quadrática.
- Aplicar a regularização é fundamental para evitar o overfitting.
As seções a seguir discutem essas duas considerações com mais detalhes.
Log Perda
No módulo de regressão linear, você usou a perda quadrática (também chamada de perda L2) como a função de perda. A perda quadrática funciona bem para um modelo linear em que a taxa de mudança dos valores de saída é constante. Por exemplo, considerando o modelo linear $y' = b + 3x_1$, cada vez que você aumenta o valor de entrada $x_1$ em 1, o valor de saída $y'$ aumenta em 3.
No entanto, a taxa de mudança de um modelo de regressão logística não é constante. Como você viu em Cálculo de uma probabilidade, a curva sigmoid tem formato de S, não é linear. Quando o valor de log-odds ($z$) está mais próximo de 0, pequenos aumentos em $z$ resultam em mudanças muito maiores em $y$ do que quando $z$ é um número positivo ou negativo grande. A tabela a seguir mostra a saída da função sigmoide para valores de entrada de 5 a 10, bem como a precisão correspondente necessária para capturar as diferenças nos resultados.
entrada | saída logística | dígitos de precisão obrigatórios |
---|---|---|
5 | 0,993 | 3 |
6 | 0,997 | 3 |
7 | 0,999 | 3 |
8 | 0,9997 | 4 |
9 | 0,9999 | 4 |
10 | 0,99998 | 5 |
Se você usou a perda quadrática para calcular erros na função sigmoide, à medida que a saída se aproximava de 0
e 1
, era necessário mais memória para preservar a precisão necessária para rastrear esses valores.
Em vez disso, a função de perda para regressão logística é a perda de registro. A equação de perda logarítmica retorna o logaritmo da magnitude da mudança, e não apenas a distância dos dados até a previsão. A perda de log é calculada da seguinte forma:
$\text{Log Loss} = -\frac{1}{N}\sum_{i=1}^{N} y_i\log(y_i') + (1 - y_i)\log(1 - y_i')$
em que:
- \(N\) é o número de exemplos rotulados no conjunto de dados
- \(i\) é o índice de um exemplo no conjunto de dados (por exemplo, \((x_3, y_3)\) é o terceiro exemplo no conjunto de dados)
- \(y_i\) é o rótulo do exemplo \(i\). Como essa é uma regressão logística, \(y_i\) precisa ser 0 ou 1.
- \(y_i'\) é a previsão do modelo para o exemplo \(i\)(entre 0 e 1), considerando o conjunto de recursos em \(x_i\).
Regularização na regressão logística
A regularização, um mecanismo para penalizar a complexidade do modelo durante o treinamento, é extremamente importante na modelagem de regressão logística. Sem a regularização, a natureza assintótica da regressão logística continuaria reduzindo a perda para zero em casos em que o modelo tem um grande número de recursos. Consequentemente, a maioria dos modelos de regressão logística usa uma das duas estratégias a seguir para diminuir a complexidade do modelo:
- Regularização de L2
- Parada antecipada: limita o número de etapas de treinamento para interromper o treinamento enquanto a perda ainda está diminuindo.