O que é sobreajuste?
Saiba como evitar o sobreajuste, para que seja possível generalizar os dados fora do modelo com precisão
Plano de fundo azul e preto
O que é sobreajuste?

Sobreajuste é um conceito em ciência de dados que ocorre quando um modelo estatístico se ajusta exatamente aos seus dados de treinamento. Quando isso acontece, o algoritmo infelizmente não consegue ter um desempenho preciso em relação aos dados não vistos, anulando seu propósito. É devido à generalização de um modelo para novos dados que é possível usar algoritmos de machine learning todos os dias para fazer previsões e classificar dados.

Quando os algoritmos de machine learning são construídos, eles utilizam um conjunto de dados de amostra para treinar o modelo. Porém, quando o modelo treina por muito tempo nos dados de amostra ou quando o modelo é complexo demais, ele pode começar a aprender o "ruído", ou informações irrelevantes, dentro do conjunto de dados. Quando o modelo memoriza o ruído e se ajusta muito próximo ao conjunto de treinamento, o modelo torna-se "sobreajustado" e é incapaz de generalizar novo dados de maneira eficiente. Se um modelo não puder generalizar novos dados, ele não será capaz de executar as tarefas de classificação ou previsão para as quais foi planejado.

As baixas taxas de erro e alta variação são bons indicadores de sobreajuste. Para evitar esse tipo de comportamento, parte do conjunto de dados treinamento é normalmente separado como "conjunto de testes" para verificar o sobreajuste. Se os dados de treinamento contarem com taxa de erro baixa e os dados de teste possuírem uma taxa de erro alta, isso sinaliza sobreajuste.

Sobreajuste vs. subajuste

Se o overtraining ou a complexidade do modelo resultar em sobreajuste, então uma resposta lógica de prevenção seria pausar o processo de treinamento mais cedo, conhecido como "early stopping" ou redução da complexidade do modelo, eliminando entradas menos relevantes. No entanto, se pausar muito cedo ou excluir muitos recursos importantes, você poderá encontrar o problema oposto e, em vez disso, poderá ocorrer o underfit do seu modelo. O subajuste ocorre quando o modelo não treinou por tempo suficiente ou as variáveis de entrada não são significativas o suficiente para determinar um relacionamento significativo entre as variáveis de entrada e saída.

Em ambos os cenários, o modelo não consegue estabelecer a tendência dominante dentro do treinamento do conjunto de dados. Como resultado, o subajuste também não generaliza bem os dados não vistos. Entretanto, ao contrário do sobreajuste, os modelos com subajuste possuem alto viés e menos variância dentro de suas previsões. Isso ilustra a troca viés/variância, que ocorre quando um modelo com subajuste muda para um estado de sobreajuste. À medida que o modelo aprende, seu viés diminui, mas pode ter aumento na variância à medida que se torna sobreajustado. Ao ajustar um modelo, o objetivo é encontrar o "ponto ideal" entre o subajuste e o sobreajuste, para que seja possível estabelecer uma tendência dominante e aplicá-la amplamente a novos conjuntos de dados.

Como detectar modelos com sobreajuste

Para entender a precisão dos modelos de machine learning, é importante testar o ajuste do modelo. A validação cruzada K-fold é uma das técnicas mais conhecidas para avaliar a precisão do modelo.

Nela, os dados são divididos em subconjuntos k de tamanhos iguais, também chamados de "folds". Uma das k-folds atuará como o conjunto de teste, também conhecido como conjunto de validação, e os folds restantes treinarão o modelo. Esse processo se repete até que cada um dos folds tenha atuado como um fold de validação. Uma pontuação é retida depois de cada avaliação e, após a conclusão de todas as iterações, a média das pontuações é calculada para avaliar o desempenho do modelo geral.

Como evitar o sobreajuste

