Overfitting vs Underfitting

São dois desafios centrais em aprendizado de máquina.

Gustavo Candido
3 min readOct 28, 2023
Fonte: unsplash

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.

Fonte: h2o.ai wiki

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.

--

--

Gustavo Candido

Estudante de Sistemas de Informação na ESPM - SP. Alguém interessado em ciência de dados, computação e matemática.