Overfitting vs. underfitting: encontrando o equilíbrio

Vista aérea de uma plantação de arroz no Vietnã

Autores

Tim Mucci

IBM Writer

Gather

Overfitting vs. underfitting

Quando cientistas e engenheiros de dados treinam modelos de aprendizado de máquina (ML), eles correm o risco de usar um algoritmo simples demais para capturar os padrões subjacentes nos dados, levando ao underfitting, ou um que é complexo demais, levando ao overfitting. Gerenciar o overfitting e o underfitting é um desafio central nos fluxos de trabalho de ciência de dados e no desenvolvimento de sistemas confiáveis de inteligência artificial (IA).

Projeto 3D de bolas rolando em uma pista

As últimas notícias e insights sobre IA 


Descubra insights selecionados por especialistas e notícias sobre IA, nuvem e outros assuntos no boletim informativo semanal Think. 

Viés e variância no aprendizado de máquina

compromisso entre viés e variância

Viés e variância explicam o equilíbrio que os engenheiros precisam encontrar para ajudar a garantir um bom ajuste em seus modelos de aprendizado de máquina. Dessa forma, a compensação entre viés e variância é fundamental para lidar com o underfitting e overfitting.

Um modelo com viés faz suposições fortes sobre os dados de treinamento para simplificar o processo de aprendizado, ignorando sutilezas ou complexidades que não consegue considerar. A variância se refere à sensibilidade do modelo às flutuações do aprendizado nos dados de treinamento.

Exemplos de modelos com viés elevado incluem algoritmos de regressão linear ou decision trees rasas, que assumem relações lineares ou binárias simples, mesmo quando os padrões dos dados são mais complexos.

O uso de um modelo de regressão linear para dados com uma relação quadrática resultará em underfitting, pois o modelo linear não pode capturar a curvatura inerente dos dados. Como resultado, o modelo apresenta um desempenho ruim tanto no conjunto de treinamento quanto nos dados de teste não vistos, pois não consegue generalizar adequadamente.

A generalização é a capacidade do modelo de compreender e aplicar padrões aprendidos a dados não vistos. Modelos com baixa variância também tendem a sofrer underfitting, pois são simples demais para capturar padrões complexos. No entanto, modelos com baixo viés podem sofrer overfitting se forem flexíveis demais.

Uma alta variância indica que o modelo pode estar capturando ruído, idiossincrasias e detalhes aleatórios dentro dos dados de treinamento. Modelos com alta variância são excessivamente flexíveis, resultando em um erro baixo no treinamento. No entanto, quando testados com novos dados, os padrões aprendidos falham em generalizar, levando a um alto erro nos testes.

Imagine memorizar respostas para um teste em vez de compreender os conceitos necessários para chegar às respostas por conta própria. Se o teste diferir do que foi estudado, você terá dificuldades para responder às perguntas. Equilibrar variância e viés é essencial para alcançar um desempenho ideal em modelos de aprendizado de máquina.

Ilustração de overfitting e underfitting no aprendizado de máquina

Como reconhecer o overfitting e underfitting

As regras 

  • Overfitting: o erro de treinamento é baixo, mas o erro de testes é significativamente maior.
  • Underfitting: os erros são consistentemente altos nos conjuntos de dados de treinamento e testes.

Um modelo com overfitting pode resultar em alta precisão do modelo em dados de treinamento, mas baixa precisão em novos dados devido à memorização em vez de generalização. O overfitting acontece quando os engenheiros usam um modelo de aprendizado de máquina com muitos parâmetros ou camadas, como uma rede neural de deep learning, tornando-o altamente adaptável aos dados de treinamento.

Quando treinado em um conjunto de dados pequeno ou ruidoso, o modelo corre o risco de memorizar pontos de dados específicos e ruídos em vez de aprender padrões gerais. Se os dados contiverem erros ou inconsistências, o modelo pode aprender incorretamente que essas falhas são padrões significativos.

