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

Hé Habr !

Chez Reksoft, nous avons traduit l'article en russe Sélection de fonctionnalités dans l'apprentissage automatique. Nous espérons qu'il sera utile à tous ceux qui s'intéressent au sujet.

Dans le monde réel, les données ne sont pas toujours aussi propres que le pensent parfois les clients professionnels. C’est pourquoi l’exploration de données et le data wrangling sont très demandés. Il aide à identifier les valeurs et les modèles manquants dans les données structurées par requête que les humains ne peuvent pas identifier. Afin de trouver et d'utiliser ces modèles pour prédire les résultats à l'aide des relations découvertes dans les données, l'apprentissage automatique s'avère utile.

Pour comprendre un algorithme, vous devez examiner toutes les variables des données et déterminer ce que ces variables représentent. Ceci est essentiel car la justification des résultats repose sur la compréhension des données. Si les données contiennent 5 voire 50 variables, vous pouvez toutes les examiner. Et s'il y en avait 200 ? Il n’y aura alors tout simplement pas assez de temps pour étudier chaque variable. De plus, certains algorithmes ne fonctionnent pas pour les données catégorielles, et vous devrez alors convertir toutes les colonnes catégorielles en variables quantitatives (elles peuvent paraître quantitatives, mais les métriques montreront qu'elles sont catégorielles) pour les ajouter au modèle. Ainsi, le nombre de variables augmente, et il y en a environ 500. Que faire maintenant ? On pourrait penser que la réponse serait de réduire la dimensionnalité. Les algorithmes de réduction de dimensionnalité réduisent le nombre de paramètres mais ont un impact négatif sur l'interprétabilité. Et s’il existait d’autres techniques qui éliminent des fonctionnalités tout en rendant les autres faciles à comprendre et à interpréter ?

Selon que l'analyse est basée sur la régression ou la classification, les algorithmes de sélection des fonctionnalités peuvent différer, mais l'idée principale de leur mise en œuvre reste la même.

Variables hautement corrélées

Les variables fortement corrélées les unes aux autres fournissent les mêmes informations au modèle, il n'est donc pas nécessaire de toutes les utiliser pour l'analyse. Par exemple, si un ensemble de données contient les fonctionnalités « Temps de connexion » et « Trafic utilisé », nous pouvons supposer qu'elles seront quelque peu corrélées, et nous verrons une forte corrélation même si nous sélectionnons un échantillon de données impartial. Dans ce cas, une seule de ces variables est nécessaire dans le modèle. Si vous utilisez les deux, le modèle sera surajusté et orienté vers une fonctionnalité particulière.

Valeurs P

Dans des algorithmes comme la régression linéaire, un modèle statistique initial est toujours une bonne idée. Cela permet de montrer l'importance des caractéristiques à travers leurs valeurs p obtenues par ce modèle. Après avoir défini le niveau de signification, nous vérifions les valeurs p résultantes, et si une valeur est inférieure au niveau de signification spécifié, alors cette caractéristique est déclarée significative, c'est-à-dire qu'une modification de sa valeur entraînera probablement une modification de la valeur de la cible.

Sélection directe

La sélection directe est une technique qui consiste à appliquer une régression pas à pas. La construction du modèle commence par un zéro complet, c'est-à-dire un modèle vide, puis chaque itération ajoute une variable qui apporte une amélioration au modèle en cours de construction. La variable ajoutée au modèle est déterminée par sa signification. Cela peut être calculé à l’aide de diverses mesures. La méthode la plus courante consiste à utiliser les valeurs p obtenues dans le modèle statistique d'origine en utilisant toutes les variables. Parfois, la sélection avancée peut conduire à un surajustement d'un modèle car il peut contenir des variables hautement corrélées dans le modèle, même si elles fournissent les mêmes informations au modèle (mais le modèle montre toujours une amélioration).

Sélection inversée

La sélection inversée implique également l’élimination progressive de traits, mais dans le sens opposé à la sélection directe. Dans ce cas, le modèle initial inclut toutes les variables indépendantes. Les variables sont ensuite éliminées (une par itération) si elles ne contribuent pas à la valeur du nouveau modèle de régression à chaque itération. L'exclusion de fonctionnalités est basée sur les valeurs p du modèle initial. Cette méthode comporte également une incertitude lors de la suppression des variables hautement corrélées.

