Overfitting e Underfitting: Por Que um Modelo de IA Decora em Vez de Aprender

Entenda o que são overfitting e underfitting, como identificá-los pelos erros de treino e teste e quais técnicas ajudam a equilibrar um modelo.

Compartilhar no Linkedin Compartilhar no WhatsApp

Tempo estimado de leitura: 7 minutos

Imagem do artigo Overfitting e Underfitting: Por Que um Modelo de IA Decora em Vez de Aprender

Imagine um estudante que decora todas as respostas da lista de exercícios e tira nota máxima nela — mas erra quase tudo na prova, porque as questões vieram diferentes. Ele não aprendeu o conteúdo: memorizou o gabarito. Esse é exatamente o problema que, em aprendizado de máquina, chamamos de overfitting. E existe também o extremo oposto, o underfitting, do aluno que não estudou o suficiente e erra tanto na lista quanto na prova.

Entender esses dois conceitos é provavelmente o passo mais importante para sair do “rodei o código e deu certo” e começar a avaliar de verdade um modelo de inteligência artificial.

O que um modelo deveria fazer

Um modelo de machine learning aprende observando exemplos. Damos a ele um conjunto de dados de treino — fotos rotuladas, históricos de vendas, registros de clientes — e ele ajusta seus parâmetros internos para reduzir o erro nessas amostras.

Mas o objetivo nunca é acertar os exemplos de treino. Esses já têm resposta conhecida. O objetivo é generalizar: acertar casos novos, que o modelo nunca viu. A capacidade de generalização é a única coisa que importa quando o sistema vai para produção.

Overfitting: quando o modelo aprende demais

Overfitting acontece quando o modelo se ajusta tão bem aos dados de treino que passa a capturar não só os padrões reais, mas também o ruído: coincidências, erros de medição e particularidades daquela amostra específica.

Um exemplo clássico: um sistema treinado para reconhecer cães em fotos que, por acaso, tinha imagens de cães quase sempre em gramados e imagens de gatos quase sempre dentro de casa. O modelo pode aprender a detectar grama em vez de detectar cães. No conjunto de treino, a taxa de acerto é excelente. Com uma foto de cão em um sofá, ele erra.

Sinais típicos de overfitting:

  • Erro muito baixo no conjunto de treino e erro claramente maior no conjunto de teste.
  • O desempenho no teste melhora até certo ponto do treinamento e depois começa a piorar, mesmo com o erro de treino ainda caindo.
  • Pequenas mudanças nos dados de entrada causam mudanças grandes na previsão.
  • O modelo é muito complexo em relação à quantidade de dados disponível.

Underfitting: quando o modelo aprende de menos

Underfitting é o oposto. O modelo é simples demais, ou foi treinado por tempo insuficiente, ou recebeu variáveis pouco informativas. Ele não consegue capturar nem os padrões evidentes dos dados.

Um exemplo simples: tentar prever o preço de um imóvel usando apenas uma reta a partir da área construída. A relação real envolve bairro, número de quartos, idade do prédio, vagas de garagem. Uma reta sobre uma única variável vai errar de forma sistemática, tanto nos dados de treino quanto nos novos.

Sinais típicos de underfitting: erro alto no treino e no teste, e previsões que parecem ignorar variações claras nos dados.

Comparando os dois cenários

SituaçãoErro no treinoErro no testeCausa comumCaminho de correção
UnderfittingAltoAltoModelo simples demais, poucas variáveis, treino curtoAumentar a complexidade, criar melhores variáveis, treinar mais
Equilíbrio desejadoBaixoBaixo e próximo do treinoManter e monitorar
OverfittingMuito baixoBem mais alto que o treinoModelo complexo demais, poucos dados, ruído memorizadoRegularização, mais dados, simplificação, parada antecipada

Como detectar: separe os dados antes de tudo

Não dá para diagnosticar nada olhando apenas o erro de treino. A prática padrão é dividir os dados em três partes:

  • Treino — o modelo ajusta seus parâmetros aqui.
  • Validação — usado para comparar configurações e decidir quando parar de treinar.
  • Teste — reservado até o fim, tocado uma única vez, para estimar o desempenho real.

Quando os dados são poucos, a validação cruzada é uma alternativa robusta: divide-se o conjunto em k partes, treina-se k vezes usando uma parte diferente como validação a cada rodada e calcula-se a média dos resultados. Isso reduz a chance de uma divisão sortuda dar uma impressão errada.

