Machine Learning · Insper

Regressão Linear

Abordagem avançada

Quando confiar nos coeficientes, o que quebra a fórmula exata e o que a substitui

O caminho desta parte

  1. Confiar nos coeficientesas suposições clássicas; multicolinearidade
  2. Limites da forma fechadatempo, memória e colunas colineares
  3. O gradienteuma soma ponderada pelos resíduos
  4. A paisagemvales, tigelas e por que centrar ajuda
Cada etapa responde a uma pergunta: de que depende uma conclusão sobre um coeficiente? → quando a fórmula exata para de funcionar? → o que a substitui? → por que o mesmo algoritmo às vezes se arrasta?
Etapa 1 · de que depende uma conclusão sobre um coeficiente?

Suposições por trás das inferências

As previsões do OLS (ordinary least squares, mínimos quadrados ordinários) exigem muito pouco. Interpretar coeficientes, intervalos de confiança e p-valores se apoia em:

suposiçãoo desenho dela no gráfico de resíduos
linearidadenenhuma curva em U ou ∩
independência dos resíduosnenhuma onda ao longo do tempo
homoscedasticidade: dispersão constantenenhum funil
normalidade (só intervalos e p-valores, não o ajuste)uma faixa simétrica
sem multicolinearidade severainvisível ali: olhe os atributos

Preveja. Dois atributos correlacionados a \(r = 0{,}99\): as previsões continuam boas? E cada coeficiente?

Multicolinearidade: os dados não distinguem os coeficientes

curvas de nível do erro quadrático em \((w_1, w_2)\): um vale longo e estreito

Verdade \((w_1, w_2) = (1, 1)\). Ao longo do vale o erro quase não muda: \((2, 0)\) ajusta com cerca de 2% de diferença; \((3, -1)\), com cerca de 8%.

Uma amostra nova pode mover cada estimativa uma unidade inteira, até inverter um sinal, enquanto a soma fica perto de 2.

\(X^\top X\) fica quase singular. As previsões estão boas; um coeficiente sozinho não quer dizer nada.

Preveja. Dobrando o número de atributos \(d\): quanto cresce o tempo para resolver \(X^\top X w = X^\top y\)?

Etapa 2 · quando a fórmula exata para de funcionar?

Quando a forma fechada tem dificuldade

tempo

resolver um sistema \(d \times d\) custa \(O(d^3)\): dobre \(d\), cerca de 8× o tempo

memória

\(X^\top X\) guarda \(d^2\) números de 8 bytes, qualquer que seja o número de linhas

colinearidade

colunas perfeitamente colineares: \(X^\top X\) é singular e não há resposta única

atributos \(d\)1.00010.00050.000100.000
só a \(X^\top X\)0,01 GB0,8 GB20 GB80 GB
Um texto vetorizado com TF-IDF (term frequency–inverse document frequency) passa de 100 mil colunas fácil e uma rede neural nem tem equações normais. As bibliotecas nunca formam a inversa: resolvem por decomposição QR ou SVD (decomposição em valores singulares), como faz o scipy.linalg.lstsq.
Etapa 3 · o que a substitui?

Da resposta exata ao gradiente

A forma fechada: escrever \(J\), tomar o gradiente, resolver \(\nabla J = 0\). O gradiente descendente mantém os dois primeiros passos e desce a ladeira em vez de resolver.

\[ J(w_0, w_1) = \frac{1}{n}\sum_{i=1}^{n} e_i^2, \qquad e_i = y_i - w_0 - w_1 x_i \] \[ \frac{\partial J}{\partial w_0} = -\frac{2}{n}\sum_i e_i, \qquad \frac{\partial J}{\partial w_1} = -\frac{2}{n}\sum_i e_i x_i, \qquad w \leftarrow w - \eta\,\nabla J(w) \]

\(\eta\): o tamanho do passo (taxa de aprendizado). Iguale as duas derivadas a zero: \(\sum e_i = 0\) e \(\sum e_i x_i = 0\), as identidades da parte fundamental.

O gradiente é uma soma ponderada pelos resíduos: mova cada parâmetro na direção para onde os erros apontam, tanto quanto eles são grandes. Continua valendo numa rede de 100 camadas.

Um passo, nos cinco pontos

partida em \(w_0 = w_1 = 0\): a reta \(\hat y = 0\); cada resíduo é o próprio \(y\)

\(\sum e_i = 2+4+5+4+6 = 21\)

\(\sum e_i x_i = 2 + 8 + 15 + 16 + 30 = 71\)

\[ \tfrac{\partial J}{\partial w_0} = -\tfrac{2}{5}\cdot 21 = -8{,}4, \quad \tfrac{\partial J}{\partial w_1} = -\tfrac{2}{5}\cdot 71 = -28{,}4 \]

Com \(\eta = 0{,}05\): \(w_0 = 0{,}42\), \(w_1 = 1{,}42\).

As duas derivadas são negativas: a reta está baixa demais, então o passo sobe os dois pesos. O \(w_1\) anda mais porque cada resíduo entra multiplicado pelo seu \(x\). Depois de 2000 passos assim, a descida chega a \(\hat y = 1{,}8 + 0{,}8x\).
Etapa 4 · por que o mesmo algoritmo às vezes se arrasta?

Simulador: descendo a superfície de perda

Preveja. Rode, depois ligue centrar x e rode de novo a partir de um ponto parecido. O que muda no caminho?

Por que escalonar vem antes de ajustar

\(x\) sem centrar

Um vale longo e estreito. Mexer na inclinação de uma reta cujos \(x\) estão todos longe de zero também balança a altura dela, então \(w_0\) e \(w_1\) ficam acoplados. O gradiente aponta atravessado ao vale: o caminho ziguezagueia e se arrasta.

\(x - \bar x\) centrado

Uma tigela redonda. O gradiente aponta para o fundo e os mesmos passos vão quase direto à resposta.

Esquema: curvas de nível de \(J(w_0, w_1)\), o ótimo (verde) e os passos do gradiente descendente (laranja).

A forma fechada dá a mesma reta nos dois casos. A rota iterativa liga muito: padronizar remodela a superfície que o otimizador percorre.

Resumo

  1. Previsões exigem pouco; interpretar coeficientes pede linearidade, independência, dispersão constante, normalidade e ausência de multicolinearidade severa.
  2. Com atributos colineares a soma dos coeficientes fica cravada; cada um, não.
  3. A forma fechada falha no tempo (\(O(d^3)\)), na memória (\(d^2\) números) e na colinearidade; nem existe para a maioria dos modelos.
  4. O gradiente é uma soma ponderada pelos resíduos; a descida chega à mesma resposta.
  5. Centrar transforma um vale numa tigela: a mesma reta, muito menos passos.
Próxima aula: Gradiente Descendente & Regularização, o tamanho do passo, os lotes e as penalidades.
Lab avançado · cerca de 40 min, em duplas

Onde a forma fechada quebra e um ano de Ibovespa: passos 5 a 10

  • Mesmo notebook, mesma sessão: os passos usam x, y, X e w dos passos 1 a 4.
  • Medir o custo de resolver; ajustar um ano de fechamentos diários do Ibovespa; checar a independência, prever o fim do ano e depois testar a previsão no passado.
  • Notebook no Colab, seções 5 e 6.
  • Tempos e cotações dependem da máquina e do dia: os seus números vão diferir, as leituras não.
  • Simulações: o gradiente descendente, escrito à mão (passo 5) e o que centrar faz com a descida (passo 6).

Ritmo: passo 5 e a primeira simulação em 12 min; passos 6 e 7 e a segunda em 12 min; passos 8 a 10 em 15 min.