O que é overfitting?

O ajuste excessivo é um comportamento indesejável de aprendizado de máquina que ocorre quando o modelo de aprendizado de máquina fornece previsões precisas para dados de treinamento, mas não para novos dados. Quando os cientistas de dados usam modelos de aprendizado de máquina para fazer previsões, eles primeiro treinam o modelo em um conjunto de dados conhecido. Em seguida, com base nessas informações, o modelo tenta prever resultados para novos conjuntos de dados. Um modelo de sobreajuste pode fornecer previsões imprecisas e não pode ter um bom desempenho para todos os tipos de novos dados.

Por que o sobreajuste ocorre?

Você só obtém previsões precisas se o modelo de machine learning generalizar para todos os tipos de dados dentro de seu domínio. O sobreajuste ocorre quando o modelo não pode generalizar e, em vez disso, se adéqua muito estritamente ao conjunto de dados de treinamento. O sobreajuste ocorre devido a vários motivos, como:
•    O tamanho dos dados de treinamento é muito pequeno e não contém amostras de dados suficientes para representar com precisão todos os valores de dados de entrada possíveis.
•    Os dados de treinamento contêm grandes quantidades de informações irrelevantes, chamadas de dados ruidosos.
•    O modelo treina por muito tempo em um único conjunto de dados de amostra.
•    A complexidade do modelo é alta, então ele aprende o ruído nos dados de treinamento.

Exemplos de sobreajuste
Considere um caso de uso em que um modelo de machine learning precisa analisar fotos e identificar aquelas que contêm cães. Se o modelo de machine learning foi treinado em um conjunto de dados que continha a maioria das fotos mostrando cães do lado de fora em parques, ele pode aprender a usar a grama como um recurso para classificação e pode não reconhecer um cachorro dentro de uma sala.
Outro exemplo de sobreajuste é um algoritmo de machine learning que prevê o performance acadêmico e o resultado da graduação de um estudante universitário, analisando vários fatores, como renda familiar, performance acadêmica anterior e qualificações acadêmicas dos pais. No entanto, os dados do teste incluem apenas candidatos de um gênero ou grupo étnico específico. Nesse caso, o sobreajuste faz com que a precisão da previsão do algoritmo caia para candidatos com gênero ou etnia fora do conjunto de dados de teste.

Como você pode detectar o sobreajuste?

O melhor método para detectar modelos de sobreajuste é testar os modelos de machine learning em mais dados com uma representação abrangente de possíveis valores e tipos de dados de entrada. Normalmente, parte dos dados de treinamento é usada como dados de teste para verificar se há sobreajuste. Uma alta taxa de erro nos dados de teste indica sobreajuste. Um método de teste de sobreajuste é fornecido abaixo.
Validação cruzada K-fold
A validação cruzada é um dos métodos de teste usados na prática. Nesse método, os cientistas de dados dividem o conjunto de treinamento em K subconjuntos de tamanhos iguais ou conjuntos de amostras chamados dobras. O processo de treinamento consiste em uma série de iterações. Durante cada iteração, as etapas são:
1.    Mantenha um subconjunto como dados de validação e treine o modelo de machine learning nos subconjuntos K-1 restantes.
2.    Observe o desempenho do modelo na amostra de validação.
3.    Pontuação da performance do modelo com base na qualidade dos dados de saída.


As iterações se repetem até que você teste o modelo em cada conjunto de amostras. Em seguida, você calcula a média das pontuações em todas as iterações para obter a avaliação final do modelo preditivo.

Como você pode evitar o sobreajuste?

