Sobes.tech
Junior — Middle

O que é overfitting? Quais são as formas de combatê-lo?

sobes.tech IA

Resposta da IA

Overfitting (sobreajuste) é uma situação em que um modelo de aprendizagem de máquina ajusta-se demasiado bem aos dados de treino, incluindo ruído e oscilações aleatórias, e por isso generaliza mal para novos dados invisíveis.

Formas de combater o sobreajuste:

  • Regularização (L1, L2) — adicionar uma penalização pela complexidade do modelo para evitar pesos demasiado grandes.
  • Paragem precoce — interromper o treino quando a qualidade no conjunto de validação começa a piorar.
  • Aumento do volume de dados — mais dados ajudam o modelo a generalizar melhor.
  • Validação cruzada — ajuda a avaliar a capacidade de generalização do modelo e ajustar os parâmetros.
  • Dropout (para redes neuronais) — desligar aleatoriamente neurônios durante o treino para evitar dependências de características específicas.
  • Simplificação do modelo — reduzir o número de parâmetros ou camadas.

Exemplo de regularização na regressão linear:

from sklearn.linear_model import Ridge
model = Ridge(alpha=1.0)  # Regularização L2
model.fit(X_train, y_train)