Minha pergunta é sobre validação cruzada quando há muito mais variáveis que observações. Para fixar idéias, proponho restringir a estrutura de classificação em uma dimensão muito alta (mais recursos do que observação).
Problema: Suponha que, para cada variável , você tenha uma medida de importância T [ i ] do que mensure exatamente o interesse do recurso i pelo problema de classificação. O problema de selecionar um subconjunto de recursos para reduzir de maneira ideal o erro de classificação é então reduzido ao de encontrar o número de recursos.
Pergunta: Qual é a maneira mais eficiente de executar a validação cruzada neste caso (esquema de validação cruzada)? Minha pergunta não é sobre como escrever o código, mas sobre a versão da validação cruzada a ser usada ao tentar encontrar o número do recurso selecionado (para minimizar o erro de classificação), mas como lidar com a alta dimensão ao realizar a validação cruzada (daí a problema acima pode ser um pouco como um 'problema de brinquedo' para discutir CV em alta dimensão).
Notações: é o tamanho do conjunto de aprendizado, p o número de recursos (isto é, a dimensão do espaço do recurso). Por muito alta dimensão média eu p >> n (por exemplo p = 10000 e n = 100 ).
fonte
Respostas:
Você sente falta de uma questão importante - quase nunca existe algo como T [i]. Pense em um problema simples em que a soma de dois atributos (de amplitude semelhante) é importante; se você remover um deles, a importância do outro diminuirá repentinamente. Além disso, grande quantidade de atributos irrelevantes é a precisão da maioria dos classificadores, assim como sua capacidade de avaliar a importância. Por último, mas não menos importante, os algoritmos estocásticos retornarão resultados estocásticos e, portanto, até o ranking T [i] pode ser instável. Portanto, em princípio, você deve pelo menos recalcular T [i] depois que cada atributo (ou pelo menos depois de cada atributo não trivialmente redundante) for removido.
Voltando ao tópico, a pergunta que CV escolher depende principalmente do problema; com um número muito pequeno de casos, a LOO pode ser a melhor escolha, porque todas as outras começam a se reduzir a ela; ainda pequeno é n = 10 e não n = 100. Então, eu recomendaria apenas a subamostragem aleatória (que eu mais uso) ou a dobra em K (depois recriando divisões em cada etapa). Ainda assim, você também deve coletar não apenas a média, mas também o desvio padrão das estimativas de erro; isso pode ser usado para (aproximadamente) julgar quais alterações de média são significativas e, portanto, ajudar você a decidir quando interromper o processo.
fonte
Essa é uma boa pergunta, e isso tende a afetar mais o que é referido aos alunos do conjunto e a média do modelo (fornecerei os links abaixo):
Quando você está em configurações de alta dimensão, a estabilidade da sua solução (ou seja, quais recursos / variáveis são selecionadas) pode estar faltando porque os modelos individuais podem escolher 1 entre muitas variáveis colineares e intercambiáveis que, em geral, transmitem o mesmo sinal ( entre uma das muitas razões). Abaixo estão algumas estratégias sobre como lidar com isso.
No modelo bayesiano de média, por exemplo,
Hoeting, Jennifer A., et al. "Média bayesiana do modelo: um tutorial." Statistical science (1999): 382-401.
você constrói muitos modelos (digamos 100), e cada um deles é construído com um subconjunto dos recursos originais. Então, cada modelo individual determina quais das variáveis que ele viu foram significativas e cada modelo é ponderado pela probabilidade de dados, fornecendo um bom resumo de como "julgar" a eficácia das variáveis da maneira "validação cruzada". você sabe a priori que alguns recursos são altamente correlacionados, é possível induzir um esquema de amostragem para que nunca sejam selecionados juntos (ou, se você tiver uma estrutura de correlação de blocos, escolherá elementos de diferentes blocos em sua matriz de variância-covariância)
Em uma configuração de tipo de aprendizado de máquina : consulte "seleção de recurso de conjunto". Este artigo (um exemplo)
Neumann, Ursula, Nikita Genze e Dominik Heider. "EFS: uma ferramenta de seleção de recursos de conjunto implementada como pacote R e aplicativo da web." Mineração de BioData 10.1 (2017): 21.
determina o significado do recurso em uma variedade de métricas de "importância" para fazer a seleção final do recurso.
Eu diria que a rota de aprendizado de máquina pode ser melhor que os modelos lineares b / c (com seleção de recurso) saturam em p = nb / c de sua reformulação de otimização (consulte este post Se p> n, o laço seleciona no máximo n variáveis ). Mas desde que você possa definir e justificar um bom critério objetivo sobre como "validar cruzadamente" a seleção de recursos, então você começará bem.
Espero que isto ajude!
fonte