Pourquoi la sélection des fonctionnalités est-elle importante pour les tâches de classification?

11

J'apprends la sélection des fonctionnalités. Je vois pourquoi ce serait important et utile pour la construction de modèles. Mais concentrons-nous sur les tâches d'apprentissage supervisé (classification). Pourquoi la sélection des fonctionnalités est-elle importante pour les tâches de classification?

Je vois beaucoup de littérature écrite sur la sélection des fonctionnalités et son utilisation pour l'apprentissage supervisé, mais cela me laisse perplexe. La sélection des fonctionnalités consiste à identifier les fonctionnalités à jeter. Intuitivement, le rejet de certaines fonctionnalités semble voué à l'échec: il jette des informations. Il semble que jeter des informations ne devrait pas aider.

Et même si la suppression de certaines fonctionnalités aide, si nous jetons certaines fonctionnalités et que nous intégrons le reste dans un algorithme d'apprentissage supervisé, pourquoi devons-nous le faire nous-mêmes, plutôt que de laisser l'algorithme d'apprentissage supervisé le gérer? Si une fonctionnalité n'est pas utile, aucun algorithme d'apprentissage supervisé décent ne devrait-il implicitement le découvrir et apprendre un modèle qui n'utilise pas cette fonctionnalité?

Donc, intuitivement, je m'attendais à ce que la sélection des fonctionnalités soit un exercice inutile qui n'aide jamais et peut parfois faire mal. Mais le fait qu'il soit si largement utilisé et écrit sur cela me fait suspecter que mon intuition est défectueuse. Quelqu'un peut-il donner une idée de la raison pour laquelle la sélection des fonctionnalités est utile et importante lors de l'apprentissage supervisé? Pourquoi améliore-t-il les performances de l'apprentissage automatique? Cela dépend-il du classificateur que j'utilise?

DW
la source

Réponses:

10

Votre intuition est tout à fait correcte. Dans la plupart des situations, la sélection des fonctionnalités représente un désir d'explication simple qui résulte de trois malentendus:

  1. L'analyste ne se rend pas compte que l'ensemble des caractéristiques «sélectionnées» est assez instable, c'est-à-dire non robuste, et que le processus de sélection, lorsqu'il est effectué sur un autre ensemble de données, se traduira par un ensemble très différent de caractéristiques. Souvent, les données ne possèdent pas le contenu d'information nécessaire pour sélectionner les «bonnes» fonctionnalités. Ce problème s'aggrave si des colinéarités sont présentes.
  2. Les voies, mécanismes et processus sont complexes dans des expériences non contrôlées; le comportement humain et la nature sont complexes et non parcimonieux.
  3. La précision prédictive est affectée en demandant aux données de vous dire à la fois quelles sont les fonctionnalités importantes et quelles sont les relations avec pour les fonctionnalités "importantes". Il vaut mieux «utiliser un peu de chaque variable» que d'utiliser toutes certaines variables et aucune pour d'autres (c'est-à-dire utiliser le rétrécissement / la pénalisation).Oui

Quelques façons d'étudier cela:

  1. Faire plus de comparaisons de la précision prédictive entre le lasso , le filet élastique et une pénalité quadratique standard (régression de crête)
  2. Bootstrap mesure l'importance variable d'une forêt aléatoire et vérifie sa stabilité
  3. Calculez les intervalles de confiance du bootstrap sur les rangs des caractéristiques potentielles, par exemple, sur les rangs des tests d'association partiels (ou de choses comme Spearman univarié ou Somers ) et voyez que ces intervalles de confiance sont extrêmement larges , vous informant directement de la difficulté de la tâche. Mes notes de cours liées à http://biostat.mc.vanderbilt.edu/rms ont un exemple de classement par ordre de priorité des prédicteurs utilisant OLS.χ2ρXy

Tout cela s'applique à la fois à la classification et au concept plus général et utile de prédiction.

Frank Harrell
la source