Dans l'apprentissage supervisé, pourquoi est-il mauvais d'avoir des fonctionnalités corrélées?

35

J'ai lu quelque part que si nous avons des caractéristiques trop corrélées, nous devons en supprimer une, car cela pourrait aggraver le modèle. Il est clair que les entités corrélées signifient qu’elles apportent la même information. Il est donc logique de supprimer l’une d’elles. Mais je ne peux pas comprendre pourquoi cela peut aggraver le modèle.

Araignée
la source
3
Cette règle s’applique plus fortement dans certains modèles et analyses que d’autres. Toute chance que vous puissiez ajouter un contexte à "je lis quelque part" - par exemple, était-ce une relation avec la formation d'un modèle spécifique?
Neil Slater
3
Les caractéristiques corrélées n'empireront pas nécessairement un modèle. Supprimer les entités corrélées aide à en déduire le sens.
Hobbes

Réponses:

31

Les caractéristiques corrélées en général n'améliorent pas les modèles (bien que cela dépende des spécificités du problème, telles que le nombre de variables et le degré de corrélation), mais elles affectent des modèles spécifiques de différentes manières et à des degrés divers:

  1. Pour les modèles linéaires (p. Ex. Régression linéaire ou régression logistique), la multicolinéarité peut donner des solutions extrêmement variables et éventuellement instables sur le plan numérique .

  2. Les forêts aléatoires peuvent être efficaces pour détecter les interactions entre différentes caractéristiques, mais des entités hautement corrélées peuvent masquer ces interactions.

Plus généralement, cela peut être considéré comme un cas particulier du rasoir d'Occam . Un modèle plus simple est préférable et, dans un certain sens, un modèle avec moins de fonctionnalités est plus simple. Le concept de longueur de description minimale le rend plus précis.

Ami Tavory
la source
4
La stabilité numérique mise à part, la prédiction donnée par le modèle MLS ne devrait pas être affectée par la multicolinéarité, car l’effet global des variables prédictives n’est pas affecté par la présence de la multicolinéarité. C'est une interprétation de l'effet de variables de prédicteurs individuelles qui ne sont pas fiables lorsque la multicolinéarité est présente.
Akavall
11

