Definição estendida
Overfitting é o fenômeno em que um modelo de machine learning ajusta-se excessivamente ao ruído amostral do conjunto de treino, capturando padrões espúrios que não generalizam para dados novos. Operacionalmente, é detectado pelo gap entre erro de treino e erro de teste: . O problema oposto, underfitting, ocorre quando o modelo é simples demais para capturar a estrutura real dos dados — alto erro tanto em treino quanto em teste. O sweet spot é regiões de complexidade moderada, onde o modelo generaliza. Hawkins (2004) sintetizou a literatura sobre o problema em química computacional e estatística aplicada, articulando que overfitting é fenômeno geral, não restrito a redes neurais ou ML moderno — afeta regressão polinomial, árvores de decisão sem poda, e qualquer modelo com flexibilidade desproporcional ao tamanho amostral. Hastie, Tibshirani e Friedman (2009) formalizam o trade-off viés-variância como decomposição matemática do erro: aumentar complexidade reduz viés mas aumenta variância, e overfitting é o regime de variância alta dominando.
Quando se aplica
O conceito de overfitting aplica-se em qualquer projeto de modelagem preditiva supervisionada — classificação, regressão, previsão de séries, sistemas de recomendação. É particularmente relevante em: redes neurais profundas (capacidade representacional alta facilmente excede tamanho dos dados), florestas aleatórias e gradient boosting com muitas árvores, regressão polinomial de alto grau, modelos com muitas features em datasets pequenos. Diagnóstico padrão é monitorar erro em conjunto de validação durante treino — quando erro de validação começa a subir enquanto erro de treino continua descendo, o modelo está entrando em overfitting.
Quando NÃO se aplica
O conceito não se aplica em modelos puramente descritivos sem objetivo de generalização. Não se aplica diretamente em estatística inferencial clássica focada em estimar parâmetros populacionais (overfitting é problema preditivo, não inferencial — embora análogo via excesso de variáveis em regressão). Em problemas de big data com (muitas observações, poucas features), overfitting é menos urgente, embora não impossível. Em deep learning moderno com regularização adequada e datasets enormes, overfitting clássico foi parcialmente substituído por outros problemas (memorização, viés representacional, distribution shift).
Aplicações por área
— Visão computacional: overfitting em redes profundas controlado por data augmentation, dropout, batch normalization, early stopping. — NLP: modelos pré-treinados grandes (BERT, GPT) ajustam fino em datasets pequenos com risco alto — regularização explícita e learning rate baixo são padrão. — Saúde e biomédicas: datasets clínicos pequenos exigem validação cruzada estrita e validação externa para descartar overfitting. — Finanças quantitativas: backtesting com overfitting é prática endêmica — regras de trading “que funcionam” no histórico frequentemente falham em produção.
Armadilhas comuns
A primeira armadilha é diagnosticar overfitting apenas pela performance no teste — quando o teste já foi tocado durante desenvolvimento, ele virou validação implícita, e overfitting persiste sob a aparência de “modelo bom”. A segunda é confundir overfitting com underfitting: ambos produzem performance ruim em produção, mas exigem ações opostas (mais regularização vs. mais capacidade). A terceira é assumir que regularização (L1, L2, dropout) elimina overfitting — reduz, não elimina; gap pode persistir mesmo com regularização agressiva. A quarta é ignorar overfitting de hiperparâmetros: rodar muitos experimentos de tuning no validation set transforma validation em treino implícito. A quinta é não distinguir overfitting de distribution shift: modelo bem-ajustado pode falhar em produção porque a distribuição mudou, não porque sobreajustou — fix é diferente.