Os engenheiros procuram uma diferença de desempenho entre o treinamento e os testes, mas também podem detectar overfitting em curvas de aprendizado, onde a perda no treinamento diminui até zero enquanto a perda na validação aumenta, indicando uma generalização deficiente.

Outro sinal de um modelo com overfitting são seus limites de decisão, que representam as regras aprendidas pelo modelo para classificar pontos de dados. Em modelos com overfitting, os limites de decisão tornam-se excessivamente complexos e erráticos, adaptando-se ao ruído do conjunto de treinamento em vez de capturar estruturas subjacentes reais, o que evidencia o overfitting.

modelo bem ajustado vs. modelo de overfitting

Além disso, conjuntos de dados de alta dimensionalidade podem levar ao overfitting devido à “maldição da dimensionalidade”. À medida que o número de funcionalidades aumenta, os pontos de dados se tornam dispersos, tornando mais difícil para os modelos encontrarem padrões significativos, o que aumenta a variância e o risco de overfitting.

Um modelo com underfitting tem um desempenho ruim em dados de treinamento e dados de testes porque não consegue capturar os padrões dominantes no conjunto de dados. Os engenheiros normalmente identificam o underfitting por meio de um desempenho consistentemente ruim em ambos os conjuntos de dados.

Modelos com underfitting também costumam apresentar erros elevados nas curvas de aprendizado, métricas de avaliação abaixo do ideal e padrões residuais sistemáticos, todos indicando uma incapacidade de aprender de forma eficaz as relações subjacentes nos dados.

O underfitting no aprendizado de máquina geralmente ocorre devido a modelos simplistas,engenharia de funcionalidades deficiente ou regularização excessiva, que restringe demais a flexibilidade do modelo. De forma similar, uma seleção ruim de funcionalidades (como a omissão de termos de interação ou características polinomiais) pode impedir que o modelo entenda relações ocultas nos dados. O pré-processamento inadequado, tempo de treinamento insuficiente ou falta de dados suficientes para treinar o modelo também podem contribuir para o underfitting.

modelo de underfitting vs. bom modelo de ajuste

Exemplos de overfitting e underfitting

Overfitting

Modelo de diagnóstico médico
Um modelo de aprendizado de máquina é treinado para classificar imagens médicas como "saudáveis" ou "doentes" em um pequeno conjunto de dados. O modelo memoriza as imagens de treinamento, atingindo uma precisão quase perfeita, mas tem um desempenho ruim em novas imagens porque aprendeu a reconhecer ruído ou artefatos específicos nos dados de treinamento em vez de características gerais das doenças.

Previsão de preços de ações
Um modelo financeiro usa uma rede neural complexa com muitos parâmetros para prever preços de ações. Em vez de aprender tendências ou padrões, ele captura flutuações aleatórias dos dados históricos, resultando em previsões altamente precisas no treinamento, mas com desempenho ruim ao ser testado em preços futuros de ações.

Previsão de perda de clientes
Um modelo de retenção de clientes inclui muitas funcionalidades específicas, como dados demográficos altamente detalhados, fazendo com que ele cause overfitting nos dados de treinamento. Ele tem dificuldades para generalizar e identificar padrões em diferentes perfis de clientes quando aplicado a uma base mais ampla.

underfitting

Previsão de preços de imóveis
Um modelo de regressão linear prevê os preços dos imóveis com base exclusivamente na metragem quadrada. O modelo não leva em conta outras características importantes, como localização, número de quartos ou idade do imóvel, resultando em um desempenho ruim nos dados de treinamento e testes.

Forecasting meteorológica
Um modelo utiliza um pequeno conjunto de funcionalidades simples, como temperatura média e umidade, para prever chuvas. Ele não consegue capturar relações mais complexas, como padrões sazonais ou interações entre múltiplos fatores atmosféricos, resultando em uma precisão consistentemente baixa.

Reconhecimento de imagens
Uma decision tree rasa é usada para classificar imagens de gatos e cães. Devido à sua simplicidade, ela falha em diferenciar entre as duas espécies, apresentando um desempenho ruim em imagens de treinamento e em novas imagens não vistas.

