Correção Bonferroni e aprendizado de máquina

9

Nos estudos de psicologia, aprendi que deveríamos usar o método de Bonferroni para ajustar o nível de significância ao testar várias hipóteses em um único conjunto de dados.

Atualmente, estou trabalhando com métodos de aprendizado de máquina, como Support Vector Machines ou Random Forest para classificação. Aqui eu tenho um único conjunto de dados que é usado na validação cruzada para encontrar os melhores parâmetros (como parâmetros de kernel para SVM) que produzem a melhor precisão.

Minha intuição diz (e talvez esteja completamente desligada) que é uma questão semelhante. Se estou testando muitas combinações possíveis de parâmetros, é grande a chance de encontrar uma que produza ótimos resultados. No entanto, isso pode ser apenas um acaso.

Para resumir minha pergunta:

No aprendizado de máquina, usamos validação cruzada para encontrar os parâmetros corretos de um classificador. Quanto mais combinações de parâmetros usamos, maior a chance de encontrar uma excelente por acidente (sobreajuste?). O conceito que está por trás da correção bonferroni também se aplica aqui? É uma questão diferente? Se sim, por quê?

Nikolas Rieble
fonte
3
Sim, é o mesmo problema, às vezes chamado de "dragagem de dados".
dsaxton
5
você deve torturar os dados até que ele confessa
Soren Havelund Welling

Respostas:

5

Há um grau em que o que você está falando com a correção do valor-p está relacionado, mas há alguns detalhes que tornam os dois casos muito diferentes. O grande problema é que, na seleção de parâmetros, não há independência nos parâmetros que você está avaliando ou nos dados em que eles estão sendo avaliados. Para facilitar a discussão, tomarei como exemplo um k em um modelo de regressão K-vizinhos mais próximos, mas o conceito também se generaliza para outros modelos.

Digamos que temos uma instância de validação V que estamos prevendo para obter uma precisão do modelo para vários valores de k em nossa amostra. Para fazer isso, encontramos os valores de k = 1, ..., n mais próximos no conjunto de treinamento que definiremos como T 1 , ..., T n . Para o nosso primeiro valor de k = 1 a nossa previsão P1 1 será igual a T 1 , para k = 2 , predição P 2 será (T 1 + T 2 ) / 2 ou P 1 /2 + T 2 /2 , parak = 3 será (T 1 + T 2 + T 3 ) / 3 ou P 2 * 2/3 + T 3 /3 . De fato, para qualquer valor k , podemos definir a previsão P k = P k-1 (k-1) / k + T k / k . Vemos que as previsões não são independentes uma da outra, portanto, a precisão das previsões também não será. De fato, vemos que o valor da previsão está se aproximando da média da amostra. Como resultado, na maioria dos casos, testar valores de k = 1:20 selecionará o mesmo valor de k que testar k = 1: 10.000 a menos que o melhor ajuste que você possa obter do seu modelo seja apenas a média dos dados.

É por isso que não há problema em testar vários parâmetros diferentes em seus dados sem se preocupar muito com o teste de múltiplas hipóteses. Como o impacto dos parâmetros na previsão não é aleatório, é muito menos provável que a precisão da previsão seja adequada devido apenas ao acaso. Você precisa se preocupar com o excesso de ajuste ainda, mas esse é um problema separado do teste de múltiplas hipóteses.

Para esclarecer a diferença entre o teste múltiplo de hipóteses e o ajuste excessivo, desta vez vamos imaginar fazer um modelo linear. Se repetirmos a amostra dos dados para criar nosso modelo linear (as várias linhas abaixo) e avaliá-lo, testando dados (os pontos escuros), por acaso uma das linhas fará um bom modelo (a linha vermelha). Isso não se deve ao fato de ele ser um ótimo modelo, mas, se você amostrar os dados o suficiente, algum subconjunto funcionará. O importante a ser observado aqui é que a precisão parece boa nos dados de teste retidos devido a todos os modelos testados. De fato, como estamos escolhendo o modelo "melhor" com base nos dados de teste, o modelo pode realmente ajustar os dados de teste melhor que os dados de treinamento.teste de múltiplas hipóteses

