Início
topics
overfitting
No campo do aprendizado de máquina, o overfitting se manifesta quando um algoritmo se adapta excessivamente ou até mesmo de forma precisa aos dados de treinamento, levando a um modelo que não consegue fazer previsões ou conclusões precisas com outros dados que não sejam os de treinamento.
O overfitting anula o propósito do modelo de aprendizado de máquina. A capacidade de generalização de um modelo para novos dados é o que nos permite utilizar algoritmos de aprendizado de máquina diariamente para realizar previsões e classificar dados.
No desenvolvimento de algoritmos de aprendizado de máquina, normalmente é usado um conjunto de dados de amostra para treinar o modelo. Entretanto, quando o modelo é treinado por um período prolongado nos dados de amostra ou quando o modelo é excessivamente complexo, ele pode começar a aprender o "ruído", ou seja, informações irrelevantes, dentro do conjunto de dados. Quando o modelo memoriza o ruído e se adapta excessivamente ao conjunto de treinamento, ele se torna "overfitted" e não consegue generalizar bem para novos dados. Se um modelo não puder generalizar bem para novos dados, ele não será capaz de executar as tarefas de classificação ou previsão para as quais foi destinado.
Baixas taxas de erro e uma alta variância são bons indicadores de overfitting. Para evitar esse tipo de comportamento, é comum reservar uma parte do conjunto de dados de treinamento como o "conjunto de teste" para verificar o overfitting. Se os dados de treinamento têm uma taxa de erro baixa e os dados de teste têm uma taxa de erro alta, isso indica overfitting.
Leia por que a IBM foi nomeada líder no relatório IDC MarketScape: Worldwide AI Governance Platforms 2023 report.
Se o excesso de treinamento ou a complexidade do modelo resultarem em overfitting, uma resposta lógica de prevenção seria interromper o processo de treinamento mais cedo, também conhecido como "early stopping", ou reduzir a complexidade do modelo eliminando entradas menos relevantes. No entanto, se você pausar o treinamento muito cedo ou excluir muitas características importantes, você pode enfrentar o problema oposto e, em vez disso, pode ocorrer o underfitting do seu modelo. O underfitting ocorre quando o modelo não foi treinado por tempo suficiente ou as variáveis de entrada não são significativas o suficiente para determinar uma relação significativa entre as variáveis de entrada e saída.
Em ambas as situações, o modelo não consegue identificar a tendência predominante nos dados de treinamento. Portanto, o underfitting também apresenta uma generalização ruim para dados não vistos. No entanto, ao contrário do overfitting, os modelos de underfitting apresentam alto viés e menos variância em suas previsões. Isso ilustra a troca de viés-variância, que ocorre quando um modelo mal ajustado passa para um estado superajustado. Conforme o modelo aprende, seu viés diminui, mas pode aumentar em variância à medida que se torna overfitted. Ao ajustar um modelo, o objetivo é encontrar o "ponto ideal" entre o underfitting e o overfitting, para que ele possa estabelecer uma tendência dominante e aplicá-la amplamente a novos conjuntos de dados.
Para compreender a precisão dos modelos de aprendizado de máquina, é fundamental testar o ajuste do modelo. A validação cruzada k-fold é uma das técnicas mais populares para avaliar a acurácia do modelo.
Na validação cruzada k-folds, os dados são divididos em k subconjuntos de tamanhos iguais, conhecidos como "folds". Um dos k-folds será usado como conjunto de teste, também chamado de conjunto de retenção ou conjunto de validação, enquanto os demais folds serão utilizados para treinar o modelo. Este processo se repete até que cada dobra tenha atuado como uma dobra de resistência. Após cada avaliação, uma pontuação é mantida e, ao término de todas as iterações, as pontuações são calculadas para avaliar o desempenho geral do modelo.
Embora o uso de um modelo linear nos ajude a evitar o overfitting, muitos problemas do mundo real são não lineares. Além de entender como detectar o overfitting, é importante entender como evitá-lo completamente. Abaixo estão algumas técnicas que você pode usar para evitar o overfitting:
Embora o acima seja a definição estabelecida de overfitting, a pesquisa recente (link externo a IBM) indica que modelos complexos, como modelos de deep learning e redes neurais, têm um desempenho de alta precisão apesar de serem treinados para "ajustar ou interpolar de forma exata". Essa descoberta vai de encontro direto com a literatura histórica sobre o assunto e é explicada pela curva de risco de "double descent" abaixo. É possível observar que à medida que o modelo aprende além do limiar de interpolação, o desempenho do modelo melhora. Os métodos que mencionamos anteriormente para evitar o overfitting, como parada antecipada e regularização, podem realmente evitar a interpolação.
O IBM Watson Studio é uma plataforma de dados aberta que permite aos cientistas de dados desenvolver, executar, testar e otimizar modelos de IA em escala em qualquer nuvem.
O 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 de dados, em qualquer nuvem.
Evidências empíricas revelam que métodos de metaaprendizado superparametrizados ainda funcionam bem, um fenômeno frequentemente chamado de overfitting benigno.
Investigar dois meios empíricos para injetar suavização mais aprendida durante o treinamento adversarial (TA)