overfitting

Overfitting

“Lembra daquelas crianças que eram fenomenais em memorização, mas nunca conseguiam aplicar os conceitos memorizados em um problema novo? (mais…)

Anúncios

Explicando overfitting com uma anedota

cookie-da-franquia-mr-cheney-1358961507695_956x500

Uma anedota bem interessante foi sugerida por uma escritora do Quora chamada Divya Sharma:

O pequeno Bobby ama cookies. Sua mãe faz cookies de gotas de chocolate todos os domingos. Porém, o mundo não é o ideal e os cookies não possuem o mesmo sabor todo domingo. Alguns domingos eles estão mais saborosos, outros domingos eles não estão tão bons. Sendo o pequeno menino curioso que é, Bobby decide descobrir quando os cookies ficam mais saborosos e quando não ficam.

A primeira observação que ele faz é que o número de gotas de chocolate varia de cookie pra cookie e essa é praticamente a única coisa observável que varia entre os cookies.

Agora, Bobby começa a tomar notas todos os domingos.

Depois de sete domingos, as suas notas parecem com algo assim:

Domingo 1 – No. de Gotas de Chocolate: 7; Sabor: Ótimo
Domingo 2 – No. de Gotas de Chocolate: 4; Sabor: Bom
Domingo 3 – No. de Gotas de Chocolate: 2; Sabor: Ruim
Domingo 4 – No. de Gotas de Chocolate: 5; Sabor: Horrível
Domingo 5 – No. de Gotas de Chocolate: 3; Sabor: Mais ou menos
Domingo 6 – No. de Gotas de Chocolate: 6; Sabor: Horrível

Isso parece bem direto. Quanto maior o número de gotas de chocolates, mais saboroso o cookie, com exceção das anotações de domingo 4 e domingo 6, que contradizem esta hipótese. O que o pequeno Bobby não sabe é que sua mãe esqueceu de colocar açúcar nos cookies de domingo 4 e domingo 6.

Como Bobby é uma pequena criança inocente, ele não sabe que o mundo está longe do ideal e que coisas como aleatoriedade e ruído são parte integral dele. Ele também não sabe que há fatores que não são diretamente observáveis. Porém, eles afetam o resultado de nossos experimentos. Então, ele conclui que o cookies ficam mais gostosos na medida que o número de gotas de chocolate aumentam quando há menos que 5 gotas de chocolate e mais que 6, mas caem drasticamente quando o número de gotas de chocolate é 5 ou 6.

Ele levantou uma hipótese muito complexa, e, não vamos nos esquecer, incorreta, para explicar como o sabor dos cookies variam porque ele tentou explicar e justificar as anotações de cada um dos domingos. Isso é chamado sobreajuste. Tentar explicar/justificar o máximo de observações possíveis com uma hipótese extremamente complexa – e possivelmente incorreta.

Se ele tivesse escolhido tratar o domingo 4 e o domingo 6 como ruídos, a hipótese  dele teria sido mais simples e relativamente mais correta.

Traduzido de https://www.quora.com/What-is-an-intuitive-explanation-of-overfitting/answer/Divya-Sharma-2?srid=GcIk

Overfitting e Cross Validation

Um termo bem comum de se encontrar quando o assunto é modelagem é overfitting. É até bonito de se dizer. Overfitting ocorre quando o seu modelo se ajusta aos seus dados, ou seja, o modelo serve só para os dados da base que foi utilizada para a sua construção. O que ocorre é que nesse caso o modelo passa em diversos testes de precisão com o conjunto de dados utilizados, porém, não serve para predição. Em outras palavras, como alguns cientistas de dados costumam dizer, o seu modelo aprender os dados da base treino ao invés de aprender o todo e ser capaz de fazer previsões. A grosso modo, isso ocorre quando você possui uma alta complexidade e muitos parâmetros se comparado com a base de desenvolvimento. Nesse caso, o modelo serve somente para os dados utilizados no desenvolvimento e suas previsões serão fracas.

Como resolver o problema do overfitting?

O mais óbvio é simplificar seu modelo. Parece pouco intuitivo, mas não devemos colocar qualquer parâmetro no modelo, se algum pode ser retirado sem impacto significativo, retire-o.

Faça algumas rodadas de validação cruzada. Algumas divisões aleatórias para a base treino e teste devem auxiliá-lo na identificação de algum problema.

Finalmente, veja se faz sentido o modelo construído. Tente entender como cada parâmetro está impactando a variável resposta. Tenha cuidado com padrões espúrios.