Nuances de conjuntos de testes

Concluído

Os conjuntos de testes são práticas recomendadas na maioria dos aspectos do aprendizado de máquina, embora o campo ainda seja relativamente recente. Por conta disso, costuma-se discutir como e com que frequência eles devem ser realizados. Vamos examinar alguns pontos a serem considerados.

Conjuntos de testes podem ser enganosos

Embora os conjuntos de testes sejam úteis para identificar o treinamento excessivo, eles podem nos trazer uma falsa confiança. Especificamente, os conjuntos de testes só são úteis se refletirem dados que esperamos ver no mundo real. Por exemplo, nosso conjunto de teste é muito pequeno, então não será representativo da variedade de dados que provavelmente veremos no mundo real. Além disso, a qualidade dos conjuntos de dados é limitada em função da fonte de dados. Se o nosso conjunto de dados de teste vem de uma fonte tendenciosa, nossas métricas não refletirão como as coisas se comportarão no mundo real.

Por exemplo, digamos que estamos tentando encontrar a relação entre o número de resgates e a idade em que um cachorro começou o treinamento. Se nosso conjunto de testes tiver apenas três cães, é possível que esses cães não sejam uma boa representação da grande variedade de cachorros trabalhando no mundo real. Imagine também que obtivemos nosso conjunto de dados de um único criador de cães, que não sabe trabalhar com filhotes. Nosso modelo pode prever que cachorros mais antigos serão melhores para treinar, e nosso conjunto de dados de teste pode acabar confirmando isso, quando, na verdade, outros treinadores podem ter tido um sucesso enorme com animais mais jovens.

Conjuntos de dados de teste não vêm de graça

Já vimos que quanto mais dados de treinamento tivermos, menos provável será o sobreajuste do nosso modelo. Da mesma forma, quanto maiores os conjuntos de testes, mais sentimos que podemos confiar nos resultados de nossos testes. No entanto, normalmente trabalhamos com quantidades finitas de dados, e um ponto de dados não pode estar ao mesmo tempo no treinamento e no conjunto de teste. Isso significa que, à medida que obtivermos conjuntos de testes maiores, obteremos conjuntos de dados de treinamento menores, e vice-versa. A quantidade exata de dados a serem sacrificados para aparecer no conjunto de dados de teste depende de circunstâncias individuais. Qualquer valor entre 10-50% é relativamente comum, a depender do volume de dados disponível.

Treinar e testar não é a única abordagem

Vale a pena ter em mente que é comum treinar e testar, mas essa não é a única abordagem amplamente usada. Duas das alternativas mais comuns são o método em espera e os métodos estatísticos.

O método hold-out

O método em espera é como treinar e testar, mas em vez de se dividir um conjunto de dados em dois, ele é dividido em três: treinamento, teste (também conhecido como validação), e em espera. Os conjuntos de dados de teste e de treinamento são os descritos acima. O conjunto de dados em espera é um tipo de conjunto de testes que é usado apenas uma vez, quando estamos prontos para implantar nosso modelo para uso do mundo real. Em outras palavras, ele só é usado após concluirmos a experimentação com diferentes tipos de regimes de treinamento, diferentes tipos de modelos e assim por diante.

Essa abordagem resolve o fato de que geralmente experimentamos modelos e regimes de treinamento diferentes. Por exemplo, ajustamos a um modelo, descobrimos que ele não funciona adequadamente com o conjunto de testes, alteramos alguns aspectos do modelo que está sendo treinado e tentamos novamente até chegarmos a um bom resultado. Isso significa que estamos alterando propositadamente nosso modelo para trabalhar em um determinado conjunto de dados, assim como o treinamento normal o faz com o conjunto de dados de treinamento. Fazendo isso, podemos terminar chegando a um modelo que, basicamente, foi treinado de forma excessiva em nosso conjunto de dados de teste.

A ideia em termos um terceiro conjunto é de podermos também testar esse aspecto. Essa abordagem implica dividir os dados de três maneiras, o que significa que começamos com ainda menos dados de treinamento. Se não tivermos muitos dados para trabalhar, essa abordagem pode reduzir nossa capacidade de obter um bom modelo.

Abordagens estatísticas

Modelos mais simples surgidos na Estatística geralmente não precisam de conjuntos de dados de teste. Em vez disso, podemos calcular o grau de sobreajuste do modelo diretamente como uma significância estatística: um valor-p.

Esses métodos estatísticos são potentes, bem estabelecidos e formam a base da ciência moderna. A vantagem é que não precisamos dividir o conjunto de treinamento, e ainda obtemos uma compreensão muito mais precisa da confiança que podemos ter em um modelo. Por exemplo, um valor-p de 0,01 significa que há uma chance muito pequena de que nosso modelo tenha encontrado uma relação que não existe, de fato, no mundo real. Por outro lado, um valor-p de 0,5 significa que, embora nosso modelo possa parecer satisfatório com os nossos dados de treinamento, ele não é melhor do que fazer cara e coroa no mundo real.

A desvantagem dessas abordagens é que elas só se aplicam facilmente a determinados tipos de modelo, como os modelos de regressão linear com os quais estivemos praticando. Para todos os modelos, exceto os mais simples, esses cálculos podem ser extremamente complexos para serem executados corretamente e, portanto, estão fora do escopo deste curso. Eles também sofrem a mesma limitação em relação à seleção de dados: se nossos dados de treinamento forem tendenciosos, nossos valores-p serão enganosos.