Élimination de fonctionnalités récursives

RFE est une technique/algorithme largement utilisé pour sélectionner le nombre exact de fonctionnalités significatives. Parfois, la méthode est utilisée pour expliquer un certain nombre de caractéristiques « les plus importantes » qui influencent les résultats ; et parfois pour réduire un très grand nombre de variables (environ 200 à 400), et seules celles qui apportent au moins une certaine contribution au modèle sont retenues, et toutes les autres sont exclues. RFE utilise un système de classement. Les fonctionnalités de l'ensemble de données se voient attribuer des rangs. Ces classements sont ensuite utilisés pour éliminer de manière récursive des fonctionnalités en fonction de la colinéarité entre elles et de l'importance de ces fonctionnalités dans le modèle. En plus de classer les fonctionnalités, RFE peut montrer si ces fonctionnalités sont importantes ou non, même pour un nombre donné de fonctionnalités (car il est très probable que le nombre de fonctionnalités sélectionné ne soit pas optimal, et le nombre optimal de fonctionnalités peut être soit plus ou inférieur au nombre sélectionné).

Diagramme d'importance des fonctionnalités

Lorsqu'on parle de l'interprétabilité des algorithmes d'apprentissage automatique, nous discutons généralement des régressions linéaires (qui permettent d'analyser l'importance des caractéristiques à l'aide de valeurs p) et des arbres de décision (montrant littéralement l'importance des caractéristiques sous la forme d'un arbre, et au en même temps leur hiérarchie). D'un autre côté, des algorithmes tels que Random Forest, LightGBM et XG Boost utilisent souvent un diagramme d'importance des caractéristiques, c'est-à-dire qu'un diagramme de variables et « leurs numéros d'importance » sont tracés. Ceci est particulièrement utile lorsque vous devez fournir une justification structurée de l’importance des attributs en termes de leur impact sur l’entreprise.

Régularisation

La régularisation est effectuée pour contrôler l'équilibre entre biais et variance. Le biais montre à quel point le modèle a été surajusté sur l'ensemble de données d'entraînement. L'écart montre à quel point les prédictions étaient différentes entre les ensembles de données d'entraînement et de test. Idéalement, le biais et la variance devraient être faibles. C’est là que la régularisation vient à la rescousse ! Il existe deux techniques principales :

Régularisation L1 - Lasso : Lasso pénalise les poids du modèle pour modifier leur importance pour le modèle et peut même les annuler (c'est-à-dire supprimer ces variables du modèle final). En règle générale, Lasso est utilisé lorsqu'un ensemble de données contient un grand nombre de variables et que vous souhaitez en exclure certaines pour mieux comprendre comment les fonctionnalités importantes affectent le modèle (c'est-à-dire les fonctionnalités qui ont été sélectionnées par Lasso et auxquelles une importance a été attribuée).

Régularisation L2 - Méthode Ridge : le travail de Ridge est de stocker toutes les variables et en même temps de leur attribuer une importance en fonction de leur contribution aux performances du modèle. Ridge sera un bon choix si l'ensemble de données contient un petit nombre de variables et que toutes sont nécessaires pour interpréter les découvertes et les résultats obtenus.

Étant donné que Ridge conserve toutes les variables et que Lasso parvient mieux à établir leur importance, un algorithme a été développé qui combine les meilleures caractéristiques des deux régularisations, connu sous le nom d'Elastic-Net.

Il existe de nombreuses autres façons de sélectionner des fonctionnalités pour l'apprentissage automatique, mais l'idée principale est toujours la même : démontrer l'importance des variables, puis en éliminer certaines en fonction de l'importance qui en résulte. L'importance est un terme très subjectif, car il ne s'agit pas d'un seul, mais de tout un ensemble de mesures et de graphiques qui peuvent être utilisés pour trouver des attributs clés.

Merci pour la lecture! Bon apprentissage!

Source: habr.com

Ajouter un commentaire