Técnicas para combater o overfitting

  • Mais dados. É quase sempre a solução mais eficaz. Com mais exemplos, fica mais difícil para o modelo memorizar o ruído.
  • Regularização. Penaliza pesos muito grandes, empurrando o modelo para soluções mais simples. As formas mais conhecidas são L1 e L2.
  • Parada antecipada (early stopping). Interrompe o treinamento no momento em que o erro de validação para de melhorar.
  • Dropout. Em redes neurais, desliga aleatoriamente parte dos neurônios a cada passo, impedindo que o modelo dependa demais de caminhos específicos.
  • Aumento de dados (data augmentation). Gera variações dos exemplos existentes — girar, cortar e alterar o brilho de imagens, por exemplo.
  • Redução da complexidade. Menos camadas, menos parâmetros, árvores menos profundas.

Um cuidado extra: vazamento de dados

Existe um problema parecido com overfitting, mas ainda mais traiçoeiro: o vazamento de dados (data leakage). Ele ocorre quando informação do conjunto de teste, direta ou indiretamente, influencia o treino — por exemplo, ao normalizar todas as variáveis usando a média do conjunto completo antes de separar treino e teste.

O resultado é um modelo com métricas ótimas nos testes e desempenho decepcionante na vida real. A regra de ouro é simples: qualquer transformação aprendida a partir dos dados deve ser calculada só com o conjunto de treino e depois aplicada aos demais.

Conclusão

Overfitting e underfitting são dois lados do mesmo desafio: encontrar o nível certo de complexidade para o problema e para a quantidade de dados disponível. Um modelo bom não é o que acerta mais no treino — é o que erra pouco em dados que nunca viu. Quem incorpora essa ideia desde o começo evita os erros mais frustrantes da área.

Para se aprofundar em avaliação de modelos, preparação de dados e projetos práticos de aprendizado de máquina, vale conferir os cursos gratuitos de inteligência artificial e ciência de dados disponíveis na Cursa.

Cursos gratuitos em vídeo

Imagem do Curso gratuito Ciência de Dados

Curso GratuitoCiência de Dados

5.5

EstrelaEstrelaEstrelaEstrelaEstrela

(8)

Clock icon

63h02m

List icon

70 exercícios

Imagem do Curso gratuito Redes Neurais e Deep learning com Python

Curso GratuitoRedes Neurais e Deep learning com Python

5

EstrelaEstrelaEstrelaEstrelaEstrela

(1)

Clock icon

14h24m

List icon

14 exercícios

Imagem do Curso gratuito Introdução à Inteligência Artificial Aplicada à Engenharia (IA, Machine Learning e Otimização) com o professor Wikki Brasil

Curso GratuitoIntrodução à Inteligência Artificial Aplicada à Engenharia (IA, Machine Learning e Otimização) com o professor Wikki Brasil

5

EstrelaEstrelaEstrelaEstrelaEstrela

(1)

Clock icon

25h16m

List icon

49 exercícios

Imagem do Curso gratuito Deep Learning Completo: Redes Neurais, CNNs, RNNs e PLN

Curso GratuitoDeep Learning Completo: Redes Neurais, CNNs, RNNs e PLN

5

EstrelaEstrelaEstrelaEstrelaEstrela

(1)

Clock icon

9h10m

List icon

42 exercícios

Recomendado
Imagem do Curso gratuito Inteligência Artificial (IA), Machine Learning e Deep Learning com Python

Curso GratuitoInteligência Artificial (IA), Machine Learning e Deep Learning com Python

5

EstrelaEstrelaEstrelaEstrelaEstrela

(1)

Clock icon

9h03m

List icon

36 exercícios

Recomendado
Imagem do Curso gratuito Ciência de Dados

Curso GratuitoCiência de Dados

5

EstrelaEstrelaEstrelaEstrelaEstrela

(1)

Clock icon

7h46m

List icon

17 exercícios

Imagem do Curso gratuito Ciência de Dados: Análise de Séries Temporais: Conceitos Básicos

Curso GratuitoCiência de Dados: Análise de Séries Temporais: Conceitos Básicos

5

EstrelaEstrelaEstrelaEstrelaEstrela

(2)

Clock icon

8h43m

List icon

33 exercícios

Imagem do Curso gratuito Introdução à Machine Learning

Curso GratuitoIntrodução à Machine Learning

5

EstrelaEstrelaEstrelaEstrelaEstrela

(2)

Clock icon

10h13m

List icon

22 exercícios

Avançado
Imagem do Curso gratuito Mineração de dados

Curso GratuitoMineração de dados

5

EstrelaEstrelaEstrelaEstrelaEstrela

(1)

Clock icon

7h21m

List icon

20 exercícios

Imagem do Curso gratuito Inteligência Artificial Aplicada na Saúde