O ajuste excessivo, por outro lado, é quando você constrói um único modelo, mas contorce os parâmetros para permitir que o modelo ajuste os dados de treinamento além do que é generalizável. No exemplo abaixo, o modelo (linha) ajusta-se perfeitamente aos dados de treinamento (círculos vazios), mas quando avaliado nos dados de teste (círculos preenchidos), o ajuste é muito pior.sobreajuste

Barker
fonte
Bom argumento para esta situação particular de escolher k
Soren Havelund Welling
Isso não é específico para o K-Nearest-Neighbors, eu apenas escolhi esse modelo porque a matemática é mais fácil de ver. Em todos os modelos, os erros de validação produzidos pelos parâmetros de um intervalo (que é a finalidade da validação cruzada) não são independentes um do outro. Isso significa que a idéia de uma correção de Bonferroni que busca corrigir valores de p em vários testes de amostras independentes não se aplica.
Barker #
No caso de realizar uma grande pesquisa na grade com inúmeras combinações de hiper parâmetros, é mais provável que um modelo ligeiramente super ajustado, definido por alguma função quadrada de perda de resíduos, explique bem o conjunto de validação + sendo sortudo . É improvável que um modelo um pouco mais regularizado tenha a mesma sorte por causa do viés. Ao contrário do kNN, alguns modelos como árvores de decisão podem produzir ajustes muito diferentes com pequenas alterações nos hiper parâmetros e ao testar muitas árvores diferentes ... Portanto, os modelos ajustados e o teste de vários parâmetros podem estar relacionados na prática.
Soren Havelund Welling
Modelos de árvore de decisão que obtêm resultados muito diferentes com base em pequenas alterações de parâmetro geralmente indicam que o modelo não é estável e que uma escolha diferente de semente aleatória pode ser igualmente culpada como os próprios parâmetros. Eu consideraria isso mais uma questão de estabilidade do que adequada por assim dizer.
Barker
Exatamente. Para muitos algoritmos de modelo para um determinado conjunto de dados, uma variedade de configurações de parâmetros produz modelos instáveis. Um pequeno subconjunto desses modelos instáveis ​​provavelmente obterá uma pontuação de previsão melhor em um conjunto de validação específico do que os modelos regularizados razoáveis. É por isso que você precisa considerar também as implicações de vários testes no aprendizado de máquina e não pode simplesmente confiar na conclusão do exemplo do kNN, onde não há muito problema.
Soren Havelund Welling
3

Concordo com Barker até certo ponto, no entanto, a seleção de modelos não é apenas kNN . Você deve usar o esquema de validação cruzada, com uma validação e um conjunto de testes. Você usa o conjunto de validação para seleção de modelo e o conjunto de teste para estimativa final do erro do modelo. Pode ser um CV aninhado ou uma simples divisão dos dados de treinamento. O desempenho medido pelo conjunto de validação do modelo com melhor desempenho será tendencioso, pois você escolheu o modelo com melhor desempenho. O desempenho medido do conjunto de testes não é tendencioso, pois você honestamente testou apenas um modelo. Em caso de dúvida, envolva todo o processamento e modelagem de dados em uma validação cruzada externa para obter a estimativa menos tendenciosa da precisão futura.

Como eu sei, não há uma correção matemática simples e confiável que sirva para qualquer seleção entre vários modelos não lineares. Tendemos a confiar na inicialização por força bruta para simular qual seria a precisão futura do modelo. A propósito, ao estimar o erro de previsão futura, assumimos que o conjunto de treinamento foi amostrado aleatoriamente em uma população e que as previsões de testes futuros são amostradas na mesma população. Se não, bem, quem sabe ...

Se você, por exemplo, usa um CV interno de 5 vezes para selecionar o modelo e um CV externo de 10 vezes repetido 10 vezes para estimar o erro, é improvável que você se engane com uma estimativa de precisão do modelo com excesso de confiança.

Soren Havelund Welling
fonte
2
algumas vezes, o conjunto de validação pode ser chamado de conjunto de calibração e o conjunto de testes chamado conjunto de validação. Um pouco confuso ...
Soren Havelund Welling