Como evitar o overfitting e o underfitting

Os algoritmos de aprendizado de máquina treinam modelos para reconhecer padrões nos dados, de modo que os engenheiros os utilizem para forecasting de resultados futuros a partir de entradas não vistas. O ajuste de hiperparâmetros desempenha um papel importante no equilíbrio entre overfitting e underfitting, garantindo que um modelo preditivo generalize de forma eficaz para dados não vistos.

Ao usar hiperparâmetros, os engenheiros podem realizar um ajuste fino da taxa de aprendizado, da intensidade da regularização, do número de camadas em uma rede neural ou da profundidade máxima de uma decision tree. O ajuste adequado pode evitar que um modelo seja excessivamente rígido ou muito adaptável.

Overfitting

Regularização

A regularização para modelos de regressão ou dropout em redes neurais é uma técnica usada no aprendizado de máquina para evitar que o modelo dependa excessivamente de uma única funcionalidade ou se ajuste a ruído nos dados de treinamento.

Os principais tipos de regularização incluem L1, que incentiva a dispersão ao reduzir alguns coeficientes a zero, e L2, que reduz o tamanho de todos os coeficientes para tornar o modelo mais simples e generalizável. A regularização ajuda o modelo a se concentrar nos padrões subjacentes em vez de memorizar os dados.

Aumento de dados

O aumento de dados é outra estratégia eficaz, especialmente em tarefas como visão computacional, em que a expansão artificial dos dados de treinamento por meio de inversão, rotação ou corte de imagens ajuda o modelo a generalizar melhor. Simplificar o modelo reduzindo o número de parâmetros ou camadas em uma rede neural também limita sua capacidade de memorizar detalhes de dados de treinamento.

Validação cruzada k-fold

Os engenheiros também podem usar técnicas como a validação cruzada k-fold para avaliar a generalização do modelo. A validação cruzada k-fold divide os dados em subconjuntos, treina em alguns e testa nos restantes.

De forma similar, os engenheiros podem usar um conjunto de retenção, que são informações do conjunto de treinamento a serem reservadas como dados não vistos para fornecer outra forma de avaliar o desempenho da generalização. Então, é calculada a média dos resultados para fornecer uma pontuação de desempenho geral.

validação cruzada k-fold ilustrada em diagrama

Frameworks de avaliação

Além dessas técnicas, frameworks robustos de avaliação de modelos são essenciais para garantir que um modelo de aprendizado de máquina generalize bem. Uma técnica avançada de avaliação é a validação cruzada aninhada, particularmente útil para ajuste de hiperparâmetros. Nesse método, um loop externo divide os dados em subconjuntos de treinamento e testes para avaliar a capacidade de generalização do modelo.

Ao mesmo tempo, um loop interno executa o ajuste de hiperparâmetros nos dados de treinamento para garantir que o processo de ajuste não resulte em overfitting no conjunto de validação. Essa abordagem separa a otimização dos hiperparâmetros da avaliação do modelo, proporcionando uma estimativa mais precisa do desempenho do modelo em dados não vistos.

Outro framework eficaz combina divisões de treino e testes com parada antecipada para monitorar a perda na validação durante o treinamento. Ao avaliar o desempenho do modelo em um conjunto de validação dedicado, engenheiros podem interromper o treinamento quando o desempenho na validação estabilizar ou começar a decair, evitando o overfitting.

Os frameworks de avaliação devem incluir amostragem estratificada para problemas de classificação com conjuntos de dados desbalanceados, garantindo que cada divisão de dados preserve a mesma distribuição de classes do conjunto original. Isso evita o overfitting em classes majoritárias e assegura uma avaliação justa do desempenho das classes minoritárias.

Métodos de conjunto

Métodos de conjunto, como bagging e boosting, combinam vários modelos para mitigar os pontos fracos individuais e melhorar a generalização geral. Por exemplo, random forests, uma técnica popular de conjunto, reduz o overfitting ao agregar previsões de múltiplas decision trees, equilibrando efetivamente o viés e a variância.

