Machine Learning · Insper

Regressão Logística

Abordagem avançada

Por que entropia cruzada e não erro quadrático; como o mesmo modelo vai além da reta e além de duas classes

O caminho desta parte

  1. Por que entropia cruzadao preço, o empurrão e o formato da perda
  2. Fronteiras curvasatributos ao quadrado e polinomiais
  3. Muitas classessoftmax, no wine
  4. Usar bempontos fortes, fraquezas, armadilhas
Cada etapa responde a uma pergunta: por que não manter o erro quadrático da regressão linear? → e se nenhuma reta separar as classes? → e se houver mais de duas classes? → quando a regressão logística é a ferramenta certa?
Etapa 1 · por que não manter o erro quadrático da regressão linear?

Por que não o erro quadrático?

\((y - \hat p)^2\) também é pequeno quando a probabilidade prevista \(\hat p\) acerta e grande quando erra. Preveja. Combinado com a sigmoide, o que pode dar errado?

(a) a entropia cruzada cresce sem limite, o erro quadrático nunca passa de 1; (b) a entropia cruzada empurra mais os piores erros; (c) a entropia cruzada é um vale convexo, o erro quadrático tem um platô

(a) o preço

o erro quadrático nunca passa de 1: \(\hat p = 0{,}1\) e \(0{,}001\) custam 0,810 e 0,998; na entropia cruzada, 2,303 e 6,908

(b) o empurrão

quanto pior o erro, mais fraco o gradiente do erro quadrático

(c) o formato

a entropia cruzada é convexa; o erro quadrático tem um platô

(b) O empurrão do gradiente

\(L\): a perda de um exemplo da classe 1 (\(y = 1\)). O gradiente descendente o corrige mexendo no escore \(z\) dele; a força é, pela regra da cadeia, \(\partial L/\partial z = \partial L/\partial \hat p \cdot \hat p(1-\hat p)\), em que \(\hat p(1-\hat p)\) é a inclinação da sigmoide:

\[ \text{erro quadrático: } -2(1-\hat p)\cdot\hat p(1-\hat p) \qquad \text{entropia cruzada: } -\tfrac{1}{\hat p}\cdot\hat p(1-\hat p) = \hat p - y \]
\(\hat p\) dada à classe certainclinação da sigmoideerro quadráticoentropia cruzada
0,50,25−0,250−0,500
0,10,09−0,162−0,900
0,010,0099−0,0196−0,990
0,0010,001−0,0020−0,999
Com o erro quadrático, os exemplos que mais precisam de correção são os que ele ignora (500 vezes mais fraco em 0,001). O \(1/\hat p\) da entropia cruzada cancela a inclinação da sigmoide.

(c) O formato da perda

Um só peso, \(\hat p = \sigma(w\,(\text{horas} - 6{,}5))\), nos 23 estudantes: perda média sobre todos eles. \(w < 0\) aposta que quem estuda mais reprova.

\(w\)−3−10+1+3
erro quadrático0,9000,7820,2500,0450,042
entropia cruzada8,5972,9920,6930,1660,118
Painel (c): a entropia cruzada é um único vale convexo em função do peso; o erro quadrático tem um platô quando o peso aponta para o lado errado
A partir de \(w = -3\), o erro quadrático é um platô (0,900 → 0,782); a entropia cruzada desce forte (8,597 → 2,992). E ela é convexa: um só vale, sem mínimos locais.

Simulador: as duas perdas lado a lado

Preveja. Gire \(w\) para o lado errado. Qual perda percebe que algo está muito errado?

Etapa 2 · e se nenhuma reta separar as classes?

Fronteiras curvas: construa os atributos

Os círculos: uma classe dentro, a outra em volta. Qualquer reta deixa pedaços do círculo externo dos dois lados.

Preveja. Dê à regressão logística \(x_1^2\) e \(x_2^2\) em vez de \(x_1\) e \(x_2\). Que forma a fronteira \(z = 0\) pode ter agora?
\[ z = w_1 x_1^2 + w_2 x_2^2 + b = 0 \quad\Longrightarrow\quad \text{com } w_1 \approx w_2 < 0, \text{ um círculo} \]
atributosacurácia no teste
\(x_1, x_2\)0,400
\(x_1^2, x_2^2\)1,000

