Dados de teste x dados de treinamento

7

Estou lendo o livro do bispo sobre reconhecimento de padrões e aprendizado de máquina. Passando pela seção de introdução, não tenho certeza se obtive as diferenças entre os dois termos amplamente usados ​​"dados de teste" e "dados de treinamento". Os dados de treinamento são os dados que você terá após o estágio de pré-processamento, também chamado de extração de recursos? Onde os dados de teste são a entrada original. Estou certo?

Gigili
fonte

Respostas:

6

Aqui está o problema.

Com um algoritmo de aprendizado opaco, você precisa descobrir se o seu algoritmo realmente aprendeu algo sobre uma estrutura mais profunda comum à área do problema desejada (supondo que exista algo a ser encontrado) ou se acabou de aprender a reconhecer algumas entradas específicas e cuspir. a resposta desejada apenas para essas informações (semelhante às crianças da escola que apenas "memorizam o teste", mas não têm idéia do contrário). Este último não é muito útil quando os dados de treinamento consistem em apenas uma pequena fração do espaço de problema desejado.

Portanto, para descobrir, você treina seu algoritmo em um conjunto de dados até que ele solte as respostas corretas. Em seguida, você altera a entrada para alguns dados de teste diferentes que o algoritmo treinado nunca viu antes e verifica se ele ainda pode fornecer respostas úteis ou se realmente funcionou apenas para o material do conjunto de treinamento original. Esse é o conjunto de dados de teste.

Se você possui dados do mundo real, é comum dividi-los em dois conjuntos de disjuntos, e não permitir que o algoritmo veja o conjunto de testes durante o treinamento. Semelhante ao professor que trava as perguntas do questionário até o final do semestre.

hotpaw2
fonte
6

Ao usar algoritmos de aprendizado de máquina em conjuntos de dados, você usa uma parte dos dados (o conjunto de treinamento) para treinar seu algoritmo (por exemplo, extração de recursos). Após a conclusão do treinamento, você precisará avaliar o desempenho do algoritmo treinado e aplicá-lo a novos dados, ou seja, a segunda parte dos dados originais (os dados de teste).

Com essa estratégia, você poderá avaliar se o seu algoritmo treinado realmente extrai recursos válidos dos seus dados (ou seja, funciona bem nos dados de treinamento e nos dados de teste) ou se foi "superaprendido" ou "super adaptado" (ou seja, , o desempenho é bom apenas nos dados de treinamento e ruim nos dados de teste).

Para obter mais informações, consulte a Wikipedia sobre conjunto de treinamento , conjunto de teste e validação cruzada .

H.Muster
fonte
Eu li esses artigos do WP, mas não consegui fazer uma comparação entre os dois. Obrigado pela sua resposta de qualquer maneira.
Gigili
0

Para responder diretamente às perguntas dos OPs: "Os dados de treinamento são os dados que você terá após o estágio de pré-processamento, também chamado de extração de recursos?

Não, isso (ou seja, extração de recursos) não é o que torna um conjunto de dados "dados de treinamento". Você terá que extrair recursos da mesma forma que os dados de treinamento dos seus dados de teste. Aqui está um exemplo de conjunto de etapas para distinguir estes termos:

  1. Obtenha dados brutos. [Este conjunto é composto por dados de trem / validação / teste].
  2. Divida os dados em trem / validação / divisão de teste.
  3. Use os dados do trem apenas para ajustar / classificar seus dados usando modelos como SVM, redes neurais etc.
  4. Agora use dados de teste / validação para verificar a qualidade do seu modelo.

Onde os dados de teste são a entrada original. Estou certo?

Os dados de teste são aqueles que você mantém de lado enquanto seleciona / aprende os parâmetros do seu modelo. Posteriormente, você usa esses dados para testar a qualidade do seu modelo. A principal premissa é que sua distribuição de dados de teste é a mesma que sua distribuição de dados de trem.

Aniket
fonte