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)