Optimization

Overfitting é um dos problemas mais comuns em machine learning. Ocorre quando um modelo aprende demais os detalhes específicos do conjunto de treinamento, perdendo capacidade de generalizar para novos dados.

O que é Overfitting?

Overfitting acontece quando o modelo tem alta performance no conjunto de treinamento, mas performance ruim em dados de validação ou teste. É como decorar as respostas de um exame em vez de entender o conceito.

Sinais de Overfitting

  • Grande diferença entre acurácia de treino e validação
  • Loss de treino diminui, mas loss de validação aumenta
  • Modelo muito complexo para a quantidade de dados

Técnicas de Regularização

1. Dropout

Durante o treinamento, aleatoriamente "desliga" uma porcentagem de neurônios. Isso força o modelo a não depender muito de qualquer neurônio específico.

2. L1 e L2 Regularization

Adiciona penalidades aos pesos grandes:

  • L1 (Lasso): Promove esparsidade, remove features irrelevantes
  • L2 (Ridge): Reduz magnitude dos pesos, mantém todas as features

3. Early Stopping

Para o treinamento quando o erro de validação para de melhorar. Previne que o modelo continue aprendendo ruído dos dados de treino.

4. Data Augmentation

Aumenta artificialmente o tamanho do dataset aplicando transformações (rotação, zoom, flip) mantendo o rótulo original.

5. Batch Normalization

Normaliza as ativações em cada camada, estabilizando o treinamento e agindo como regularizador.

Estratégias Adicionais

Cross-Validation

Divida os dados em múltiplos folds e treine/avalie em diferentes combinações. Isso dá uma melhor estimativa da performance real.

Redução de Complexidade

  • Reduzir número de camadas ou neurônios
  • Usar modelos mais simples quando apropriado
  • Feature selection para remover features redundantes

Ensemble Methods

Combinar múltiplos modelos pode melhorar generalização. Técnicas como bagging e boosting ajudam a reduzir overfitting.

Best Practices

  • Sempre mantenha conjuntos separados: treino, validação e teste
  • Use validação para escolher hyperparameters
  • Monitore tanto loss de treino quanto validação
  • Comece com modelos simples e aumente complexidade gradualmente
  • Colete mais dados quando possível - é a melhor forma de prevenir overfitting
← Voltar para Machine Learning