underfitting

Modelos mais complexos

Para lidar com o underfitting, os engenheiros frequentemente aumentam a complexidade do modelo para capturar melhor os padrões subjacentes nos dados. Por exemplo, mudar de regressão linear simples para uma regressão polinomial pode ajudar nos casos em que as funcionalidades de relacionamento e a variável-alvo são não lineares. Embora modelos mais complexos possam lidar com o underfitting, eles correm o risco de overfitting se não forem devidamente regularizados.  

Regularização

A redução das penalidades de regularização também pode permitir que o modelo tenha mais flexibilidade para ajustar os dados sem ser excessivamente restrito. Por exemplo, os parâmetros L1 e L2 são tipos de regularização usados para verificar a complexidade de um modelo. L1 (lasso) adiciona uma penalidade para incentivar o modelo a selecionar apenas as funcionalidades mais importantes. L2 (ridge) ajuda a levar o modelo a uma importância distribuída mais uniformemente entre as funcionalidades.

Engenharia de variáveis

A engenharia e a seleção de funcionalidades desempenham um papel importante na criação ou transformação de funcionalidades, como a adição de termos de interação, funcionalidades polinomiais ou codificação de variáveis categóricas, para fornecer ao modelo informações mais relevantes.

Tempo de treinamento

Permitir mais tempo de treinamento ao modelo, aumentando o número de epochs, garante que ele tenha uma oportunidade adequada para aprender com os dados. Uma epoch representa uma passagem completa pelo conjunto de dados de treinamento, e múltiplas epochs permitem que o modelo aprenda padrões de forma mais eficaz.

Múltiplas epochs são frequentemente utilizadas para permitir que o modelo aprenda melhor os padrões dos dados. Além disso, aumentar o tamanho do conjunto de treinamento ajuda o modelo a identificar padrões mais diversos, reduzindo o risco de simplificação excessiva e melhorando a generalização.

Qualidade dos dados

De forma holística, os engenheiros devem avaliar minuciosamente os dados de treinamento para garantir precisão, integridade e consistência, verificando-os com fontes confiáveis para lidar com quaisquer discrepâncias. Técnicas como normalização (escalonamento de valores entre 0 e 1) ou padronização (escalonamento para uma média de 0 e desvio padrão de 1) ajudam a evitar que o modelo favoreça certas variáveis devido a escalas diferentes.

Com o tempo, as distribuições dos dados de entrada podem mudar (um fenômeno conhecido como desvio de dados), o que pode fazer com que os modelos tenham underfitting ou overfitting em relação aos novos dados. Para mitigar esse risco, é essencial realizar monitoramento contínuo e retreinar periodicamente os modelos com dados atualizados. A remoção de valores discrepantes também pode evitar resultados distorcidos e melhorar a robustez do modelo.

Ferramentas como AutoML podem otimizar processos ao automatizar o ajuste de hiperparâmetros, a seleção de funcionalidades e a criação de frameworks de avaliação de modelos, permitindo que engenheiros se concentrem em insights mais estratégicos e na tomada de decisões.

Mixture of Experts | 12 de dezembro, episódio 85

Decodificando a IA: resumo semanal das notícias

Participe do nosso renomado painel de engenheiros, pesquisadores, líderes de produtos e outros enquanto filtram as informações sobre IA para trazerem a você as mais recentes notícias e insights sobre IA.

Obtenção do ajuste ideal do modelo

Um bom ajuste do modelo ocorre no equilíbrio ideal entre underfitting e overfitting. Ele descreve um modelo que captura com precisão os padrões subjacentes nos dados sem ser excessivamente sensível a ruído ou flutuações aleatórias.

  • O equilíbrio entre complexidade do modelo e generalização envolve encontrar o ponto certo entre um modelo ser excessivamente simples ou excessivamente complexo.
  • Os engenheiros devem equilibrar viés e variância para alcançar um desempenho ideal do modelo. Uma forma de fazer isso é acompanhando curvas de aprendizado, que mostram erros de treinamento e validação ao longo do tempo.
  • Analisar métricas de validação, como exatidão, precisão, recall ou erro quadrático médio, ajuda a avaliar até que ponto o modelo generaliza para novos dados.
  • Um modelo bem ajustado equilibra cuidadosamente a complexidade do modelo, os dados de treinamento e as técnicas de regularização para generalizar bem para novos dados e fornecer previsões precisas.

