Sélection de fonctionnalités dans l'apprentissage automatique : Motivation

Nov 24 2022
Ce court article est le premier d'une série qui explique les techniques de sélection des fonctionnalités. J'ai commencé par une introduction conviviale et j'ai présenté les puissantes raisons qui sous-tendent le processus de sélection des fonctionnalités.

Ce court article est le premier d'une série qui explique les techniques de sélection des fonctionnalités. J'ai commencé par une introduction conviviale et j'ai présenté les puissantes raisons qui sous-tendent le processus de sélection des fonctionnalités. Dans les prochains articles, je vais mentionner en détail chaque méthode de sélection de fonctionnalités.

La sélection de caractéristiques est le processus de sélection d'un sous-ensemble de caractéristiques pertinentes (variables, prédicteurs) parmi les caractéristiques totales d'un niveau dans un ensemble de données pour créer des algorithmes d'apprentissage automatique. Étant donné un ensemble de données initial qui contient généralement un grand nombre de variables, que pouvons-nous faire pour sélectionner le pool de caractéristiques qui sont importantes au moment de faire des prédictions ? Il existe une variété de procédures ou de techniques que nous pouvons appliquer dans le cadre du processus de sélection des fonctionnalités.

Avant de plonger dans les techniques de sélection de fonctionnalités, pourquoi sélectionnons-nous des fonctionnalités, pour commencer ? Voici quelques raisons.

  • Les modèles plus simples sont plus faciles à interpréter. Il est plus facile pour les utilisateurs du modèle de comprendre la sortie d'un modèle qui utilise 10 variables que la sortie d'un modèle qui utilise 100 variables.
  • Temps de formation plus courts. La réduction du nombre de variables utilisées pour construire les modèles d'apprentissage automatique réduit le coût de calcul et accélère donc la construction du modèle. Mais plus important encore, les modèles plus simples obtiennent également des scores plus rapides que les applications, ce qui est particulièrement important si le modèle se trouve dans un environnement réel où les décisions doivent être prises en moins d'une seconde.
  • Amélioration de la généralisation en réduisant le surajustement. Très souvent, de nombreuses variables sont du bruit avec peu ou pas de valeur prédictive. Les modèles d'apprentissage automatique apprennent cependant de ce bruit provoquant un surajustement et réduisant la généralisation. En éliminant les fonctionnalités bruyantes non pertinentes, nous pouvons améliorer considérablement la généralisation d'un modèle d'apprentissage automatique.
  • Plus facile à mettre en œuvre par les développeurs de logiciels. Lorsque le modèle d'apprentissage automatique est déployé, les développeurs de logiciels doivent souvent écrire du code pour appeler les variables qui doivent être introduites dans le modèle pour produire la sortie. Il est beaucoup plus rapide d'écrire du code pour 10 à 50 variables que pour 400 variables. De plus, moins de code est moins sujet aux bogues et fournit donc un environnement plus sûr.
  • Réduction du risque d'erreurs de données lors de l'utilisation du modèle. Souvent, les entreprises s'appuient sur des appels à des données tierces à partir desquelles elles sélectionneront des variables pour transmettre le modèle d'apprentissage automatique. La réduction de l'utilisation du nombre de variables utilisées dans le modèle d'apprentissage automatique réduit l'exposition de l'entreprise aux erreurs de collecte et de stockage de données de tiers, ainsi qu'aux erreurs potentielles de collecte de données pouvant survenir au sein de la même entreprise.
  • Redondance variable. Assez souvent, les caractéristiques d'un ensemble de données sont fortement corrélées. Les caractéristiques hautement corrélées fournissent l'essentiel de la même information. Par conséquent, ils sont en quelque sorte redondants. Nous pourrions en garder un et supprimer tout le reste sans perdre d'informations.
  • Mauvais comportement d'apprentissage dans les espaces de grande dimension. Les performances des modèles d'apprentissage automatique, en particulier les algorithmes basés sur des arbres, sont favorisées par des espaces de fonctionnalités réduits. Cela signifie, en d'autres termes, que des dimensions élevées entraînent de mauvaises performances dans les méthodes basées sur les arbres, et donc la réduction de l'espace des caractéristiques aide à construire des modèles plus robustes et prédictifs.

Un algorithme de sélection de caractéristiques peut être vu comme la combinaison d'une technique de recherche pour proposer de nouveaux sous-ensembles de caractéristiques, avec une mesure d'évolution qui note les différents sous-ensembles de caractéristiques. Idéalement, une méthode de sélection de fonctionnalités recherchera dans tous les sous-ensembles possibles de combinaisons de fonctionnalités pouvant être obtenues à partir d'un ensemble de données donné et trouvera la combinaison de fonctionnalités qui produit les meilleures performances de modèle d'apprentissage automatique. En pratique, ce n'est généralement pas une option en raison du coût de calcul. De plus, différents sous-ensembles de fonctionnalités peuvent produire une performance optimale pour différents algorithmes d'apprentissage automatique. Cela signifie qu'il n'y a pas qu'un seul sous-ensemble de fonctionnalités, mais potentiellement de nombreux sous-ensembles de fonctionnalités optimales en fonction de l'algorithme d'apprentissage automatique que nous avons l'intention d'utiliser. Ainsi, au fil des années, de très nombreuses méthodes différentes pour sélectionner des fonctionnalités ont été développées pour essayer de tenir compte d'autant de mises en garde et de limitations que possible. Tout au long de cette série d'articles, je décrirai de très nombreuses méthodes différentes pour la sélection des fonctionnalités, quels sont les avantages et les inconvénients, et comment les mettre en œuvre dans la pratique à l'aide d'exemples d'ensembles de données d'entreprise.