Curso GratuitoInteligência Artificial Aplicada na Saúde

4.8

EstrelaEstrelaEstrelaEstrelaEstrela

(24)

Clock icon

2h49m

List icon

11 exercícios

Imagem do Curso gratuito Redes Neurais

Curso GratuitoRedes Neurais

4.6

EstrelaEstrelaEstrelaEstrelaMeia estrela

(-5)

Clock icon

7h01m

List icon

21 exercícios

Imagem do Curso gratuito Power BI básico com Machine Learning

Curso GratuitoPower BI básico com Machine Learning

4.6

EstrelaEstrelaEstrelaEstrelaMeia estrela

(7)

Clock icon

1h57m

List icon

10 exercícios

Imagem do Curso gratuito Machine learning em Python

Curso GratuitoMachine learning em Python

4.5

EstrelaEstrelaEstrelaEstrelaMeia estrela

(2)

Clock icon

13h23m

List icon

13 exercícios

Imagem do Curso gratuito Introdução ao ChatGPT e suas funcionalidades

Curso GratuitoIntrodução ao ChatGPT e suas funcionalidades

4.4

EstrelaEstrelaEstrelaEstrelaMeia estrela

(39)

Clock icon

28m

List icon

5 exercícios

Imagem do Curso gratuito Introdução a ciência de dados

Curso GratuitoIntrodução a ciência de dados

4.3

EstrelaEstrelaEstrelaEstrelaMeia estrela

(3)

Clock icon

8h19m

List icon

22 exercícios

Imagem do Curso gratuito Análise de dados em Python

Curso GratuitoAnálise de dados em Python

4.1

EstrelaEstrelaEstrelaEstrela

(7)

Clock icon

7h55m

List icon

25 exercícios

Recomendado
Imagem do Curso gratuito Criação de ChatBot com Python

Curso GratuitoCriação de ChatBot com Python

4

EstrelaEstrelaEstrelaEstrela

(3)

Clock icon

5h15m

List icon

3 exercícios

Imagem do Curso gratuito Introdução à ciência de dados

Curso GratuitoIntrodução à ciência de dados

4

EstrelaEstrelaEstrelaEstrela

(3)

Clock icon

3h11m

List icon

19 exercícios

Imagem do Curso gratuito Inteligência Artificial

Curso GratuitoInteligência Artificial

3.7

EstrelaEstrelaEstrelaMeia estrela

(16)

Clock icon

2h41m

List icon

8 exercícios

Imagem do Curso gratuito Deep Learning com Keras e TensorFlow: Redes Neurais, CNNs e NLP

Curso GratuitoDeep Learning com Keras e TensorFlow: Redes Neurais, CNNs e NLP

Novo

Clock icon

3h00m

List icon

9 exercícios

Cookies, Cache e Histórico: O Que o Navegador Guarda Sobre Você

Entenda o que são cookies, cache e histórico do navegador, para que servem, quando limpar cada um e como isso afeta sua privacidade.

Sensores e Atuadores: Como o Arduino Percebe o Mundo e Age Sobre Ele

Entenda a diferença entre sensores e atuadores, como o Arduino lê sinais e aciona dispositivos, e como montar seus primeiros projetos.

Endereço IP, Máscara de Sub-rede e Gateway: O Trio Que Faz Sua Rede Funcionar

Entenda de forma prática o que são endereço IP, máscara de sub-rede e gateway padrão, e como esses três parâmetros conversam entre si.

Compressão de Arquivos: Como o ZIP Consegue Reduzir o Tamanho dos Seus Dados

Entenda como funciona a compressão de arquivos, a diferença entre métodos com e sem perda e quando cada formato faz sentido.

Expressões Regulares (Regex): O Que São e Como Usar na Prática

Aprenda o que são expressões regulares, os principais símbolos, quantificadores e como aplicar regex para buscar e validar textos.

Como Funciona o DNS: o Sistema que Traduz Nomes em Endereços na Internet

Entenda de forma simples o que é DNS, como acontece a resolução de nomes, os principais tipos de registro e por que ele é essencial para a internet.

INNER JOIN, LEFT JOIN e RIGHT JOIN: como relacionar tabelas no SQL

Entenda de forma simples como funcionam INNER JOIN, LEFT JOIN, RIGHT JOIN e FULL JOIN para combinar dados de várias tabelas no SQL.

TypeScript para iniciantes: o que é e por que ele melhora o JavaScript

Entenda o que é TypeScript, como a tipagem estática ajuda a evitar erros e por que ele se tornou essencial no desenvolvimento web moderno.