Overfitting vs Underfitting
São dois desafios centrais em aprendizado de máquina.
Introdução
No fundo, o que todo cientista de dados quer é fazer um modelo que faça boas predições em uma nova base de dados, nunca vista antes. O conceito de performar bem em dados não vistos é chamado de generalização. Para avaliar se essas predições serão adequadas, precisamos avaliar a capacidade de generalização dos modelos.
Overfitting
O overfitting ocorre quando o modelo memoriza rigorosamente os padrões de treino e falha ao prever dados de teste. É causado por ter muitas variáveis e/ou modelo muito complexo para explicar a variável alvo. Imagine um aluno que não tenha estudado para a prova, e por poucos minutos ele tenha acesso ao gabarito e decore as respostas. Ele se sairá muito bem naquela prova, mas ao fazer uma diferente, se sairá muito mal, pois esse aluno não aprendeu, ele decorou.
A principal consequência é a perda de desempenho do modelo em bases não utilizadas no treinamento. É possível diagnosticar o underfitting através de técnicas de validação cruzada. Para tratar esse modelo, é recomendável reduzir o número de features e a complexidade do modelo, além de utilizar técnicas de regularização.
A principal característica de modelos com overfitting é possuírem baixo viés (bias) e alta variância em seus resultados.
Underfitting
O underfitting acontece quando o modelo simplifica demais os dados e não consegue capturar as relações entre as features e o target. É causado por ter poucas variáveis e/ou modelo muito simples para explicar a variável alvo. Nesse caso, é aquele aluno que estudou pouquissímo para a prova, que estudou A e entendeu X, ou seja, performou muito mal na hora da prova, que seria a predição dos dados que não foram treinados. Portanto, o aluno se saiu mal tanto na hora de estudar quanto na hora de utilizar esse conhecimento prévio.
O baixo desempenho do modelo em qualquer base de dados é uma consequência do underfitting. O diagnóstico pode ser feito através da avaliação do modelo utilizando métricas de performance. Para o tratamento, recomenda-se a utilização de algoritmos mais adequados aos dados, inclusão de novas features e técnicas de feature engineering.
Ao contrário do overfitting, modelos com underfitting possuem alto viés (bias) e baixa variância em seus resultados.
Trade-Off
Um modelo bom é aquele que tenha viés e variância baixos. Se aumentar demais a complexidade do modelo, ele capturará desde ruídos até variações não explicadas. Em contraste, se o modelo for simples demais, não conseguiremos prever as relações, que sempre possuem certa complexidade. Por isso, há um trade-off (troca) entre viés e variância para procurar o modelo ideal.
O que aprendemos?
- O que é overfitting e underfitting
- Causas, consequências, diagnóstico, tratamento, características e exemplos
- Trade-off para procurar um modelo ideal
Links e referências
Para ver mais publicações como essa e se conectar comigo, entre no meu LinkedIn.
Esse artigo foi baseado em aulas da escola de ciência de dados, Preditiva AI, na publicação “Overfitting in Machine Learning” da h20.ai e no clube de assinatura Universidade dos Dados.