Sobre os conjuntos de treinamento, validação e teste em Machine Learning
On Outubro 17, 2021 by adminEsta é destinada a ser uma pequena cartilha para qualquer um que precisa saber a diferença entre os vários conjuntos de dados divididos durante o treinamento de modelos de Machine Learning.
Para este artigo, eu citaria as definições básicas do excelente artigo de Jason Brownlee sobre o mesmo tópico, é bastante abrangente, dê uma olhada para mais detalhes.
Dataset de Treinamento: A amostra de dados utilizada para o modelo.
O conjunto de dados real que usamos para treinar o modelo (pesos e viés no caso de uma Rede Neural). O modelo vê e aprende com esses dados.
Dados de Validação
Dados de Validação: A amostra de dados usada para fornecer uma avaliação imparcial de um modelo que se encaixa no conjunto de dados de treinamento enquanto se afina os hiperparâmetros do modelo. A avaliação torna-se mais tendenciosa à medida que a habilidade no conjunto de dados de validação é incorporada na configuração do modelo.
O conjunto de validação é usado para avaliar um determinado modelo, mas isto é para avaliação frequente. Nós, como engenheiros de aprendizagem de máquinas, usamos estes dados para afinar os hiperparâmetros do modelo. Assim, o modelo ocasionalmente vê esses dados, mas nunca “Aprende” com isso. Nós usamos os resultados do conjunto de validação e atualizamos hiperparâmetros de nível superior. Assim, o conjunto de validação afeta um modelo, mas apenas indiretamente. O conjunto de validação também é conhecido como o conjunto Dev ou o conjunto de Desenvolvimento. Isto faz sentido uma vez que este conjunto de dados ajuda durante a fase de “desenvolvimento” do modelo.
Test Dataset
Test Dataset: A amostra de dados usada para fornecer uma avaliação imparcial de um modelo final encaixa no conjunto de dados de treinamento.
O conjunto de dados do Teste fornece o padrão de ouro usado para avaliar o modelo. Ele só é usado quando um modelo é completamente treinado (usando os conjuntos de treinamento e validação). O conjunto de teste é geralmente usado para avaliar os modelos concorrentes (por exemplo, em muitas competições Kaggle, o conjunto de validação é lançado inicialmente juntamente com o conjunto de treino e o conjunto de teste real só é lançado quando a competição está prestes a fechar, e é o resultado do modelo no conjunto de teste que decide o vencedor). Muitas vezes o conjunto de validação é usado como conjunto de teste, mas não é uma boa prática. O conjunto de teste é geralmente bem curado. Ele contém dados cuidadosamente amostrados que abrangem as várias classes que o modelo enfrentaria, quando usado no mundo real.
Sobre a razão de divisão do conjunto de dados
Agora você saiba o que esses conjuntos de dados fazem, você pode estar procurando recomendações sobre como dividir seu conjunto de dados em conjuntos de Trem, Validação e Teste.
Isso depende principalmente de 2 coisas. Primeiro, o número total de amostras nos seus dados e segundo, no modelo real que você está treinando.
Alguns modelos precisam de dados substanciais para treinar, então neste caso você otimizaria para os conjuntos de treinamento maiores. Modelos com muito poucos hiperparâmetros serão fáceis de validar e afinar, por isso você provavelmente pode reduzir o tamanho do seu conjunto de validação, mas se o seu modelo tem muitos hiperparâmetros, você gostaria de ter um grande conjunto de validação também (embora você também deve considerar a validação cruzada). Além disso, se você tem um modelo sem hiperparâmetros ou que não pode ser facilmente ajustado, você provavelmente não precisa de um conjunto de validação também!
No total, como muitas outras coisas na aprendizagem de máquinas, a taxa de divisão de teste-teste-validação também é bastante específica para o seu caso de uso e fica mais fácil fazer o juiz ment enquanto você treina e constrói mais e mais modelos.
Nota sobre Validação Cruzada: Muitas vezes, as pessoas primeiro dividem o conjunto de dados em 2 – Treinar e Testar. Depois disso, eles mantêm de lado o conjunto Teste, e aleatoriamente escolhem X% de seu conjunto de dados do Trem para ser o conjunto real do Trem e o restante (100-X)% para ser o conjunto Validação, onde X é um número fixo (digamos 80%), o modelo é então treinado iterativamente e validado nestes conjuntos diferentes. Há várias maneiras de fazer isso, e é comumente conhecido como Validação cruzada. Basicamente, você utiliza seu conjunto de treinamento para gerar várias partições dos conjuntos de Treinamento e Validação. A validação cruzada evita o ajuste excessivo e está se tornando cada vez mais popular, sendo a Validação Cruzada Dobrada K o método mais popular de validação cruzada. Confira isto para mais.
Deixe uma resposta