Sobreajuste (Overfitting)

Overfitting, ou sobreajuste, acontece quando um modelo de machine learning aprende tão bem os dados de treino, inclusive o ruído e as exceções, que erra em dados novos. É como um aluno que decora as respostas da prova anterior e não entende a matéria.

Como identificar

O sinal típico é um desempenho excelente nos dados de treino e fraco nos dados de validação ou teste. Se o erro de treino cai, mas o erro de validação sobe, o modelo está memorizando.

Principais causas

  • Modelo complexo demais para a quantidade de dados.
  • Poucos dados de treino ou dados com muito ruído.
  • Treino por tempo demais.
  • Vazamento de dados de teste para o treino.

Como evitar

  • Mais dados e mais variados, quando possível.
  • Validação cruzada para medir o desempenho de forma mais confiável.
  • Regularização, que penaliza modelos complexos demais.
  • Modelo mais simples ou menos camadas.
  • Parada antecipada (early stopping): parar o treino quando o erro de validação começa a subir.
  • Dropout em redes neurais.

O oposto: underfitting

No underfitting (subajuste), o modelo é simples demais e erra até nos dados de treino. O objetivo é o equilíbrio entre os dois, conhecido como equilíbrio entre viés e variância.

Perguntas frequentes

Overfitting é sempre ruim? Sim para uso prático, porque o modelo não generaliza. Mas ele é um bom alerta de que o modelo ou os dados precisam de ajuste.

Mais dados resolvem o overfitting? Ajudam bastante, mas nem sempre bastam. Combine com regularização e validação.

Como saber se meu modelo está em overfitting? Compare o desempenho no treino com o desempenho em dados separados. Uma grande diferença é o sinal.

Termos relacionados

Rede neural, Aprendizado supervisionado, Transfer learning.

« Voltar Para Glossário