What is Overfitting In Machine Learning And How To Avoid It?

construir um modelo de aprendizagem de máquina não é apenas sobre a alimentação dos dados, há um monte de deficiências que afetam a precisão de qualquer modelo. Sobrefitting na aprendizagem de máquinas é uma tal deficiência na aprendizagem de máquinas que impede a precisão, bem como o desempenho do modelo. Os seguintes tópicos são abordados neste artigo:

  • O que é o excesso de trabalho na aprendizagem com máquinas?exemplos de sobreposição de sinais vs ruídocomo detectar o excesso de Velocidade?como evitar o excesso de montagem na aprendizagem de máquinas Qual é a bondade do ajuste?o que é que está a sobrepor-se na aprendizagem de máquinas?

    um modelo estatístico é dito ser sobrecarregado quando nós alimentá-lo muito mais dados do que o necessário. Para torná-lo relacionável, imagine tentar caber em roupas grandes.

    sobrefitting in machine learning-edureka

    Quando um modelo encaixa mais dados do que realmente necessita, ele começa a pegar os dados ruidosos e os valores imprecisos nos dados. Como resultado, a eficiência e precisão do modelo diminuem. Vejamos alguns exemplos de sobrefitting, a fim de compreender como é que isso realmente acontece.exemplos de sobreposição

    exemplo 1

    Se tomarmos um exemplo de regressão linear simples, a formação dos dados consiste em descobrir o custo mínimo entre a linha de melhor ajuste e os pontos de dados. Ele passa por uma série de iterações para descobrir o melhor ajuste ideal, minimizando o custo. É aqui que o exagero entra na cena.

    regressão linear-sobrefitting in machine learning-edureka

    a linha vista na imagem acima pode dar um resultado muito eficiente para um novo ponto de dados. No caso de sobrecarga, quando executamos o algoritmo de treinamento no conjunto de dados, permitimos que o custo seja reduzido com cada número de iteração.

    executar este algoritmo por muito tempo significa um custo reduzido, mas também irá caber os dados ruidosos do conjunto de dados. O resultado seria parecido com o gráfico abaixo.

    sobrefitting in machine learning-edureka

    isto pode parecer eficiente, mas não é realmente. O principal objetivo de um algoritmo como a regressão linear é encontrar uma tendência dominante e ajustar os pontos de dados em conformidade. Mas neste caso, a linha se encaixa em todos os pontos de dados, o que é irrelevante para a eficiência do modelo na previsão de resultados ótimos para novos pontos de dados de entrada.

    agora vamos considerar um exemplo mais descritivo com a ajuda de uma declaração de problema.Exemplo 2 declaração de problemas: Vamos considerar que queremos prever se um jogador de futebol vai ter uma vaga em um clube de futebol tier 1 com base em seu desempenho atual na liga tier 2.agora imagine, nós treinamos e encaixamos o modelo com 10.000 jogadores com resultados. Quando tentamos prever o resultado do conjunto de dados originais, digamos que temos uma precisão de 99%. Mas a precisão em um conjunto de dados diferente vem em torno de 50 por cento. Isto significa que o modelo não generaliza bem a partir de nossos dados de treinamento e dados não vistos.

    Este é o aspecto de overfitting. É um problema muito comum na aprendizagem de máquinas e até mesmo na ciência dos dados. Agora vamos entender o sinal e o barulho.

    sinal vs ruído

    na modelagem preditiva, sinal refere-se ao verdadeiro padrão subjacente que ajuda o modelo a aprender os dados. Por outro lado, o ruído é irrelevante e dados aleatórios no conjunto de dados. Para compreender o conceito de ruído e sinal, tomemos um exemplo da vida real.suponhamos que queremos modelar a idade vs a literacia entre adultos. Se provarmos uma grande parte da população, encontraremos uma relação clara. Este é o sinal, enquanto o ruído interfere com o sinal. Se fizermos o mesmo numa população local, a relação vai ficar enlameada. Seria afetado por anómalos e aleatoriedade, por exemplo, um adulto foi para a escola cedo ou algum adulto não poderia pagar a educação, etc.falando de ruído e sinal em termos de aprendizagem de máquinas, um bom algoritmo de aprendizagem de máquinas separará automaticamente sinais do ruído. Se o algoritmo é muito complexo ou ineficiente, ele pode aprender o ruído também. Daí, sobrecarregar o modelo. Vamos também entender o subfitting na aprendizagem de máquinas.

    o que é Subfitting?

    a fim de evitar sobreposições, poderíamos parar o treinamento em uma fase anterior. Mas também pode levar a que o modelo não seja capaz de aprender o suficiente com os dados de treinamento, que pode ter dificuldade em capturar a tendência dominante. Isto é conhecido como subfitting. O resultado é o mesmo que sobrefitting, ineficiência na previsão de resultados.

    underfitting - overfitting em aprendizado de máquina - edureka

    Agora que temos entendido que underfitting e overfitting em Aprendizado de Máquina realmente é, vamos tentar entender como podemos detectar overfitting em Aprendizado de Máquina.

    como detectar o excesso de Velocidade?

    o principal desafio com a sobrecarga é estimar a precisão do desempenho do nosso modelo com novos dados. Nós não seríamos capazes de estimar a precisão até que nós realmente testá-lo.

    para resolver este problema, podemos dividir o conjunto de dados iniciais em conjuntos de dados de treinamento e teste separados. Com esta técnica, podemos realmente aproximar o quão bem nosso modelo irá se apresentar com os novos dados.

    deixe-nos entender isso com um exemplo, imagine que temos uma precisão de 90+ por cento no conjunto de treinamento e uma precisão de 50 por cento no conjunto de teste. Então, automaticamente seria uma bandeira vermelha para o modelo.

    outra maneira de detectar o excesso é começar com um modelo simplista que servirá como referência.

    com esta abordagem, se você tentar algoritmos mais complexos, você será capaz de entender se a complexidade adicional vale mesmo a pena para o modelo ou não. É também conhecido como o teste de Navalha de Occam, ele basicamente escolhe o modelo simplista em caso de desempenho comparável em caso de dois modelos. Embora a detecção de sobrefitting seja uma boa prática, existem várias técnicas para evitar a sobrefitting também. Vamos dar uma olhada em como podemos evitar a sobrefitting na aprendizagem de máquinas.como evitar a sobrecarga na aprendizagem de máquinas?

    Existem várias técnicas para evitar o excesso de montagem na aprendizagem de máquinas, listadas abaixo.

    1. Validação Cruzada

    2. a Formação Com Mais Dados

    3. a Remoção de Recursos

    4. os Primeiros a Parar

    5. a Regularização

    6. Ensembling

    1. A validação cruzada

    uma das características mais poderosas para evitar/prevenir sobreposições é a validação cruzada. A idéia por trás disso é usar os dados de treinamento inicial para gerar mini train-test-splits, e então usar essas splits para afinar o seu modelo.

    numa validação padrão em K-fold, os dados são divididos em subconjuntos-k também conhecidos como dobras. Depois disso, o algoritmo é treinado iterativamente em dobras k-1 enquanto usa as dobras restantes como o conjunto de teste, também conhecido como dobra holdout.

    cross-validation - overfitting in machine learning - edurekathe cross-validation helps to tune the hyperparameters with only the original training set. Ele basicamente mantém o conjunto de testes separadamente como um verdadeiro conjunto de dados invisível para selecionar o modelo final. Assim, evitando o excesso de trabalho.2. Formação com mais dados

    esta técnica pode não funcionar sempre, como também discutimos no exemplo acima, onde a formação com uma quantidade significativa de população ajuda o modelo. Basicamente ajuda o modelo a identificar melhor o sinal.

    mas em alguns casos, o aumento dos dados também pode significar alimentar mais ruído para o modelo. Quando estamos treinando o modelo com mais dados, temos que nos certificar de que os dados são limpos e livres de aleatoriedade e inconsistências.3. Removendo recursos

    embora alguns algoritmos tenham uma seleção automática de recursos. Para um número significativo daqueles que não têm uma seleção de recursos incorporada, podemos remover manualmente algumas características irrelevantes das características de entrada para melhorar a generalização.

    uma maneira de fazê-lo é derivando uma conclusão sobre como uma característica se encaixa no modelo. É bastante semelhante a depuração do Código linha-a-linha.

    no caso de uma característica ser incapaz de explicar a relevância no modelo, podemos simplesmente identificar essas características. Podemos até usar algumas heurísticas de seleção de recursos para um bom ponto de partida.4. Parar precocemente

    Quando o modelo é treinamento, você pode realmente medir o quão bem o modelo funciona com base em cada iteração. Podemos fazer isso até um ponto em que as iterações melhoram o desempenho do modelo. Depois disso, o modelo superfits os dados de treinamento como a generalização enfraquece após cada iteração.

    paragem precoce na aprendizagem com máquinas - edureka

    portanto, basicamente, paragem precoce significa parar o processo de formação antes de o modelo passar o ponto em que o modelo começa a sobrecarregar os dados de formação. Esta técnica é usada principalmente na aprendizagem profunda.5. Regularizar

    basicamente significa, forçando artificialmente o seu modelo a ser mais simples, usando uma gama mais ampla de técnicas. Depende totalmente do tipo de aprendiz que estamos usando. Por exemplo, podemos podar uma árvore de decisão, usar uma gota em uma rede neural ou adicionar um parâmetro de penalidade para a função de custo na regressão.

    muitas vezes, a regularização também é um hiperparâmetro. Significa que também pode ser sintonizado através da validação cruzada.6. Agrupar

    esta técnica basicamente combina previsões de diferentes modelos de aprendizagem de máquinas. Dois dos métodos mais comuns para ensembling estão listados a seguir:

    • Ensacamento tentativas para reduzir a chance de overfitting os modelos

    • Reforço tentativas para melhorar a introdução assistida de flexibilidade de modelos mais simples

    embora ambos conjunto de métodos, a abordagem totalmente começa a partir de direções opostas. Bagging usa modelos de base complexos e tenta suavizar suas previsões, enquanto boosting usa modelos de base simples e tenta aumentar a sua complexidade agregada.o que é a bondade do ajuste?

    na modelagem estatística, a bondade do ajuste refere-se a quão próximos os resultados ou valores previstos correspondem aos valores observados ou verdadeiros. Um modelo que aprendeu ruído em vez do sinal é superfited porque ele vai caber o conjunto de dados de treinamento, mas terá menor eficiência com o novo conjunto de dados.

    the Trade-off Between Bias And Variance

    Both variance and bias are forms of prediction error in Machine Learning. O trade-off entre alta variância e alta viés é um conceito muito importante em estatísticas e aprendizagem de máquinas. Este é um conceito que afeta todos os algoritmos de aprendizado de máquina supervisionados.

    o bias-variance trade-off tem um impacto muito significativo na determinação da complexidade, subfitting, e overfitting para qualquer modelo de aprendizagem de máquina.

    viés

    não é nada além da diferença entre os valores previstos e os valores reais ou verdadeiros no modelo. Nem sempre é fácil para o modelo aprender com sinais bastante complexos.

    vamos imaginar encaixar uma regressão linear a um modelo com dados não-lineares. Por mais eficiente que o modelo aprenda as observações, ele não modelará as curvas de forma eficiente. É conhecido como subfitting.variância

    variância

    refere-se à sensibilidade do modelo a conjuntos específicos nos dados de formação. Um algoritmo de alta variância irá produzir um modelo bizarro que é drasticamente diferente do conjunto de treinamento.

    Imagine um algoritmo que se encaixe no modelo não constrangido e super-flexível, ele também aprenderá com o ruído no conjunto de treinamento causando sobrecarga.

    Bias-Variance Trade-off

    a Machine Learning algorithm cannot be perceived as a one-time method for training the model, instead, it is a repetitive process.

    algoritmos de baixa variância-alta viés são menos complexos, com uma estrutura simples e rígida.

    • eles irão treinar os modelos que são consistentes, mas imprecisos em média.

    • estes incluem algoritmos lineares ou paramétricos, tais como regressão, Bayes ingênuos, etc.

    algoritmos de alta variância-baixa viés tendem a ser mais complexos, com uma estrutura flexível.

    • eles irão treinar os modelos que são inconsistentes mas precisos em média.

    • estes incluem algoritmos não-lineares ou não-paramétricos, tais como árvores de decisão, vizinho mais próximo, etc.

    isto leva-nos ao fim deste artigo, onde aprendemos a sobre-encaixar na aprendizagem de máquinas e sobre várias técnicas para evitá-la. Espero que você seja claro com tudo o que foi compartilhado com você neste tutorial.se você achou relevante este artigo sobre “Overfitting In Machine Learning”, confira o treinamento de certificação de aprendizagem de máquinas de Edureka, uma empresa de Aprendizagem Online confiável com uma rede de mais de 250.000 alunos satisfeitos espalhados por todo o mundo.estamos aqui para ajudá-lo a cada passo da sua jornada e criar um currículo que é projetado para estudantes e profissionais que querem ser um engenheiro de aprendizagem de máquinas. O curso foi projetado para lhe dar um avanço na programação Python e treiná-lo para conceitos Python de núcleo e avançado, juntamente com vários algoritmos de aprendizagem de máquinas como SVM, Árvore de decisão, etc.

Deixe uma resposta

O seu endereço de email não será publicado.