Posso executar uma pesquisa exaustiva com validação cruzada para seleção de recursos?

8

Li algumas das postagens sobre seleção de recursos e validação cruzada, mas ainda tenho dúvidas sobre o procedimento correto.

Suponha que eu tenha um conjunto de dados com 10 recursos e desejo selecionar os melhores. Suponha também que estou usando um classificador de vizinho mais próximo. Posso executar uma pesquisa exaustiva usando a validação cruzada para estimar a taxa de erro como guia para escolher os melhores recursos? Algo como o seguinte pseudo-código

for i=1:( 2^10 -1)
   error(i)= crossval(1-nn, selected_fetures(i))
end   

i=find(erro(i)==min(error(i));
selected_fetures= selected_features(i);

O que estou tentando explicar neste pseudo-código é que estou executando a validação cruzada para todas as combinações possíveis de recursos e escolha a combinação que fornece o erro mínimo.

Eu acho que esse procedimento está correto porque estou executando uma pesquisa exaustiva. A escolha dos recursos não foi baseada em todo o conjunto de dados, mas no erro médio em cada partição. Estou ajustando demais o modelo com essa seleção de recurso?

Jorge Amaral
fonte

Respostas:

10

Sim, é provável que você acabe com um excesso de adaptação, veja minha resposta a esta pergunta anterior . O importante é lembrar que a validação cruzada é uma estimativa do desempenho da generalização com base em uma amostra finita de dados. Como é baseado em uma amostra finita de dados, o estimador tem uma variação diferente de zero; portanto, em certa medida, reduzir o erro de validação cruzada resultará em uma combinação de opções de modelo que melhoram genuinamente o erro de generalização e opções de modelo que simplesmente exploram o peculiaridades aleatórias da amostra específica de dados em que são avaliadas. O último tipo de escolha de modelo provavelmente tornará o desempenho da generalização pior e não melhor.

O excesso de ajuste é um problema em potencial sempre que você minimiza qualquer estatística com base em uma amostra finita de dados; a validação cruzada não é diferente.

Dikran Marsupial
fonte
1
Talvez a validação cruzada seja um grande passo acima da resubstitutina, pois avalia o classificador em um conjunto de dados não utilizados no modelo ajustado.
Michael R. Chernick 26/09/12
2
sim, é menos propenso a ajustes excessivos do que o estimador de re-substituição, mas, na minha experiência, ainda é geralmente um problema grande o suficiente para que uma pesquisa exaustiva seja uma má idéia. Millar, em sua monografia sobre "seleção de subconjuntos em regressão", recomenda usar a regularização em vez da seleção de características, se o desempenho preditivo é o critério importante e a identificação de características não é um objetivo principal (parafraseando um pouco).
Dikran marsupiais
1
@ Michael Não está errado o CV, é a idéia de minimizar estritamente o erro em um espaço de recursos usados ​​(ou no espaço de parâmetros, que é uma armadilha relacionada). Mesmo todo o conjunto de trens é um subconjunto aleatório da realidade, portanto, essa otimização é simplesmente estocástica e deve ser tratada adequadamente, ou você certamente terminará em uma flutuação não significativa - isso é claramente visível quando você inicia a análise inteira. OMI dessa maneira, a única opção para uma melhor precisão é uma técnica de modelagem robusta (regularizada ou aleatória) e, para fs explicativos, alguns testes de atributo é melhor que o ruído.
1
Eu não estava culpando o CV. O problema é a busca exaustiva, eu acho ..
Michael R. Chernick
sim, vale a pena ressaltar que o CV é muito melhor do que a re-substituição para a seleção de recursos, pois isso ainda é usado algumas vezes, mas é o excesso de otimização que é o problema.
Dikran Marsupial
0

Penso que este é um procedimento válido para a seleção de recursos que não é mais propenso a sobreajuste do que outros procedimentos de seleção de recursos. O problema com este procedimento é que ele possui grande complexidade computacional e mal pode ser usado para conjuntos de dados reais.

Leo
fonte
2
Eu não acho que isso esteja correto. Se a escassez for alcançada através da regularização, por exemplo, uma abordagem LASSO, o conjunto de subconjuntos de recursos que podem ser gerados provavelmente será muito menor que o número investigado por uma pesquisa exaustiva. Isso significa que há menos oportunidades para o ajuste excessivo, pois o "espaço do modelo" é mais altamente restrito. Eu não recomendaria uma pesquisa exaustiva, a menos que o conjunto de dados seja muito grande e o número de recursos seja muito pequeno (é claro que rapidamente se torna inviável computacionalmente com o número de recursos).
Dikran Marsupial
Concordo com as questões que Dikran levanta em uma pesquisa exaustiva.
Michael R. Chernick 26/09/12
0

Acho que se você selecionar a seleção dentro de cada dobra da validação cruzada, ficará bem. Como os pôsteres acima afirmam, você se ajustará excessivamente em qualquer modelo usando os recursos selecionados obtidos no procedimento descrito acima. Isso ocorre porque todos os dados tiveram alguma influência na rotina de seleção de recursos.

BGreene
fonte
1
Infelizmente, isso também está incorreto, é provável que o problema de ajuste excessivo surja sempre que você minimizar uma estatística em uma amostra finita de dados. Se a estatística tiver uma variação diferente de zero, será inevitável um certo grau de ajuste excessivo se a estatística for totalmente minimizada. Se você executar a seleção de recursos independentemente em cada dobra, a estimativa de validação cruzada resultante será (quase) imparcial, mas isso não significa que o modelo não será ajustado demais, apenas que a estimativa de desempenho é responsável pelos efeitos do excesso -apropriado.
Dikran Marsupial