Embora o uso de um modelo linear ajude a evitar o sobreajuste, muitos problemas do mundo real são não lineares. Além de entender como detectar o sobreajuste, é importante entender como evitar completamente o sobreajuste. As técnicas a seguir podem ser usadas para evitar o sobreajuste:

  • Early Stopping: como mencionamos anteriormente, este método busca pausar o treinamento antes que o modelo comece a aprender o ruído dentro do modelo. Essa abordagem corre o risco de interromper o processo de treinamento muito cedo, levando ao problema oposto ao subajuste. Encontrar o ponto ideal entre o subajuste e o sobreajuste é o objetivo final.
  • Treinar com mais dados: expandir o conjunto de treinamento para incluir mais dados pode aumentar a precisão do modelo, fornecendo mais oportunidades para analisar o relacionamento dominante entre as variáveis de entrada e saída. Dito isto, este é um método mais efetivo quando dados limpos e relevantes são injetados no modelo. Caso contrário, basta continuar aumentando a complexidade no modelo, causando sobreajuste.
  • Aumento de dados: embora seja melhor injetar dados limpos e relevantes em seus dados de treinamento, às vezes dados ruidosos são incluídos para tornar um modelo mais estável. No entanto, esse método deve executado com moderação.
  • Seleção de recursos: ao construir um modelo, você terá vários parâmetros ou recursos usados para prever um determinado resultado, mas muitas vezes esses recursos podem ser redundantes para outros. A seleção de recursos é o processo de identificar os mais importantes dentro dos dados de treinamento e, em seguida, eliminar os irrelevante ou redundantes. Isso é frequentemente confundido com redução de dimensionalidade, mas é diferente.  No entanto, ambos métodos ajudam a simplificar seu modelo para estabelecer a tendência dominante nos dados.
  • Regularização: se o sobreajuste ocorrer quando um modelo é muito complexo, recomenda-se reduzir o número de recursos. Mas e se não soubermos quais entradas eliminar durante o processo de seleção de recursos? Se não soubermos quais recursos remover de nosso modelo, os métodos de regularização podem ser particularmente úteis. A regularização aplica uma "penalidade" aos parâmetros de entrada com os maiores coeficientes, que posteriormente limita a quantidade de variância no modelo.  Embora existam vários métodos de regularização, como regularização L1, regularização Lasso e dropout, todos buscam identificar e reduzir o ruído nos dados.
  • Métodos de ensemble: os métodos de aprendizado de ensemble são compostos por um conjunto de classificadores como, por exemplo árvores de decisão; suas previsões são agregadas para identificar o resultado mais conhecido. Os métodos de ensemble mais conhecidos são bagging e boosting. No bagging, uma amostra aleatória de dados em um conjunto de treinamento é selecionado para substituição, o que significa que os pontos de dados individuais podem ser escolhidos mais de uma vez. Após gerar várias amostras de dados, esses modelos são treinados de forma independente e, de acordo com o tipo de tarefa, como por exemplo regressão ou classificação, a média ou a maioria dessas previsões geram uma estimativa mais precisa. Isso geralmente é usado para reduzir a variância dentro de um conjunto de dados ruidoso.
Veja como aproveitar algumas dessas abordagens neste tutorial de reconhecimento de imagens do IBM Developer
Pesquisa recente

Apesar da definição acima ser a versão conhecida para sobreajuste, pesquisas recentes (PDF, 1,2 MB) (link externo à IBM) indicam que modelos complexos, como modelos de deep learning e redes neurais, funcionam com alta precisão, embora sejam treinados para "ajuste exato ou interpolação". Esta descoberta está diretamente em divergência com a literatura histórica sobre este tópico e é explicada por meio da curva de risco "double descent" abaixo. Você pode ver que conforme o modelo aprende além do nível de interpolação, o desempenho do modelo melhora. Os métodos que mencionamos anteriormente para evitar o sobreajuste, como early stopping e regularização, podem na verdade impedir a interpolação.

Soluções relacionadas
IBM Watson® Studio

O IBM Watson® Studio é uma plataforma de dados aberta, que permite aos cientistas de dados criar, executar, testar e otimizar modelos de IA, em escala, em qualquer cloud.

Conheça o IBM Watson® Studio
IBM Cloud Pak® for Data

A IBM Cloud Pak® for Data é uma plataforma de dados aberta e extensível, que fornece uma malha de dados para disponibilizar todos os dados para IA e análise, em qualquer cloud.

Conheça o IBM® Cloud Pak for Data
Recursos Compreendendo o sobreajuste benigno no meta aprendizado baseado em gradiente

Evidências empíricas revelam que métodos de serviço com excesso de parametrização ainda funcionam, um fenômeno frequentemente chamado de sobreajuste benigno.

O sobreajuste robusto pode ser mitigado por suavização aprendida da maneira correta

Investigar dois meios empíricos para injetar mais suavização aprendida durante treinamento adversarial (AT)

Dê o próximo passo

O IBM Watson Studio é uma plataforma de dados aberta, que permite aos cientistas de dados criar, executar, testar e otimizar modelos de inteligência artificial (IA) em escala, em qualquer cloud. O IBM Watson Studio permite operacionalizar a IA em qualquer lugar como parte do IBM Cloud Pak® for Data. Una equipes, simplifique o gerenciamento de ciclo de vida de IA e acelere o time to value com uma arquitetura multicloud aberta e flexível.

Teste o IBM Watson® Studio hoje