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