Considerações específicas do domínio em underfitting e overfitting

O conhecimento do domínio desempenha um papel significativo no tratamento do underfitting e do overfitting, pois ajuda os engenheiros a adaptar o modelo às características específicas do problema em questão. Conjuntos de dados do mundo real geralmente contêm ruído, desequilíbrios ou inconsistências.

Logística eficiente, como divisão adequada de dados e pré-processamento, ajuda a mitigar problemas de ajuste. Compreender o contexto dos dados permite que engenheiros tomem decisões informadas sobre pré-processamento, seleção de funcionalidades e projeto do modelo para resultar em um treinamento eficaz. Por exemplo:

  • Pré-processamento de dados: o conhecimento especializado no domínio ajuda os engenheiros a identificar quais etapas de limpeza de dados são necessárias, como remover funcionalidades irrelevantes, lidar com missing values ou normalizar dados. Por exemplo, na área da saúde, garantir que os dados demográficos e os históricos médicos dos pacientes sejam representados com precisão pode tornar o modelo mais eficaz.
  • Seleção de funcionalidades: o conhecimento do domínio pode orientar quais recursos são mais relevantes para a tarefa, reduzindo o ruído e melhorando o desempenho do modelo. Por exemplo, em finanças, indicadores-chave, como taxas de juros ou tendências de mercado, podem ser mais preditivos do que logs brutos de transações.
  • Projeto do modelo: insights específicos do domínio podem informar a escolha de algoritmos ou arquiteturas. Por exemplo, em tarefas de reconhecimento de imagens, redes neurais convolucionais (CNNs) são ideais, enquanto na análise de séries temporais, redes neurais recorrentes (RNNs) ou transformadores podem funcionar melhor.

Encontrar o equilíbrio entre overfitting e underfitting permite que engenheiros identifiquem a faixa ideal em que um modelo de aprendizado de máquina transita da simplicidade rígida para uma generalização significativa sem se tornar excessivamente complexo. Um modelo bem equilibrado pode prever cancelamento de clientes em diferentes segmentos demográficos, classificar imagens médicas de maneira eficaz, apesar das variações na qualidade de dados, e prever preços de ações ao capturar tendências de mercado sem overfitting com flutuações aleatórias.

Gerenciar eficazmente a compensação entre viés e variância resulta em modelos que aprendem padrões nos dados com precisão e, ao mesmo tempo, mantêm a flexibilidade necessária para se adaptar ao desconhecido. Ao atingir esse equilíbrio, cientistas de dados podem criar soluções tecnicamente sólidas e impactantes em aplicações do mundo real.

Soluções relacionadas
IBM® watsonx.ai

Treine, valide, ajuste e implemente recursos de IA generativa, modelos de base e recursos de aprendizado de máquina com o IBM watsonx.ai, um estúdio empresarial de última geração para construtores de IA. Crie aplicações de IA em menos tempo com menos dados.

Explore o watsonx.ai
Soluções de inteligência artificial

Coloque a IA em ação na sua empresa com a experiência em IA líder do setor e com o portfólio de soluções da IBM.

Explore as soluções de IA
Consultoria e serviços em inteligência artificial (IA)

Os serviços de IA da IBM Consulting ajudam a reinventar a forma como as empresas trabalham com IA para gerar transformação.

Explore os serviços de IA
Dê o próximo passo

Obtenha acesso completo aos recursos que abrangem o ciclo de vida do desenvolvimento da IA. Produza soluções poderosas de IA com interfaces fáceis de usar, fluxos de trabalhos e acesso a APIs e SDKs padrão do setor.

Explore o watsonx.ai Agende uma demonstração em tempo real