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