O que é overfitting e underfitting no aprendizado de máquina? [Tudo o que você precisa aprender]

Publicados: 2020-02-18

Machine Learning não é o assunto mais fácil de dominar. Overfitting e Underfitting são alguns dos muitos termos que são comuns na comunidade de Machine Learning. Compreender esses conceitos estabelecerá as bases para seu aprendizado futuro.

Vamos aprender sobre esses conceitos profundamente neste artigo. Também discutiremos a ideia básica desses erros, por que eles ocorrem e como você pode corrigi-los. Você também aprenderá um pouco sobre modelos de dados e sua relação com esses erros.

Então, sem rodeios, vamos direto ao assunto:

Índice

O que é um modelo de dados?

Antes de começarmos a discutir o que são Overfitting e Underfitting, vamos primeiro entender o que é um modelo. Um modelo de dados é um sistema para fazer previsões com a entrada. Você pode dizer que um modelo é uma teoria para resolver um problema. Por exemplo, se você deseja prever o crescimento de várias empresas, pode usar seus lucros como entrada e gerar resultados com base na relação entre seus ganhos e crescimento. A saída para este exemplo seria o crescimento previsto das empresas.

Assim, a entrada é o lucro atual das empresas, enquanto suas projeções de crescimento são a saída. A relação entre esses dois é o modelo. Os modelos são necessários para gerar saídas.

O modelo entende a relação entre a entrada e a saída por meio de um conjunto de dados de treinamento. Chamamos recursos de entradas e rótulos de saídas. Então, você pode ver esses nomes no artigo também. Durante o treinamento do modelo, você fornecerá os recursos e os rótulos e permitirá que ele descubra a relação entre eles. Depois de concluído o treinamento, você pode experimentar o modelo, fornecendo apenas um conjunto de recursos, cujas previsões corretas estão disponíveis para você.

Depois de gerar suas previsões, você as compara com as previsões corretas que você tem e vê a precisão do modelo. Os modelos são de muitas formas.

Treinamento e teste de dados

Você pode fornecer recursos perfeitos ao seu modelo de dados quando é iniciante, mas não é isso que acontece no mundo real. Os dados no mundo real estão cheios de ruído e informações inúteis. Não importa qual seja a fonte de seus dados, você encontrará algumas variáveis ​​presentes neles, que não se encaixam na tendência.

Em nosso exemplo de projeções de crescimento das empresas, você sabe que o crescimento delas não dependeria inteiramente de seus lucros. Haveria muitos fatores em jogo. Durante o treinamento do seu modelo, você deve adicionar algum ruído para torná-lo realista. Depois de criar seus dados, você precisa dividi-los em dois conjuntos para treinamento e teste.

Você usaria os dados de treinamento para ajudar o modelo a aprender a relação entre recursos e rótulos. E você usaria os dados de teste para avaliar seu desempenho.

Existem muitas formas de modelos presentes no mundo dos dados. Escolher um pode ser um pouco assustador, mas com um pouco de prática, fica mais fácil. Um modelo padrão é uma regressão polinomial. É uma forma de regressão linear onde as entradas são aumentadas para uma variedade de potências. É uma espécie de regressão linear, mas não forma uma linha reta. Leia mais sobre implementação de regressão linear.

Você define um polinômio por sua ordem. A ordem de um polinômio é a maior potência de x em sua equação. E a ordem do polinômio também mostra seu grau. Por exemplo, uma equação de linha reta tem 1 grau.

Importância de corrigir overfitting e underfitting no aprendizado de máquina

Overfitting e Underfitting ocorrem quando você lida com o grau polinomial do seu modelo. Como mencionamos anteriormente, o grau do polinômio depende da maior potência de x em sua equação. Esse valor indica a flexibilidade do seu modelo. Se o seu modelo tiver um grau alto, teria muito mais liberdade. Com um alto grau, um modelo pode cobrir muitos objetos de dados.

Por outro lado, um modelo com menos de graus exigidos não seria capaz de cobrir objetos de dados suficientes. Ambas as situações podem levar a resultados sujos que não são úteis.

O primeiro problema de grau superior ao necessário foi o Overfitting. E o segundo problema de menos do que o grau exigido foi underfitting. Como você pode ver, ambos podem ser prejudiciais ao seu modelo e prejudicar seus resultados.

Se você não corrigir esses problemas, seu modelo não fornecerá resultados precisos e você terá rótulos inúteis para usar.

Agora que conhecemos seu conceito básico, vamos discutir cada um deles em detalhes:

O que é Overfitting?