\(w = (-16{,}83;\ -16{,}00)\), \(b = 9{,}70\): um círculo de raio \(\sqrt{9{,}70/16{,}4} \approx 0{,}77\), entre o círculo de dentro (0,5) e o de fora (1).

Quando a forma não é óbvia

Luas: fronteira reta 91,7%, grau 3 95,8%. Círculos: reta 40,0%, grau 3 95,8%
  • PolynomialFeatures(degree=3): 9 atributos; luas 0,917 → 0,958, círculos 0,400 → 0,958.
  • Nos círculos, os 2 atributos certos (100%) ganham dos 9 genéricos: conhecer a forma vence.
  • Preços: os coeficientes perdem a leitura e mais atributos sobreajustam mais. Escalone depois de expandir.
Etapa 3 · e se houver mais de duas classes?

Multiclasse: softmax

\(k\) classes, um escore por classe, \(z_c = w_c^\top x + b_c\); o softmax os transforma em probabilidades que somam 1:

\[ \hat{p}_c = \frac{e^{z_c}}{\sum_{j=1}^{k} e^{z_j}} \]
classe\(z_c\)\(e^{z_c}\)\(\hat p_c = e^{z_c}/11{,}212\)
A2,07,3890,659
B1,02,7180,242
C0,11,1050,099
soma11,2121,000
  • Um vetor de pesos e um intercepto por classe.
  • Uma diferença de 1 no escore é um fator \(e \approx 2{,}7\) na probabilidade.
  • Com duas classes, o softmax é a sigmoide: \(\sigma(z_1 - z_0)\).

No wine: um quase empate

178 vinhos, 3 cultivares; dois atributos, teor alcoólico e flavonoides.

vinhocultivar verdadeiraescoresprobabilidadespredict
006,47; −0,22; −6,250,999; 0,001; 00
1001−0,29; 5,32; −5,020,004; 0,996; 01
1332−3,11; 1,56; 1,550,005; 0,502; 0,4931 ✗
O vinho 133 custa \(-\ln 0{,}493 \approx 0{,}706\), setecentas vezes o vinho 0. Escores lineares + softmax + entropia cruzada é a camada de saída de praticamente todo classificador neural.
Etapa 4 · quando a regressão logística é a ferramenta certa?

Perfil prático

pontos fortes

  • rápida; convexa: a mesma resposta sempre
  • probabilidades razoáveis
  • interpretável pelas razões de chances
  • uma baseline forte

fraquezas

  • fronteira linear
  • interações acrescentadas à mão
  • lenta com atributos sem escala
  • coeficientes correlacionados instáveis de ler
Avisos de max_iter costumam indicar atributos sem escala. Colunas one-hot para todas as categorias ao lado de um intercepto deixam cada coeficiente sem sentido: descarte uma categoria de referência. Razão de chances não é razão de probabilidades.

Resumo

  1. Com a sigmoide, o erro quadrático limita o preço do erro, apaga o empurrão nos piores casos e tem platôs; a entropia cruzada é convexa.
  2. O modelo é linear nos seus atributos: atributos ao quadrado ou polinomiais desenham fronteiras curvas.
  3. Conhecer a forma vale mais que gerar muitos atributos; escalone depois de expandir.
  4. Softmax: um escore por classe, probabilidades que somam 1; com duas classes, é a sigmoide.
  5. Recorra a ela quando precisar de uma baseline sólida e explicável, com probabilidades às quais vale aplicar um limiar.
Lab avançado · cerca de 25 min, em duplas

Razões de chances e o único teste, passos 7 e 8

  • Mesmo notebook, mesma sessão: os passos usam model, w, names, passengers, dummy e os conjuntos de treino e de teste.
  • Leia cada coeficiente como razão de chances contra a sua categoria de referência; depois toque o teste uma vez e mexa no limiar nas linhas de treino.
  • Notebook no Colab, a partir do passo 7.
  • Simulações: a razão de chances é a mesma para todo mundo (passo 7) e mexendo no limiar (passo 8).

Ritmo: passo 7 e a sua simulação em 12 min; passo 8 e a sua simulação em 10 min.