Regressão Logística
Apesar do nome, a regressão logística (Cox, 1958; com raízes na curva logística de Verhulst, 1838) é o algoritmo de classificação canônico — o primeiro modelo padrão para qualquer problema de classificação, presença constante em escoragem de crédito e medicina, e a porta de entrada conceitual para as redes neurais: um único neurônio é uma regressão logística.
Da reta à probabilidade
A regressão linear produz qualquer número real — inútil como probabilidade. A regressão logística mantém o escore linear
e o comprime pela função sigmoide (logística):
Preveja a classe 1 quando \(\hat{p} \geq\) limiar (0,5 por padrão → \(z \geq 0\)). O conjunto \(w^\top x + b = 0\) é um hiperplano: a regressão logística é um classificador linear — sua fronteira de decisão é uma reta/plano no espaço de atributos (fronteiras curvas exigem atributos construídos, por exemplo polinomiais, ou outros modelos).
Chances (odds) e interpretabilidade
Inverter a sigmoide mostra que o escore linear é o log das chances (log-odds):
Então cada aumento unitário em \(x_j\) multiplica as chances (odds) \(\frac{p}{1-p}\) por \(e^{w_j}\). Um coeficiente de 0,7 em "número de pagamentos atrasados" significa que cada um multiplica as chances de inadimplência por \(e^{0.7} \approx 2\) — o tipo de afirmação que reguladores e médicos exigem, e a razão de a regressão logística persistir em domínios de alto risco (Explicabilidade).
A perda: entropia cruzada
O erro quadrático sobre probabilidades cria uma paisagem não convexa. Em vez disso, maximize a verossimilhança dos rótulos observados — equivalentemente, minimize a log loss / entropia cruzada binária:
Cada termo se lê: o log da probabilidade que o modelo atribuiu ao que de fato aconteceu. Como mostra o painel direito acima, estar confiantemente errado (\(\hat{p} \to 0\) quando \(y = 1\)) custa ilimitadamente caro — o modelo é empurrado para uma honestidade calibrada, não apenas para rótulos corretos.
Treino por gradiente descendente
Não existe forma fechada, mas \(J\) é convexa — um único mínimo global. O gradiente é surpreendentemente limpo:
— idêntico em forma ao gradiente da regressão linear, com \(\hat{p} = \sigma(Xw)\) substituindo \(Xw\). O mesmo laço de gradiente descendente se aplica sem mudanças:
import numpy as np
def sigmoid(z):
return 1 / (1 + np.exp(-z))
w = np.zeros(X.shape[1])
for _ in range(n_epochs):
p = sigmoid(X @ w)
w -= eta * X.T @ (p - y) / len(y)
Regularização
Tudo de Ridge e Lasso se transfere: adicione \(\alpha \lVert w \rVert_2^2\) (L2) ou \(\alpha \lVert w \rVert_1\) (L1) à perda. É tão essencial — especialmente com muitos atributos, onde pesos não regularizados podem crescer sem limite em dados separáveis — que o scikit-learn regulariza por padrão, parametrizado por \(C = 1/\alpha\):
from sklearn.linear_model import LogisticRegression
model = LogisticRegression(C=1.0, # C MENOR = regularização MAIS FORTE
penalty='l2',
class_weight='balanced', # para desbalanceamento
max_iter=1000)
model.fit(X_train_scaled, y_train)
model.predict_proba(X_test_scaled)[:, 1] # probabilidades para análise ROC/PR
Ajuste \(C\) em uma grade logarítmica por validação cruzada; escalone os atributos primeiro (regularizado + baseado em gradiente ⇒ duplamente necessário).
Multiclasse: softmax
Para \(k\) classes, aprenda um vetor de pesos por classe e normalize os escores com o softmax:
A entropia cruzada se generaliza literalmente. O LogisticRegression lida com isso automaticamente (multi_class='multinomial' é o padrão moderno). Essa construção exata — escores lineares + softmax + entropia cruzada — é a camada de saída de essencialmente todo classificador neural, incluindo os LLMs escolhendo seu próximo token.
Perfil prático
| Pontos fortes | rápido; convexo (treino confiável); probabilidades bem calibradas; interpretável via razões de chances; baseline forte; escala para milhões de amostras |
| Fraquezas | fronteira linear (precisa de engenharia de atributos para curvas); tem dificuldade quando interações dominam; sensível a atributos não escalonados sob regularização |
| Recorra a ela quando | você precisa de uma baseline sólida e explicável; as probabilidades importam (risco, triagem); os atributos são informativos individualmente |
Material de aula
Notebook da aula (em português)
Notebook prático usado em sala — Aula 16 — Regressão Logística com Gradiente Descendente e Regularização: abrir no Colab