Lar Áudio Como os engenheiros podem avaliar os conjuntos de treinamento e teste para identificar possíveis sobreajuste no aprendizado de máquina?

Como os engenheiros podem avaliar os conjuntos de treinamento e teste para identificar possíveis sobreajuste no aprendizado de máquina?

Anonim

Q:

Como os engenheiros podem avaliar os conjuntos de treinamento e teste para identificar possíveis sobreajuste no aprendizado de máquina?

UMA:

Para entender como isso é feito, é necessário ter uma compreensão básica das funções de diferentes conjuntos de dados em um projeto típico de aprendizado de máquina. O conjunto de treinamento é configurado para fornecer à tecnologia um quadro de referência - uma linha de base de dados que o programa usa para tomar decisões preditivas e probabilísticas. O conjunto de testes é onde você testa a máquina com dados.

O sobreajuste é uma síndrome no aprendizado de máquina em que o modelo não se ajusta totalmente aos dados ou ao objetivo.

Download grátis: Machine Learning e por que é importante

Um dos mandamentos gerais do aprendizado de máquina é que os dados de treinamento e de teste devem ser conjuntos de dados separados. Existe um consenso bastante amplo sobre isso, pelo menos em muitos aplicativos, devido a alguns problemas específicos ao usar o mesmo conjunto que você usou para o treinamento para testar um programa de aprendizado de máquina.

Quando um programa de aprendizado de máquina utiliza um conjunto de treinamento, que pode ser chamado essencialmente de conjunto de entradas, ele está trabalhando nesse conjunto de treinamento para tomar decisões sobre resultados preditivos. Uma maneira muito básica de pensar sobre isso é que o conjunto de treinamento é o "alimento" para o processo de computação intelectual.

Agora, quando esse mesmo conjunto é usado para testes, a máquina geralmente pode retornar excelentes resultados. Isso porque ele já viu esses dados antes. Mas todo o objetivo do aprendizado de máquina em muitos casos é obter resultados sobre dados que não foram vistos antes. Os programas de aprendizado de máquina de propósito geral são criados para operar em diversos conjuntos de dados. Em outras palavras, o princípio do aprendizado de máquina é a descoberta, e você geralmente não recebe muito disso usando um conjunto de treinamento inicial para fins de teste.

Ao avaliar conjuntos de treinamento e conjuntos de teste para possível ajuste excessivo, os engenheiros podem avaliar os resultados e descobrir por que um programa pode fazer isso de maneira diferente nos resultados comparativos desses dois conjuntos ou, em alguns casos, em como a máquina pode se sair bem nos dados de treinamento. .

Ao descrever com habilidade alguns desses problemas no aprendizado de máquina em uma peça de 2014, Jason Brownlee, do Machine Learning Mastery, descreve o ajuste excessivo dessa maneira:

"Um modelo selecionado por sua precisão no conjunto de dados de treinamento em vez de em um conjunto de dados de teste invisível provavelmente tem uma precisão menor em um conjunto de dados de teste invisível", escreve Brownlee. "O motivo é que o modelo não é tão generalizado. Ele foi projetado para a estrutura no conjunto de dados de treinamento (itálico adicionado). Isso é chamado de sobreajuste e é mais insidioso do que você pensa".

Em termos leigos, você poderia dizer que, ao se especializar no conjunto de dados de treinamento, o programa está se tornando muito rígido. Essa é outra maneira metafórica de analisar por que um programa de aprendizado de máquina não é servido de maneira ideal usando o conjunto de treinamento para o conjunto de testes. Também é uma boa maneira de avaliar esses dois conjuntos diferentes, porque os resultados mostrarão aos engenheiros muito sobre o funcionamento do programa. Você deseja um espaço menor entre a precisão dos dois modelos. Você deseja garantir que o sistema não seja superalimentado ou "fundido com precisão" a um conjunto de dados específico, mas que seja mais geral e capaz de crescer e evoluir sob comando.

Como os engenheiros podem avaliar os conjuntos de treinamento e teste para identificar possíveis sobreajuste no aprendizado de máquina?