Quando um algoritmo de aprendizado de máquina começa a registrar ruído nos dados, chamamos isso de Overfitting. Em palavras mais simples, quando o algoritmo começa a prestar muita atenção aos pequenos detalhes. No aprendizado de máquina, o resultado é prever a saída provável e, devido ao Overfitting, pode prejudicar sua precisão em grande parte. Sabemos que parece uma coisa boa, mas não é.

Um exemplo grave de Overfitting no aprendizado de máquina pode ser um gráfico em que todos os pontos se conectam linearmente. Queremos capturar a tendência, mas o gráfico não faz isso.

Um modelo que é incapaz de fazer boas previsões, mas aprende tudo o que é possível com os dados, é inútil, pois leva a resultados imprecisos.

O que fazer quando você percebe o Overfitting?

Podemos corrigir esse problema simplesmente diminuindo a quantidade de dados que o algoritmo usa e não sobrecarregando o sistema. A alta variância (Overfitting) torna as coisas piores do que melhores. Algumas das técnicas convencionais usadas para resolver o Overfitting são as seguintes:

Diminuindo as iterações

Ao reduzir o número de repetições que são executadas antes que o Overfitting aconteça, podemos impedir que isso aconteça. Você pode encontrar a quantidade exata de iterações pelo método de tentativa e erro.

Regularização

Ele restringe as estimativas de coeficiente, que são próximas de 0. Em palavras mais simples, podemos dizer que ele diz ao algoritmo para usar um modelo mais brando em vez de um rígido. Saiba mais sobre regularização e como evitar overfitting.

Poda (padrão)

A maneira mais fácil e comum de evitar o Overfitting é a poda. Ele se livra de todos os nós que adicionam pouco ou nenhum poder preditivo.

Validação cruzada quíntupla

Usar validação cruzada é um dos métodos menos complicados para verificar o Overfitting.

O que é Underfitting?

Como o nome sugere, Underfitting é quando o modelo não é adequado o suficiente para fornecer resultados. Um modelo de dados underfit não sabe como direcionar objetos de dados suficientes. Com um grau menor, o gráfico acaba perdendo a maioria das características presentes.

Em outras palavras, o modelo é 'simples demais' para gerar resultados se estiver subajustado. No entanto, resolver esse problema é bem mais confortável e não requer tanto esforço quanto o Overfitting fazia anteriormente.

O que fazer quando você percebe Underfitting?

Se o seu modelo for insuficiente, você deve fornecer mais recursos. Com mais recursos, ele terá um espaço de hipóteses maior. Ele pode usar esse espaço para gerar resultados precisos. Detectar underfitting é mais confortável em comparação com Overfitting para que você não tenha nenhum problema em identificar este erro. No entanto, você deve apenas aumentar os recursos e não os dados inteiros ao lidar com um modelo de baixo ajuste. Expandir os dados resulta em mais erros neste caso.

Leia: Ideias interessantes de projetos de aprendizado de máquina

Acerte o ponto doce

No aprendizado de máquina, você deseja que seu modelo de dados fique entre Underfitting e Overfitting. Não deve cobrir muitos pontos de dados nem muito poucos. Conforme você treinará seu modelo ainda mais, poderá melhorá-lo ainda mais e corrigir seus erros. Os erros do seu modelo começarão a cair em números com o conjunto de treinamento e o conjunto de teste.

Uma ótima maneira de atingir o ponto ideal entre Overfitting e Underfitting é parar de treinar seu modelo antes que seus erros comecem a aumentar. É uma solução geral, que você pode usar além dos métodos mencionados anteriormente neste artigo.

Conclusão

Todo profissional de dados enfrenta o problema de Overfitting e Underfitting. Treinar um modelo de dados não é fácil e requer muita prática para se familiarizar com eles. No entanto, com a experiência, você começará a identificar os problemas desde o início e evitará completamente as causas dos erros.

É vital estar familiarizado com esses erros se você quiser se tornar um especialista em aprendizado de máquina. Se você estiver interessado em aprender mais sobre aprendizado de máquina e ciência de dados, confira o Diploma PG do IIIT-B e do upGrad em aprendizado de máquina e IA, projetado para profissionais que trabalham e oferece mais de 450 horas de treinamento rigoroso, mais de 30 estudos de caso e atribuições , IIIT-B Alumni status, mais de 5 projetos práticos práticos e assistência de trabalho com as principais empresas.

Prepare-se para uma carreira do futuro

DIPLOMA PG EM APRENDIZAGEM DE MÁQUINA E INTELIGÊNCIA ARTIFICIAL
Saber mais