Puis-je effectuer une recherche exhaustive avec validation croisée pour la sélection des fonctionnalités?

8

J'ai lu certains articles sur la sélection des fonctionnalités et la validation croisée, mais j'ai encore des questions sur la bonne procédure.

Supposons que j'ai un ensemble de données avec 10 fonctionnalités et que je souhaite sélectionner les meilleures fonctionnalités. Supposons également que j'utilise un classificateur de voisin le plus proche. Puis-je effectuer une recherche exhaustive en utilisant la validation croisée pour estimer le taux d'erreur comme guide pour choisir les meilleures fonctionnalités? Quelque chose comme le pseudo-code suivant

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);

Ce que j'essaie d'expliquer dans ce pseudo-code, c'est que j'exécute la validation croisée pour toutes les combinaisons possibles de fonctionnalités et que je choisis la combinaison qui donne l'erreur minimale.

Je pense que cette procédure est correcte car j'effectue une recherche exhaustive. Le choix des fonctionnalités n'était pas basé sur l'ensemble des données, mais sur l'erreur moyenne sur chaque partition. Suis-je sur-équiper le modèle avec une telle sélection de fonctionnalités?

Jorge Amaral
la source

Réponses:

10

Oui, vous risquez de vous retrouver avec un sur-ajustement dans ce cas, voir ma réponse à cette question précédente . La chose importante à retenir est que la validation croisée est une estimation des performances de généralisation basée sur un échantillon fini de données. Comme il est basé sur un échantillon fini de données, l'estimateur a une variance non nulle, donc dans une certaine mesure, la réduction de l'erreur de validation croisée se traduira par une combinaison de choix de modèle qui améliorent véritablement l'erreur de généralisation et les choix de modèle qui exploitent simplement le particularités aléatoires de l'échantillon particulier de données sur lesquelles il est évalué. Ce dernier type de choix de modèle risque d’aggraver les performances de généralisation plutôt que de les améliorer.

Le sur-ajustement est un problème potentiel chaque fois que vous minimisez une statistique basée sur un échantillon fini de données, la validation croisée n'est pas différente.

Dikran Marsupial
la source
1
Peut-être, mais la validation croisée est un grand pas au-dessus de la resubstitutine car elle évalue le classifieur sur un ensemble de données non utilisées dans le modèle ajusté.
Michael R. Chernick
2
oui, il est moins sujet à un ajustement excessif que l'estimateur de resubstitution, mais d'après mon expérience, il s'agit généralement d'un problème suffisamment important pour qu'une recherche exhaustive soit susceptible d'être une mauvaise idée. Millar dans sa monographie sur la "sélection des sous-ensembles en régression" recommande d'utiliser la régularisation plutôt que la sélection des caractéristiques si la performance prédictive est le critère important et l'identification des caractéristiques n'est pas un objectif principal (en paraphrasant quelque peu).
Dikran Marsupial
1
@Michael Ce n'est pas CV qui se trompe, c'est l'idée de minimiser strictement l'erreur sur un espace de fonctionnalités utilisées (ou sur l'espace de paramètres, qui est un piège associé). Même l'ensemble du train est un sous-ensemble aléatoire de la réalité, donc cette optimisation est simplement stochastique et doit être traitée en conséquence, ou vous vous retrouverez certainement dans une fluctuation non significative - cela est clairement visible lorsque vous amorcez toute l'analyse. OMI de cette façon, la seule option pour une meilleure précision est une technique de modélisation robuste (régularisée ou randomisée) et pour fs explicatifs certains tests is-attribute-better-than-noise.
1
Je ne blâmais pas CV. Le problème est une recherche exhaustive, je pense ..
Michael R. Chernick
oui, il valait la peine de souligner que le CV est bien meilleur que la resubstitution pour la sélection des fonctionnalités, car cela est encore parfois utilisé, mais c'est la sur-optimisation qui est le problème.
Dikran Marsupial
0

Je pense que c'est une procédure valide pour la sélection des fonctionnalités qui n'est pas plus sujette à un sur-ajustement que les autres procédures de sélection des fonctionnalités. Le problème avec cette procédure est qu'elle a une grande complexité de calcul et peut à peine être utilisée pour de vrais ensembles de données.

Leo
la source
2
Je ne pense pas que ce soit correct. Si la rareté est obtenue par la régularisation, par exemple une approche LASSO, alors l'ensemble des sous-ensembles de fonctionnalités qui peuvent être générés est susceptible d'être beaucoup plus petit que le nombre étudié par une recherche exhaustive. Cela signifie qu'il y a moins de possibilités de sur-ajustement, car «l'espace modèle» est plus fortement contraint. Je ne recommanderais pas une recherche exhaustive à moins que l'ensemble de données ne soit très grand et que le nombre de fonctionnalités ne soit très petit (bien sûr, il devient rapidement impossible à calculer avec le nombre de fonctionnalités de toute façon).
Dikran Marsupial
Je suis d'accord sur les questions que Dikran soulève sur la recherche exhaustive.
Michael R. Chernick
0

Je pense que si vous sélectionnez une fonctionnalité à l'intérieur de chaque pli de la validation croisée, tout ira bien. Comme l'indiquent les affiches ci-dessus, vous pourrez vous équiper de n'importe quel modèle en utilisant les fonctionnalités sélectionnées obtenues à partir de la procédure décrite ci-dessus. En effet, toutes les données ont eu une certaine influence sur la routine de sélection des fonctionnalités.

BGreene
la source
1
Malheureusement, cela est également incorrect, le problème de sur-ajustement est susceptible de se poser chaque fois que vous minimisez une statistique sur un échantillon fini de données. Si la statistique présente une variance non nulle, un certain degré de sur-ajustement est inévitable si la statistique est entièrement minimisée. Si vous effectuez la sélection d'entités indépendamment dans chaque pli, l'estimation de validation croisée résultante est (presque) impartiale, mais cela ne signifie pas que le modèle ne sera pas surajusté, juste que l'estimation des performances tient compte des effets de la sur -raccord.
Dikran Marsupial