K-fold vs. validação cruzada de Monte Carlo

29

Estou tentando aprender vários métodos de validação cruzada, principalmente com a intenção de aplicar a técnicas de análise multivariada supervisionada. Dois que eu encontrei são as técnicas de validação cruzada K-fold e Monte Carlo. Eu li que o K-fold é uma variação de Monte Carlo, mas não tenho certeza de entender completamente o que compõe a definição de Monte Carlo. Alguém poderia explicar a distinção entre esses dois métodos?

Liam
fonte
Então, eu estaria correto em dizer que Monte Carlo tem tamanhos aleatórios dos conjuntos de treinamento e teste, enquanto o k-fold é um tamanho definido de conjuntos? Eu vi a página acima, mas não entendi muito bem qual era a diferença.
Liam
Eu estou familiarizado com diferentes tipos de validação cruzada e validação out-of-bootstrap, mas ainda não encontrei o termo validação cruzada de Monte Carlo (talvez eu o conheça com outro nome). Você poderia vincular ou citar uma descrição de como a validação cruzada de Monte Carlo funciona?
Cbeleites suporta Monica
A descrição mais simples e de acesso aberto de Monte Carlo está no wiki . Parece que não vejo a distinção entre os métodos k-fold e Monte Carlo.
Liam

Respostas:

36

Validação cruzada k -Foldk

Suponha que você tenha 100 pontos de dados. Para validação cruzada fold, esses 100 pontos são divididos em k 'dobras' de tamanho igual e mutuamente exclusivas. Para k = 10, você pode atribuir os pontos 1 a 10 para dobrar # 1, 11-20 para dobrar # 2 e assim por diante, terminando atribuindo os pontos 91-100 para dobrar # 10. Em seguida, selecionamos uma dobra para atuar como o conjunto de testes e usamos as dobras k - 1 restantes para formar os dados do treinamento. Na primeira execução, você pode usar os pontos 1 a 10 como o conjunto de testes e 11 a 100 como o conjunto de treinamento. A próxima execução usaria os pontos 11 a 20 como o conjunto de teste e treinaria nos pontos 1 a 10 mais 21 a 100 e assim por diante, até que cada dobra seja usada uma vez como conjunto de teste.kkkk1

Validação Cruzada de Monte-Carlo

Monte Carlo funciona de maneira um pouco diferente. Você seleciona aleatoriamente (sem substituição) uma fração de seus dados para formar o conjunto de treinamento e depois atribui o restante dos pontos ao conjunto de teste. Esse processo é repetido várias vezes, gerando (aleatoriamente) novos treinamentos e partições de teste a cada vez. Por exemplo, suponha que você optou por usar 10% dos seus dados como dados de teste. Em seguida, seu conjunto de testes no representante nº 1 pode ser os pontos 64, 90 , 63, 42 , 65, 49, 10, 64, 96 e 48. Na próxima execução, seu conjunto de testes pode ser 90 , 60, 23, 67, 16, 78, 42 , 17, 73 e 26. Como as partições são feitas independentemente para cada execução, o mesmo ponto pode aparecer no conjunto de testes várias vezes,qual é a principal diferença entre Monte Carlo e validação cruzada .

Comparação

Cada método tem suas próprias vantagens e desvantagens. Sob validação cruzada, cada ponto é testado exatamente uma vez, o que parece justo. No entanto, a validação cruzada explora apenas algumas das maneiras possíveis de particionar seus dados. Monte Carlo permite explorar partições um pouco mais possíveis, embora seja improvável que você obtenha todas elas - existem (10050)1028 possible ways to 50/50 split a 100 data point set(!).

Se você estiver tentando fazer inferência (ou seja, comparar estatisticamente dois algoritmos), calcular a média dos resultados de uma execução de validação cruzada vezes fornece uma estimativa (quase) imparcial do desempenho do algoritmo, mas com alta variação (como você espera ter apenas 5 ou 10 pontos de dados). Como você pode, em princípio, executá-lo pelo tempo que desejar / puder pagar, a validação cruzada de Monte Carlo pode fornecer uma estimativa menos variável, porém mais tendenciosa.k

