No domínio da aprendizagem automática (ML), para obter um desempenho ótimo do modelo é necessário encontrar um equilíbrio entre simplicidade e complexidade. A subadaptação é um problema comum em que um modelo é demasiado simplista para captar os padrões subjacentes presentes nos dados de treino. Isto significa que o modelo não consegue aprender eficazmente, o que leva a um fraco desempenho não só nos dados em que foi treinado, mas também em dados novos e não vistos(dados de teste ou entradas do mundo real). Um modelo subaproveitado não tem a capacidade ou o tempo de treino necessários para representar com exatidão as relações existentes nos dados, o que resulta num enviesamento elevado e numa incapacidade de generalização.
O que causa a falta de ajuste?
Vários factores podem contribuir para um modelo não adaptado:
- Complexidade insuficiente do modelo: O modelo escolhido pode ser demasiado simples para a complexidade dos dados. Por exemplo, utilizar um modelo básico de regressão linear para dados com padrões não lineares, ou utilizar uma rede neural (NN) com um número demasiado reduzido de camadas ou neurónios.
- Engenharia de caraterísticas inadequada: As caraterísticas de entrada fornecidas ao modelo podem não conter informação relevante suficiente ou podem não representar eficazmente os padrões subjacentes.
- Dados de treinamento insuficientes: O modelo pode não ter visto exemplos suficientes para aprender os padrões subjacentes. Isto é particularmente verdadeiro para modelos complexos de aprendizagem profunda. É crucial dispor de dados diversificados e representativos, que podem ser explorados através de plataformas como os conjuntos de dadosUltralytics .
- Treino demasiado curto: O processo de treino do modelo pode ser interrompido prematuramente, antes de ter tido épocas suficientes para aprender os padrões nos dados.
- Regularização excessiva: As técnicas utilizadas para evitar o sobreajuste, como a regularização L1 ou L2 ou taxas de desistência elevadas, podem por vezes restringir demasiado o modelo, impedindo-o de aprender os padrões necessários se forem aplicadas com demasiada força.
Identificar a subadaptação
O subajuste é normalmente diagnosticado através da avaliação do desempenho do modelo durante e após o treino:
- Erro de treinamento alto: O modelo tem um desempenho fraco mesmo nos dados em que foi treinado. As principais métricas, como exatidão, precisão, recuperação ou pontuação F1, são baixas e o valor da função de perda permanece elevado.
- Erro elevado de validação/teste: O modelo também tem um desempenho fraco em dados de validação ou dados de teste não vistos. A diferença de desempenho entre o erro de treino e de validação é normalmente pequena, mas ambos os erros são inaceitavelmente elevados.
- Curvas de aprendizagem: Traçar a perda/métrica de treinamento e validação em relação às épocas de treinamento pode revelar um ajuste insuficiente. Se ambas as curvas atingirem um patamar num nível de erro elevado, é provável que o modelo esteja subajustado. Podes monitorizá-las utilizando ferramentas como o TensorBoard ou o Weights & Biases. Compreender as métricas de desempenhoYOLO específicas também é vital.
Underfitting vs. Overfitting
O subajuste e o sobreajuste são duas faces da mesma moeda, representando falhas na generalização do modelo.
- Subadaptação: O modelo é demasiado simples ( viés elevado). Não consegue captar as tendências subjacentes nos dados, o que resulta num fraco desempenho nos conjuntos de treino e de teste.
- Sobreajuste: O modelo é demasiado complexo (variância elevada). Aprende demasiado bem os dados de treino, incluindo ruído e flutuações aleatórias, o que leva a um excelente desempenho no conjunto de treino mas a um fraco desempenho em dados não vistos.
O objetivo do ML é encontrar um ponto ideal entre o subajuste e o sobreajuste, muitas vezes discutido no contexto do compromisso entre a polarização e a variância, em que o modelo aprende os verdadeiros padrões subjacentes sem memorizar o ruído.
Exemplos reais de subadaptação
- Classificador de imagens simples: Treinar uma Rede Neuronal Convolucional (CNN) muito básica (por exemplo, com apenas uma ou duas camadas convolucionais) numa tarefa complexa de classificação de imagens, como a classificação de milhares de categorias de objectos no ImageNet. O modelo seria provavelmente insuficiente porque a sua capacidade limitada impede-o de aprender as caraterísticas complexas necessárias para distinguir eficazmente entre muitas classes. Tanto a precisão do treino como a da validação permaneceriam baixas.
- Manutenção Preditiva Básica: Utiliza um modelo linear simples para prever a avaria da máquina com base apenas na temperatura de funcionamento. Se as avarias forem realmente influenciadas por uma interação complexa de factores como a vibração, a idade, a pressão e as não-linearidades da temperatura, o modelo linear não será adequado. Não consegue captar a verdadeira complexidade, o que leva a um fraco desempenho da modelação preditiva e à incapacidade de antecipar as falhas com precisão. Seria necessário utilizar modelos mais complexos ou melhores caraterísticas. Frameworks como PyTorch ou TensorFlow oferecem ferramentas para construir modelos mais sofisticados.