Tokencito Jogo do dia Jogar

O que é overfitting (sobreajuste)?

Overfitting (sobreajuste) acontece quando um modelo se ajusta demais aos detalhes dos exemplos de treinamento, incluindo coincidências e erros. Vai bem no que já viu e pior com dados novos. O caso extremo é decorar, como quem decora as respostas de uma prova antiga e se perde quando mudam as perguntas.

📚Milhares de exemplos⚙️Ajusta seus números🆕Testa com dados novos

Teste o que aprendeu

Uma pergunta do app. Escolha uma resposta.

Um modelo acerta o que estudou e erra em casos novos parecidos. O que houve?

Comece a jogar na web

Como perceber

Antes de treinar, separam-se dados com que o modelo não aprende: os de validação, para decidir durante o treino, e o conjunto de teste, guardado para a avaliação final. Se nos seus exemplos ele acerta 99% e nos dados separados 70%, essa distância é o sinal.

Um exemplo: um filtro de spam treinado com poucos e-mails. Por acaso, vários spams chegaram numa terça, e o modelo aprende que "terça" significa spam. Nos e-mails de treinamento funciona perfeito; nos da semana seguinte, manda mensagens normais para o spam.

Como evitar

Mais dados e mais variados: se há spam de todos os dias, "terça" deixa de parecer uma pista. Um modelo mais simples: com menos capacidade de decorar, precisa ficar com o geral. Parar na hora certa: mede-se com os dados de validação enquanto treina e para quando ali deixa de melhorar, mesmo que nos de treinamento continue subindo. O conjunto de teste fica intocado até o final.

O oposto: underfitting

Underfitting (subajuste) é ficar aquém: o modelo é simples demais ou treinou pouco e erra tanto no que viu quanto no novo. Como quem leu só a contracapa e não sabe nem as respostas da prova antiga. O bom machine learning busca o meio-termo entre os dois.

Erros comuns

"Se acerta quase tudo no treino, é um bom modelo." O que importa é como vai com dados que não viu. "Treinar mais voltas resolve." Com os mesmos exemplos, costuma decorá-los mais. "Minhas evals vão bem, então generaliza." Só se os casos de teste não estavam no que o modelo usou para aprender.