Ao usar a validação cruzada para fazer a seleção do modelo (como por exemplo, ajuste de hiperparâmetro) e avaliar o desempenho do melhor modelo, deve-se usar a validação cruzada aninhada . O loop externo é para avaliar o desempenho do modelo, e o loop interno é para selecionar o melhor modelo; o modelo é selecionado em cada conjunto de treinamento externo (usando o circuito interno do CV) e seu desempenho é medido no conjunto de teste externo correspondente.
Isso foi discutido e explicado em vários tópicos (como por exemplo, aqui Treinamento com o conjunto de dados completo após a validação cruzada ? , veja a resposta de @DikranMarsupial) e é totalmente claro para mim. Fazer apenas uma validação cruzada simples (não aninhada) para seleção de modelo e estimativa de desempenho pode gerar uma estimativa de desempenho com viés positivo. O @DikranMarsupial tem um artigo de 2010 sobre exatamente esse tópico ( Sobre ajuste excessivo na seleção de modelo e viés de seleção subsequente na avaliação de desempenho ), com a Seção 4.3 sendo chamada de Ajuste excessivo na seleção de modelo é realmente uma preocupação genuína na prática? - e o documento mostra que a resposta é sim.
Tudo isso dito, agora estou trabalhando com regressão multivariada de crista múltipla e não vejo diferença entre CV simples e aninhado; portanto, neste caso particular, o CV aninhado parece uma carga computacional desnecessária. Minha pergunta é: sob quais condições o CV simples produzirá um viés perceptível que é evitado com o CV aninhado? Quando o CV aninhado importa na prática e quando não importa tanto? Existem regras práticas?
Aqui está uma ilustração usando meu conjunto de dados real. O eixo horizontal é para regressão de crista. O eixo vertical é um erro de validação cruzada. A linha azul corresponde à validação cruzada simples (não aninhada), com 50 divisões aleatórias de treinamento / teste 90:10. A linha vermelha corresponde à validação cruzada aninhada com 50 divisões aleatórias de treinamento / teste 90:10, em que é escolhido com um loop interno de validação cruzada (também 50 divisões aleatórias 90:10). Linhas são médias acima de 50 divisões aleatórias, sombreados mostram desvio padrão.
A linha vermelha é plana porque está sendo selecionado no loop interno e o desempenho do loop externo não é medido em toda a faixa de 's. Se a validação cruzada simples for enviesada, o mínimo da curva azul estará abaixo da linha vermelha. Mas esse não é o caso.
Atualizar
Na verdade, é o caso :-) Só que a diferença é pequena. Aqui está o zoom:
Uma coisa potencialmente enganosa aqui é que minhas barras de erro (sombras) são enormes, mas os CVs aninhados e simples podem ser (e foram) realizados com as mesmas divisões de treinamento / teste. Portanto, a comparação entre eles é pareada , conforme sugerido por @Dikran nos comentários. Então, vamos fazer uma diferença entre o erro CV aninhado e o erro CV simples (para o que corresponde ao mínimo na minha curva azul); novamente, em cada dobra, esses dois erros são calculados no mesmo conjunto de testes. Traçando essa diferença em divisões de treinamento / teste, recebo o seguinte:
Os zeros correspondem às divisões em que o loop CV interno também produziu (acontece quase a metade das vezes). Em média, a diferença tende a ser positiva, ou seja, o CV aninhado tem um erro um pouco maior . Em outras palavras, o CV simples demonstra um viés minúsculo, mas otimista.
(Executei todo o procedimento algumas vezes, e isso acontece sempre.)
Minha pergunta é: em que condições podemos esperar que esse viés seja minúsculo e sob quais condições não devemos?
fonte
Respostas:
Eu sugeriria que o viés depende da variação do critério de seleção do modelo, quanto maior a variância, maior o provável viés. A variação do critério de seleção do modelo tem duas fontes principais, o tamanho do conjunto de dados em que é avaliado (portanto, se você tiver um pequeno conjunto de dados, maior será a probabilidade de viés) e a estabilidade do modelo estatístico (se os parâmetros do modelo são bem estimados pelos dados de treinamento disponíveis, há menos flexibilidade para o modelo se ajustar demais ao critério de seleção de modelos, ajustando os hiperparâmetros). O outro fator relevante é o número de opções de modelo a serem feitas e / ou os hiper-parâmetros a serem ajustados.
No meu estudo, estou analisando poderosos modelos não lineares e conjuntos de dados relativamente pequenos (comumente usados em estudos de aprendizado de máquina) e esses dois fatores significam que a validação cruzada aninhada é absolutamente necessária. Se você aumentar o número de parâmetros (talvez com um kernel com um parâmetro de escala para cada atributo), o ajuste excessivo pode ser "catastrófico". Se você estiver usando modelos lineares com apenas um único parâmetro de regularização e um número relativamente grande de casos (em relação ao número de parâmetros), é provável que a diferença seja muito menor.
Devo acrescentar que eu recomendaria sempre o uso de validação cruzada aninhada, desde que seja computacionalmente viável, pois elimina uma possível fonte de viés para que nós (e os revisores; o) não precisemos nos preocupar se é insignificante ou não.
fonte