J'ai déjà une idée des avantages et des inconvénients de la régression des crêtes et du LASSO.
Pour le LASSO, le terme de pénalité L1 donnera un vecteur de coefficient clairsemé, qui peut être considéré comme une méthode de sélection de caractéristiques. Cependant, il existe certaines limitations pour le LASSO. Si les caractéristiques ont une corrélation élevée, le LASSO ne sélectionnera qu'une seule d'entre elles. De plus, pour les problèmes où > , le LASSO sélectionnera au plus paramètres ( et sont respectivement le nombre d'observations et de paramètres). Celles-ci font du LASSO empiriquement une méthode sous-optimale en termes de prévisibilité par rapport à la régression de crête.n n n p
Pour la régression de crête, il offre une meilleure prévisibilité en général. Cependant, son interprétabilité n'est pas aussi agréable que le LASSO.
L'explication ci-dessus se trouve souvent dans les manuels d'apprentissage automatique / d'exploration de données. Cependant, je suis toujours confus à propos de deux choses:
Si nous normalisons la plage de caractéristiques (disons entre 0 et 1, ou avec une moyenne et une variance d'unité nul) et exécutons une régression de crête, nous pouvons toujours avoir une idée de l'importance des caractéristiques en triant les valeurs absolues des coefficients (la caractéristique la plus importante a la valeur absolue la plus élevée des coefficients). Bien que nous ne sélectionnions pas les fonctionnalités de manière explicite, l'interprétabilité n'est pas perdue à l'aide de la régression de crête. Dans le même temps, nous pouvons toujours atteindre une puissance de prédiction élevée. Alors pourquoi avons-nous besoin du LASSO? Est-ce que j'ai râté quelque chose?
Le LASSO est-il préféré en raison de sa nature de sélection des fonctionnalités? À ma connaissance, les raisons pour lesquelles nous avons besoin de la sélection des fonctionnalités sont la capacité de généraliser et la facilité de calcul.
Pour faciliter le calcul, nous ne voulons pas intégrer les 1 million de fonctionnalités dans notre modèle si nous effectuons des tâches PNL, nous supprimons donc d'abord certaines fonctionnalités évidemment inutiles pour réduire le coût de calcul. Cependant, pour le LASSO, nous ne pouvons connaître le résultat de la sélection des caractéristiques (le vecteur clairsemé) qu'après avoir alimenté toutes les données dans notre modèle, nous ne bénéficions donc pas du LASSO en termes de réduction des coûts de calcul. Nous ne pouvons que faire des prévisions un peu plus rapidement, car maintenant nous n'introduisons que le sous-ensemble de fonctionnalités (disons 500 sur 1 million) dans notre modèle pour générer des résultats prédits.
Si le LASSO est préféré pour sa capacité à généraliser, nous pouvons également atteindre le même objectif en utilisant la régression de crête (ou tout autre type de régularisation). Pourquoi avons-nous encore besoin de LASSO (ou de filets élastiques)? Pourquoi ne pouvons-nous pas simplement nous en tenir à la régression des crêtes?
Quelqu'un pourrait-il s'il vous plaît jeter des lumières là-dessus? Merci!