Algumas abordagens fundem as duas, como na validação cruzada 5x2 (veja Dietterich (1998) para a idéia, embora eu ache que houve algumas melhorias desde então) ou corrigindo o viés (por exemplo, Nadeau e Bengio, 2003 ) .

Matt Krause
fonte
2
Alguém perguntou, através da fila de edições sugeridas, se Monte Carlo é realizado com ou sem substituição. Para cada corrida de Monte Carlo, o conjunto de treinamento e teste é desenhado sem substituição (ou seja, cada ponto é atribuído, exatamente uma vez, ao trem ou ao conjunto de testes). No entanto, as execuções são feitas independentemente, portanto, um determinado exemplo pode aparecer no mesmo conjunto várias vezes; essa é a principal diferença entre a validação cruzada de Monte Carlo e k-fold!
Matt Krause
13

Vamos supor que é o tamanho do conjunto de dados, k é o número dos subconjuntos k- fold, n t é o tamanho do conjunto de treinamento en v é o tamanho do conjunto de validação. Portanto, N = k × n v para validação cruzada k- fold e N = n t + n v para validação cruzada Monte Carlo.NkkntnvN=k×nvkN=nt+nv

validação cruzada k -kfold (kFCV) divide os pontos de dados em k subconjuntos mutuamente exclusivos de tamanho igual. O processo deixa de fora um dos k subconjuntos como um conjunto de validação e treina nos subconjuntos restantes. Esse processo é repetido k vezes, deixando de fora um dos k subconjuntos de cada vez. O tamanho de k pode variar de N a 2 ( k = N é chamado de validação cruzada de exclusão única). Os autores em [2] sugerem definir k = 5 ou 10 .NkkkkkN2k=Nk=510

Monte Carlo validação cruzada (MCCV) simplesmente divide os pontos de dados nos dois subconjuntos n t e n v por amostragem, sem reposição, n t os pontos de dados. O modelo é treinado no subconjunto n t e validado no subconjunto n v . Existe ( NNntnvntntnvconjuntos de treinamento exclusivos, mas o MCCV evita a necessidade de executar muitas iterações. Zhang [3] mostra que a execução do MCCV paraiteraçõesN2tem resultados próximos da validação cruzada em todos(N(Nnt)N2conjuntos de treinamento exclusivos. Deve-se notar que a literatura carece de pesquisa para N. grande (Nnt)

A escolha de e n t afeta o trade-viés / variância. Quanto maior k ou n t , menor o viés e maior a variação. Conjuntos de treinamento maiores são mais semelhantes entre as iterações, portanto, se ajustam demais aos dados de treinamento. Veja [2] para mais informações sobre esta discussão. O viés e a variação do kFCV e do MCCV são diferentes, mas o viés dos dois métodos pode ser igualado escolhendo níveis apropriados de k e n t . Os valores do viés e variância para ambos os métodos são mostrados em [1] (este artigo refere-se ao MCCV como modelo de teste de aprendizado repetido).kntkntknt


[1] Burman, P. (1989). Um estudo comparativo da validação cruzada ordinária, validação cruzada fold e os métodos repetidos do modelo de teste de concessão. Bometrika 76 503-514.v

[2] Hastie, T., Tibshirani, R. e Friedman, J. (2011). Os elementos do aprendizado estatístico: mineração de dados, inferência e previsão. Segunda ed. Nova York: Springer.

[3] Zhang, P. (1993). Seleção de modelo através da validação cruzada Muiltfold. Ann. Stat. 21 299-313

um chefe de dados
fonte
7

As outras duas respostas são ótimas, vou apenas adicionar duas imagens e um sinônimo.


Validação cruzada K-fold (kFCV):

insira a descrição da imagem aqui

Validação cruzada Monte Carlo (MCCV) = Validação aleatória repetida de subamostragem (RRSSV):

insira a descrição da imagem aqui


Referências:

As imagens são de (1) ( páginas 64 e 65 ), e o sinônimo é mencionado em (1) e (2).

Franck Dernoncourt
fonte