Overfitting e Misfitting em Machine Learning

Conteúdo

screenshot-2020-02-06-at-14-29-23-5208881

O desafio da incompatibilidade e do ajuste excessivo no aprendizado de máquina

Inevitavelmente, você enfrentará essa questão em uma entrevista com um cientista de dados:

Você pode explicar qual é a incompatibilidade e o ajuste excessivo no contexto do aprendizado de máquina?? Descreva de uma forma que mesmo uma pessoa não técnica possa entender.

Sua capacidade de explicar isso de uma maneira não técnica e fácil de entender pode muito bem fazer sua adequação para a função de ciência de dados!!

Mesmo quando estamos trabalhando em um aprendizado de máquina esboço, projeto, frequentemente nos deparamos com situações em que encontramos um desempenho inesperado ou diferenças na taxa de erro entre o conjunto de treinamento e o conjunto de teste (como é mostrado a seguir). Como um modelo pode ter um desempenho tão bom no conjunto de treinamento e tão mal no conjunto de teste?

screenshot-2020-02-06-at-11-06-42-5586025

Isso acontece com muita frequência sempre que trabalho com modelos preditivos baseados em árvores. Por causa da maneira como os algoritmos funcionam, Você pode imaginar como é difícil evitar cair na armadilha do overfitting!!

Ao mesmo tempo, pode ser bastante opressor quando não conseguimos encontrar a razão subjacente pela qual nosso modelo preditivo exibe esse comportamento anômalo.

Está é minha experiência pessoal: pergunte a qualquer cientista de dados experiente sobre isso, eles geralmente começam falando sobre uma série de termos sofisticados, como overfitting, desajustamento, viés e variância. Mas pouco se fala sobre a intuição por trás desses conceitos de aprendizado de máquina. Vamos retificar isso, de acordo?

Vamos dar um exemplo para entender underfitting vs overfitting

Eu quero explicar esses conceitos usando um exemplo do mundo real. Muitas pessoas falam sobre o ângulo teórico, mas eu acho que não é o suficiente: precisamos visualizar como o ajuste insuficiente e excessivo realmente funciona.

Então, vamos voltar aos nossos dias de faculdade para isso.

screenshot-2020-02-06-at-14-31-18-8914928

Considere uma aula de matemática que consiste em 3 alunos e um professor.

Agora, em qualquer sala de aula, podemos dividir amplamente os alunos em 3 categorias. Vamos falar sobre eles um por um.

screenshot-2020-02-06-at-14-36-24-9290172

Digamos que o aluno A se pareça com um aluno que não gosta de matemática. Ele não se interessa pelo que é ensinado na aula e por isso não dá muita atenção ao professor e ao conteúdo que ele está ensinando..

screenshot-2020-02-06-at-14-36-58-1080455

Vamos considerar o aluno B. É o aluno mais competitivo que se concentra em memorizar cada uma das perguntas ensinadas em sala de aula, em vez de se concentrar em conceitos-chave. Simplesmente, não estou interessado em aprender a abordagem de resolução de problemas.

screenshot-2020-02-06-at-14-37-37-9636094

Em resumo, nós temos o aluno ideal C. Ela está puramente interessada em aprender os conceitos-chave e a abordagem de resolução de problemas nas aulas de matemática, em vez de apenas memorizar as soluções apresentadas..

screenshot-2020-02-06-at-14-38-18-7350078

Todos nós sabemos por experiência própria o que acontece em uma sala de aula. O professor primeiro ensina e ensina os alunos sobre os problemas e como resolvê-los. No final do dia, o professor simplesmente faz um teste com base no que eles ensinaram em sala de aula.

O empecilho vem nas provas semestrais3 que a escola institui. É aqui que surgem novas questões (dados invisíveis). Os alunos não visualizaram essas questões antes e certamente não as resolveram em sala de aula.. Soa familiar?

Então, Vamos discutir o que acontece quando o professor faz um teste na sala de aula no final do dia:

screenshot-2020-02-06-at-14-40-19-5496737

  • Um estudante, que ele estava distraído em seu próprio mundo, você apenas adivinhou as respostas e obteve cerca de 50% notas no teste.
  • Por outro lado, o aluno que memorizou cada questão ensinada em sala de aula foi capaz de responder quase todas as questões de cor e, por isso, tenho um 98% notas no teste de classe.
  • Para o aluno C, realmente resolveu todas as questões usando a abordagem de resolução de problemas que você aprendeu na sala de aula e obteve uma pontuação de 92%.

Podemos inferir claramente que o aluno que simplesmente memoriza tudo está obtendo melhores resultados sem muita dificuldade..

Agora aqui está a reviravolta. Também vamos ver o que acontece durante o teste mensal, quando os alunos têm que enfrentar novas questões desconhecidas que o professor não ensina em sala de aula.

screenshot-2020-02-06-at-14-40-59-2844583

  • No caso do aluno A, as coisas não mudaram muito e ele ainda responde às perguntas corretamente ao acaso ~ 50% do tempo.
  • No caso do Aluno B, sua pontuação caiu significativamente. Você consegue adivinhar porque? Isso porque ele sempre memorizou os problemas que lhe foram ensinados nas aulas, mas este questionário mensal continha perguntas que eu nunca tinha visto antes. Por isso, o desempenho deles caiu significativamente.
  • No caso do Aluno C, a pontuação permaneceu quase a mesma. Isso porque ele se concentrou em aprender a abordagem de resolução de problemas e, por isso, foi capaz de aplicar os conceitos que você aprendeu para resolver as questões desconhecidas.

Como isso está relacionado à incompatibilidade e ao ajuste excessivo no aprendizado de máquina??

Você pode estar se perguntando como este exemplo se relaciona ao problema que encontramos ao longo do treinamento e às pontuações do teste do classificador da árvore de decisão.. Boa pergunta!screenshot-2020-02-06-at-14-41-42-8668733

Então, Vamos trabalhar para conectar este exemplo com os resultados do classificador de árvore de decisão que mostrei anteriormente..

screenshot-2020-02-06-at-11-08-59-9197207

Primeiro, o trabalho da classe e o teste da classe se assemelham aos dados de treinamento e prognósticos nos próprios dados de treinamento, respectivamente. Por outro lado, o teste semestral representa o conjunto de testes de nossos dados que colocamos de lado antes de treinar nosso modelo (ou dados não vistos em um projeto de aprendizado de máquina do mundo real).

Agora, lembre-se do nosso classificador de árvore de decisão que mencionei anteriormente. Obteve uma pontuação perfeita no conjunto de treinamento, mas teve problemas com o conjunto de teste. Comparando isso com os exemplos dos alunos que acabamos de discutir, o classificador faz uma analogia com o aluno B, que tentou memorizar cada uma das perguntas do conjunto de treinamento.

de forma similar, nosso classificador de árvore de decisão tenta aprender cada ponto nos dados de treinamento, mas sofre radicalmente quando encontra um novo ponto de dados no conjunto de teste. Não é capaz de generalizar bem.

screenshot-2020-02-06-at-14-42-42-8973598

Esta situação em que um determinado modelo tem um desempenho muito bom nos dados de treinamento, mas o desempenho cai significativamente ao longo do conjunto de teste é chamado de modelo de overfitting.

Como um exemplo, modelos no paramétricos como Árvores de decisão, KNN e outros algoritmos baseados em árvore são muito propensos a overfitting. Esses modelos podem aprender relacionamentos muito complexos que podem resultar em sobreajuste. O gráfico a seguir resume este conceito:

screenshot-2020-02-06-at-11-09-13-2430431

Por outro lado, se o modelo está tendo um desempenho insatisfatório durante o teste e o treinamento, então o chamamos de modelo mal ajustado. Um exemplo dessa situação seria a construção de um modelo de regressão linear sobre dados não lineares..

screenshot-2020-02-06-at-11-09-21-4813174

Notas finais

Espero que este breve insight tenha esclarecido quaisquer dúvidas que você possa ter sobre os modelos que não se ajustam, eles se ajustam demais e se ajustam melhor e como funcionam ou se comportam sob o capô.

Sinta-se à vontade para me enviar qualquer pergunta ou comentário abaixo.

Assine a nossa newsletter

Nós não enviaremos SPAM para você. Nós odiamos isso tanto quanto você.