Você pode evitar o sobreajuste diversificando e dimensionando seu conjunto de dados de treinamento ou usando algumas outras estratégias de ciência de dados, como as apresentadas abaixo.
Parada antecipada
A parada antecipada pausa a fase de treinamento antes que o modelo de machine learning aprenda o ruído nos dados. No entanto, acertar o tempo é importante. Caso contrário, o modelo ainda não fornecerá resultados precisos.
Poda
Você pode identificar vários recursos ou parâmetros que afetam a previsão final ao construir um modelo. A seleção de recursos, ou poda, identifica os recursos mais importantes dentro do conjunto de treinamento e elimina os irrelevantes. Por exemplo, para prever se uma imagem é animal ou humana, você pode observar vários parâmetros de entrada, como formato do rosto, posição da orelha, estrutura corporal etc. Você pode priorizar o formato do rosto e ignorar o formato dos olhos.
Regularização
A regularização é uma coleção de técnicas de treinamento/otimização que buscam reduzir sobreajuste. Esses métodos tentam eliminar os fatores que não afetam os resultados da previsão classificando os recursos com base na importância. Por exemplo, cálculos matemáticos aplicam um valor de penalidade a feições com impacto mínimo. Considere um modelo estatístico tentando prever os preços da habitação de uma cidade em 20 anos. A regularização daria um valor de penalidade mais baixo a características como crescimento populacional e renda média anual, mas um valor de penalidade mais alto para a temperatura média anual da cidade.
Agrupamento em conjuntos
O agrupamento em conjuntos combina previsões de vários algoritmos de machine learning separados. Alguns modelos são chamados de alunos fracos porque seus resultados geralmente são imprecisos. Os métodos de agrupamento em conjuntos combinam todos os alunos fracos para obter resultados mais precisos. Eles usam vários modelos para analisar dados de amostra e escolher os resultados mais precisos. Os dois principais métodos de conjunto são o empacotamento e o impulsionamento. O impulsionamento treina diferentes modelos de machine learning, um após o outro, para obter o resultado final, enquanto o empacotamento os treina em paralelo.
Aumento de dados
O aumento de dados é uma técnica de machine learning que altera ligeiramente os dados de amostra toda vez que o modelo os processa. Você pode fazer isso alterando os dados de entrada de maneiras pequenas. Quando feito com moderação, o aumento de dados faz com que os conjuntos de treinamento pareçam exclusivos do modelo e impede que o modelo aprenda suas características. Por exemplo, aplicar transformações como translação, inversão e rotação às imagens de entrada.

 

O que é subajuste?

O subajuste é outro tipo de erro que ocorre quando o modelo não pode determinar uma relação significativa entre os dados de entrada e saída. Você obtém modelos subajustados se eles não tiverem treinado pelo período apropriado em um grande número de pontos de dados.
Comparação entre subajuste e sobreajuste
Os modelos subajustados apresentam viés elevado. Eles fornecem resultados imprecisos tanto para os dados de treinamento quanto para o conjunto de testes. Por outro lado, os modelos de sobreajuste experimentam alta variação. Eles fornecem resultados precisos para o conjunto de treinamento, mas não para o conjunto de teste. Mais treinamento de modelo resulta em menos viés, mas a variação pode aumentar. Os cientistas de dados pretendem encontrar o ponto ideal entre o subajuste e o sobreajuste ao ajustar um modelo. Um modelo bem ajustado pode estabelecer rapidamente a tendência dominante para conjuntos de dados vistos e não vistos.

Como a AWS pode minimizar erros de sobreajuste em seus modelos de machine learning?

Você pode usar o Amazon SageMaker para criar, treinar e implantar modelos de machine learning para qualquer caso de uso com infraestrutura, ferramentas e fluxos de trabalho totalmente gerenciados. O Amazon SageMaker tem um recurso interno chamado Amazon SageMaker Debugger que analisa automaticamente os dados gerados durante o treinamento, como entrada, saída e transformações. Como resultado, ele pode detectar e relatar sobreajuste e outras imprecisões sem intervenção manual.

Por exemplo, é possível:

  • Pare automaticamente o processo de treinamento quando a precisão desejada for alcançada.
  • Capture métricas de treinamento em tempo real.
  • Receba alertas quando o sobreajuste for detectado.

Reduza o tempo e o custo do treinamento de modelos de machine learning. Comece a usar o machine learning na AWS criando uma conta gratuita hoje mesmo!

Próximas etapas do sobreajuste na AWS

Confira outros recursos relacionados a produtos
Serviços gratuitos de machine learning - AWS 
Cadastre-se para obter uma conta gratuita

Obtenha acesso instantâneo ao nível gratuito da AWS. 

Cadastre-se 
Comece a criar no console

Comece a criar no Console de Gerenciamento da AWS.

Faça login