Underfitting & Overfitting: O trade-off entre viés e variância.

O que é, qual o impacto, como resolver e como diagnosticar esse problema no seu modelo de Machine Learning.

Elaine Silva.
4 min readAug 28, 2023
Foto de Amber Morgan na Unsplash

Quando você está treinando um modelo de Machine Learning sua meta é fazer com ele funcione bem. Provavelmente esse modelo não vai funcionar bem na primeira vez e isso está tudo bem!

Overfitting e underfitting são dois erros de previsão e saber lidar com eles pode ter ajudar a criar modelos precisos e até evitá-los.

Mas, o que é overfitting e underfitting? Vamos entender o que é, qual o impacto e como diagnosticar esses erros.

Overfitting

Overfitting é um problema fundamental no aprendizado supervisionado que impede o modelo de generalizar os dados e acaba se ajustando bem demais nos dados de treinamento mas não tão bem nos dados de validação.

Overfitting numa Regressão Linear

Enquanto a variação nos dados de treinamento é baixa, a variação nos dados de validação é alta. Durante o overfitting, os dados tem baixo viés e alta variância.

Underfitting

Underfitting é quando o modelo não consegue fazer boas previsões nem nos dados de treinamento, ou seja, ele não se ajusta muito bem nos dados de treinamento. Há um padrão nesses dados que o algoritmo simplesmnte não consegue capturar. Não existe variação nos dados de treino e nos de de validação, apenas existe um alto viés.

Underfitting numa Regressão Linear

Um cenário de viés é o algoritmo achar que os dados são lineares e consequentemente ajustar os dados em uma função linear, o que na verdade não acontece.

Como reduzir o overfitting:

  • Coletando mais dados de treinamento
  • Selecionando variáveis para incluir/excluir (feature selection)
  • Reduzir o tamanho dos parâmetros (regularização)

Razões para o underfitting:

  • Os dados usados para treinar não estão limpos e nem tratados.
  • O modelo tem alto viés
  • O modelo é muito simples
  • A quantidade de dados de treinamento não é o suficiente

Se o seu algoritmo de aprendizado tiver um alto viés coletar mais dados de treinamento não vai ajudar muito. Algo que pode ser feito é aumentar o número de variáveis independentes ou diminuir o valor de lambda.

O trade-off entre viés e variância.

Afinal, o que esse trade-off quer dizer?

No overfitting, os dados se ajustam bem nos dados de treinamento mas não dos dados de validação, tendo assim uma alta variância. Enquanto que no underfitting os dados, se você tiver poucos dados de treinamento e o modelo ser simples demais vai ter alto viés.

O objetivo ao treinar nosso modelo é achar um bom equilíbrio para que não haja algum desses erros nas nossas previsões e que o algoritmo funcione bem!

Como diagnosticar se seu algoritmo tem alto viés ou alta variância?

Para descobrir se o algoritmo tem alto viés ou alta variância o primeiro passo é dividir o conjunto de dados em: treinamento, validação e teste.

A prática comum é 60% dos dados ficarem no treinamento, 20% na validação e 20% para teste. Dividindo o conjunto de dados podemos avaliar nosso modelo e ver como ele se sai com dados que ele nunca viu.

Se o algoritmo tiver alto viés, os dados de treinamento e os de validação vão se aproximar um do outro, já que a variação é baixar.

Se o algoritmo tiver alta variação, os dados de treinamento e os de validação estarão muito distantes um do outro.

Em alguns casos é possível existir um alto viés e uma alta variação simultaneamente, porém, você não verá isso acontecer muito numa Regressão Linear.

Qual o melhor ajuste para o nosso modelo?

A linha ou curva que melhor se ajusta ao modelo é aquela que nem acontece overfitting ou underfitting, ela é a correta.

Para uma linha ou curva correta, não pode haver uma alta variação e nem um alto viés. Sendo assim, esse modelo é o melhor para a aplicação.

--

--