Glossário

Subadaptação

Descobre o que é o subajuste, as suas causas, sinais e soluções. Aprende a melhorar o desempenho do modelo e a evitar problemas de subadaptação.

Treina os modelos YOLO simplesmente
com Ultralytics HUB

Aprende mais

A subadaptação ocorre quando um modelo de aprendizagem automática é demasiado simples para captar a estrutura subjacente dos dados. Normalmente, isto acontece quando o modelo tem poucos parâmetros ou caraterísticas relativamente à complexidade dos dados que está a tentar aprender. Como resultado, o modelo não consegue aprender adequadamente com os dados de treino e tem um desempenho fraco não só no conjunto de treino, mas também em dados não vistos, como um conjunto de validação ou de teste.

Principais caraterísticas do subajuste

Os modelos subadaptados são frequentemente caracterizados por um elevado enviesamento e uma baixa variância. O enviesamento refere-se ao erro introduzido pela aproximação de um problema do mundo real, que pode ser complexo, através de um modelo simplificado. Um modelo subadaptado faz suposições demasiado simplistas sobre os dados, conduzindo a erros sistemáticos. A variância, por outro lado, refere-se à sensibilidade do modelo a flutuações nos dados de treino. Os modelos subadaptados apresentam uma variância baixa porque são demasiado simples para serem muito afectados por alterações nos dados de treino. No entanto, esta simplicidade também significa que não conseguem captar padrões e nuances importantes nos dados.

Causas de subadaptação

Vários factores podem contribuir para o subajuste:

  • Complexidade do modelo: Usa um modelo que é demasiado simples para a complexidade dos dados. Por exemplo, tentar ajustar um modelo linear a dados com uma relação altamente não linear.
  • Treinamento insuficiente: Não treina o modelo durante épocas suficientes ou utiliza uma taxa de aprendizagem demasiado elevada, fazendo com que o modelo convirja prematuramente antes de poder aprender os padrões subjacentes.
  • Engenharia de caraterísticas deficiente: Não inclui caraterísticas relevantes ou utiliza caraterísticas que não representam adequadamente a estrutura subjacente dos dados. Uma engenharia de caraterísticas eficaz é crucial para a criação de modelos que possam ser bem generalizados.
  • Excesso de regularização: Aplica demasiada regularização, o que penaliza a complexidade do modelo e pode impedir o modelo de aprender padrões importantes.

Detetar a subadaptação

Identificar o subajuste é essencial para melhorar o desempenho do modelo. Os sinais de subadaptação incluem:

  • Erro de treinamento alto: O modelo tem um desempenho fraco nos dados de treino, indicando que não aprendeu os padrões subjacentes.
  • Erro de validação/teste elevado: O fraco desempenho em conjuntos de validação ou de teste, semelhante ao erro de formação, sugere que o modelo é demasiado simplista.
  • Curvas de aprendizagem: Traçar o desempenho do modelo nos conjuntos de treinamento e validação ao longo do tempo pode revelar um ajuste insuficiente. Se ambas as curvas atingirem um patamar com uma taxa de erro elevada, é provável que o modelo esteja subajustado.

Como lidar com o subajuste

Para combater a subadaptação, considera as seguintes estratégias:

  • Aumenta a complexidade do modelo: Utiliza um modelo mais complexo com mais parâmetros ou camadas. Por exemplo, muda de um modelo linear para um modelo polinomial ou de uma rede neural superficial para uma rede neural profunda.
  • Treinar mais tempo: Aumenta o número de épocas de treino ou ajusta a taxa de aprendizagem para permitir que o modelo tenha mais tempo para aprender com os dados.
  • Melhora a engenharia de caraterísticas: Adiciona caraterísticas mais relevantes ou transforma as caraterísticas existentes para melhor representar a estrutura dos dados. Técnicas como a criação de termos de interação ou caraterísticas polinomiais podem ajudar.
  • Reduzir a regularização: Diminui a quantidade de regularização aplicada ao modelo, permitindo que ele se ajuste mais aos dados de treinamento.

Underfitting vs. Overfitting

É importante distinguir entre subadaptação e sobreadaptação. Enquanto o subajuste ocorre quando um modelo é demasiado simples, o sobreajuste acontece quando um modelo é demasiado complexo e começa a memorizar os dados de treino, incluindo ruído e valores atípicos. Os modelos sobreajustados têm um desempenho excecionalmente bom nos dados de treino, mas fraco em dados não vistos. O equilíbrio entre a complexidade do modelo e o treino é crucial para evitar tanto o subajuste como o sobreajuste.

Exemplos do mundo real

Exemplo 1: Previsão dos preços das casas

Imagina que estás a construir um modelo para prever os preços das casas com base na sua dimensão. Se utilizares um modelo de regressão linear simples e partires do princípio de que os preços das casas aumentam linearmente com a sua dimensão, poderás não estar a adaptar-te aos dados. Na realidade, a relação entre o tamanho da casa e o preço é provavelmente mais complexa, envolvendo factores como rendimentos decrescentes para tamanhos maiores ou preços mais elevados para determinadas gamas de tamanho. Um modelo linear não conseguiria captar estas nuances, resultando num fraco desempenho de previsão tanto nos dados de treino como nos novos dados.

Exemplo 2: Classificação de imagens

Considera uma tarefa de classificação de imagens em que estás a tentar classificar imagens de animais em diferentes categorias. Se utilizares um modelo muito simples, como a regressão logística, poderás não conseguir ajustar os dados. A classificação de imagens requer frequentemente a captura de padrões e caraterísticas complexas nas imagens, o que um modelo simples não consegue fazer. Como resultado, o modelo teria um desempenho fraco tanto no conjunto de treino como em imagens novas e não vistas. A utilização de um modelo mais complexo, como uma rede neural convolucional (CNN), pode melhorar significativamente o desempenho.

Ao compreender as causas e os sinais de subadaptação, os profissionais podem tomar as medidas adequadas para melhorar os seus modelos. Ferramentas como Ultralytics YOLOv8 fornecem recursos avançados para a construção e o ajuste de modelos complexos, ajudando a evitar o subajuste e a melhorar o desempenho em várias tarefas de visão computacional. Para obter mais informações sobre treinamento e otimização de modelos, visita o blogUltralytics .

Lê tudo