(En supposant que vous parlez d'apprentissage supervisé)

Les fonctionnalités corrélées n'aggravent pas toujours votre modèle, mais ne l'améliorent pas toujours non plus.

Vous souhaitez supprimer les fonctionnalités corrélées pour trois raisons principales:

  • Rendre l'algorithme d'apprentissage plus rapide

En raison de la malédiction de la dimensionnalité, moins de caractéristiques signifie généralement une amélioration importante en termes de vitesse.

Si la rapidité n’est pas un problème, ne supprimez peut-être pas ces fonctionnalités immédiatement (voir point suivant).

  • Diminuer les biais nuisibles

Le mot clé étant nuisible. Si vous avez des entités corrélées mais qu'elles sont également corrélées à la cible, vous souhaitez les conserver. Vous pouvez voir les caractéristiques comme des indices pour bien deviner. Si vous avez deux astuces qui sont essentiellement les mêmes, mais ce sont de bonnes astuces, il peut être judicieux de les conserver.

Certains algorithmes comme Naive Bayes bénéficient en réalité directement de fonctionnalités corrélées "positives". Et d'autres, comme les forêts aléatoires, peuvent en bénéficier indirectement.

Imaginez que vous avez 3 caractéristiques A, B et C. A et B sont fortement corrélés à la cible et les uns aux autres, et C ne l’est pas du tout. Si vous échantillonnez parmi les 3 fonctionnalités, vous avez 2/3 chances d’obtenir une "bonne" fonctionnalité, tandis que si vous supprimez B par exemple, cette chance tombe à 1/2.

Bien sûr, si les caractéristiques corrélées ne sont pas super informatives en premier lieu, l'algorithme risque de ne pas trop en souffrir.

Donc, pour des raisons morales, il peut être nécessaire de supprimer ces fonctionnalités en raison de la rapidité, mais souvenez-vous que vous pourriez aggraver votre algorithme au cours du processus. De plus, certains algorithmes, tels que les arbres de décision, comportent une sélection de caractéristiques.

Un bon moyen de résoudre ce problème consiste à utiliser une méthode d'encapsulation pour la sélection des fonctionnalités. Les fonctionnalités redondantes ne seront supprimées que si elles ne contribuent pas directement à la performance. S'ils sont utiles, comme chez les naïfs bayes, ils seront conservés. (N'oubliez pas que les méthodes d'emballage sont coûteuses et peuvent entraîner un surajustement)

  • Interprétabilité de votre modèle

Si votre modèle doit être interprétable, vous serez peut-être obligé de le simplifier. Assurez-vous également de vous souvenir du rasoir d'Occam. Si votre modèle n'empire pas trop avec moins de fonctionnalités, vous devriez probablement en utiliser moins.

Valentin Calomme
la source
2

Parfois, des caractéristiques corrélées - et la duplication d'informations fournie - ne nuisent pas à un système prédictif. Considérons un ensemble d’arbres de décision, chacun d’entre eux prenant en compte un échantillon de lignes et un échantillon de colonnes. Si deux colonnes sont fortement corrélées, il est possible que l'une d'elles ne soit pas sélectionnée dans l'échantillon de colonne d'un arbre particulier, et cet arbre dépendra de la colonne restante. Les fonctions corrélées signifient que vous pouvez réduire le surajustement (par échantillonnage sur colonne) sans perdre trop de qualité prédictive.

Dan Jarratt
la source
2

Prendre une décision devrait être fait sur le minimum de variables nécessaires pour le faire. Comme mentionné ci-dessus, il s'agit de la formalisation du rasoir d'Occam avec la longueur de description minimale ci-dessus. J'aime celui-là.

J'aurais tendance à caractériser ce phénomène dans quelque chose comme un HDDT comme signifiant l'arbre le plus efficace qui ne prend aucune décision fausse sur la base des données disponibles et évitant tous les cas de décisions qui auraient autrement été prises sur plusieurs points de données sans comprendre qu'ils étaient corrélés. .

tjborrome
la source
En ce qui concerne datascience.stackexchange.com/users/38887/valentin-calomme commentaire: « caractéristiques Corrélés ne seront pas toujours aggraver votre modèle, mais ils amélioreront pas toujours non plus . » Je ne vois pas ou ne vois pas en quoi une forte corrélation entre les variables ne fait pas qu'empirer votre modèle. Au moins dans le sens où, étant donné le choix: je préfère former un réseau avec des fonctionnalités moins corrélées. Tout ce qui est autre que celui-ci est fonctionnellement et manifestement pire. Y a-t-il des cas où ce n'est pas vrai?
tjborromeo
1

Dans la perspective de stocker des données dans des bases de données, stocker des entités corrélées est en quelque sorte similaire à stocker des informations redondantes, ce qui peut entraîner un gaspillage de stockage et des données incohérentes après la mise à jour ou la modification de n-uplets.

Si nous ajoutons autant d’entités corrélées au modèle, nous pourrions faire en sorte que le modèle prenne en compte des entités inutiles et nous pourrions avoir un problème de grande dimensionnalité , j’imagine que c’est la raison de l’aggravation du modèle construit.

Dans le contexte de l'apprentissage automatique, nous utilisons habituellement PCApour réduire la dimension des modèles d'entrée. Cette approche considère l’élimination des fonctionnalités corrélées de quelque manière (en utilisant SVD) et constitue une approche non supervisée. Ceci est fait pour atteindre les objectifs suivants:

Bien que cela puisse sembler inacceptable, j'ai déjà vu des personnes utiliser la suppression des fonctionnalités corrélées pour éviter les surajustements, mais je ne pense pas que ce soit une bonne pratique. Pour plus d'informations, je vous recommande fortement de voir ici .

Une autre raison est que dans les modèles d'apprentissage en profondeur, comme MLPssi vous ajoutez des fonctionnalités corrélées, vous ajoutez simplement des informations inutiles qui ajoutent plus de calculs et de paramètres au modèle.

Médias
la source
0

La réponse à cette question dépend grandement de l'objectif du modèle. En inférence, les caractéristiques hautement corrélées sont un problème bien connu. Par exemple, deux entités fortement corrélées entre elles et avec y pourraient apparaître comme insignifiantes dans un modèle d'inférence, manquant potentiellement un signal explicatif important. Par conséquent, dans l’inférence, il est généralement recommandé de les éclaircir.

Si votre apprentissage supervisé est destiné à la prédiction, la réponse - contrairement à la sagesse conventionnelle - est généralement le contraire. Les problèmes de stockage et de rapidité constituent la seule raison de supprimer les fonctionnalités hautement corrélées. En dehors de cela, ce qui compte dans les fonctionnalités, c'est de savoir si elles contribuent à la prédiction et si la qualité de leurs données est suffisante.

Les caractéristiques dominées par le bruit auront tendance à être moins corrélées à d'autres caractéristiques que les caractéristiques corrélées à y. Ainsi, comme mentionné plus haut dans l'exemple de Valentin, réduire le nombre de ces derniers augmentera la proportion de ceux-ci.

En particulier, des méthodes telles que les forêts aléatoires et KNN traitent toutes les fonctionnalités de la même manière. Par conséquent, le fait de fluidifier les entités corrélées réduit directement leur rapport signal sur bruit.

Les méthodes qui sélectionnent automatiquement des fonctionnalités telles que des arbres simples, du lasso "pur" ou des réseaux de neurones peuvent être moins affectées. Mais même dans ce cas, mis à part le temps de calcul plus long, il n’ya pratiquement rien à perdre en matière de prédiction en conservant les caractéristiques corrélées dans le mix.

Assaf
la source