Comprendre les paramètres de la fonction de la base gaussienne à utiliser dans la régression linéaire

12

Je voudrais appliquer la fonction de base gaussienne dans une implémentation de régression linéaire. Malheureusement, j'ai du mal à comprendre quelques paramètres dans la fonction de base. Plus précisément et .σμσ

Mon ensemble de données est une matrice de 10 000 x 31. 10 000 échantillons et 31 fonctionnalités. J'ai lu que "chaque fonction de base convertit le vecteur d'entrée x en une valeur scalaire". Je suppose donc que x est 1 échantillon donc un vecteur 1 x 31. De là, je suis confus. Quel est exactement le paramètre ? J'ai lu que cela régit les emplacements des fonctions de base. N'est-ce pas là la moyenne de quelque chose? Je suis également ébranlé par l'indice j ( et ), cela me fait penser à la jème ligne. Mais cela ne semble pas logique. Le un vecteur? Maintenant pour le μ ϕ μ j σμjμϕμjσqui "régit l'échelle spatiale". Qu'est-ce que c'est exactement? J'ai vu des implémentations qui essaient des valeurs telles que .1, .5, 2.5 pour ce paramètre. Comment ces valeurs sont-elles calculées? J'ai fait des recherches et recherché des exemples pour apprendre, mais pour l'instant je n'ai pas pu en trouver. Toute aide ou direction est grandement appréciée! Je vous remercie.

user2743
la source

Réponses:

11

Comme vous êtes confus, permettez-moi de commencer par énoncer le problème et répondre à vos questions une par une. Vous avez une taille d'échantillon de 10 000 et chaque échantillon est décrit par un vecteur d'entité . Si vous souhaitez effectuer une régression en utilisant des fonctions de base radiales gaussiennes, recherchez une fonction de la forme où les sont vos fonctions de base. Plus précisément, vous devez trouver les poids pour que pour les paramètres donnés et vous minimisez l'erreur entre et la prédiction correspondante = f ( x ) = Σ j w j * g j ( x , μ j , σ j ) , j = 1 .. m g i m w j μ j σ j y y f ( x )xR31

f(x)=jwjgj(x;μj,σj),j=1..m
gimwjμjσjyy^f(x^) - généralement, vous minimiserez l'erreur des moindres carrés.

Quel est exactement le paramètre Mu indice j?

Vous devez trouver fonctions de base . (Vous devez encore déterminer le nombre ) Chaque fonction de base aura un et un (également inconnu). L'indice varie de à .g j m μ j σ j j 1 mmgjmμjσjj1m

Le un vecteur?μj

Oui, c'est un point dans . En d'autres termes, il s'agit d'un point quelque part dans votre espace d'entités et un doit être déterminé pour chacune des fonctions de base. μmR31μm

J'ai lu que cela régit les emplacements des fonctions de base. N'est-ce pas là la moyenne de quelque chose?

La fonction de base est centrée sur . Vous devrez décider de l'emplacement de ces emplacements. Donc non, ce n'est pas nécessairement la moyenne de quoi que ce soit (mais voir plus bas pour savoir comment le déterminer) μ jjthμj

Passons maintenant au sigma qui "régit l'échelle spatiale". Qu'est-ce que c'est exactement?

σ est plus facile à comprendre si nous nous tournons vers les fonctions de base elles-mêmes.

Cela aide à penser aux fonctions de base radiales gaussiennes dans les dimensons inférieurs, par exemple ou . Dans la fonction de base radiale gaussienne n'est que la courbe en cloche bien connue. La cloche peut bien entendu être étroite ou large. La largeur est déterminée par - plus le est grand, plus la forme de la cloche est étroite. En d'autres termes, échelle la largeur de la forme de la cloche. Donc, pour = 1, nous n'avons pas de mise à l'échelle. Pour les grands nous avons une mise à l'échelle substantielle.R 2 R 1 σσσσσR1R2R1σσσσσ

Vous pouvez demander quel est le but de ceci. Si vous pensez à la cloche couvrant une partie de l'espace (une ligne dans ) - une cloche étroite ne couvrira qu'une petite partie de la ligne *. Les points proches du centre de la cloche auront une plus grande valeur . Les points éloignés du centre auront une valeur plus petite . La mise à l'échelle a pour effet de pousser les points plus loin du centre - car la cloche se rétrécit les points seront situés plus loin du centre - réduisant la valeur de x g j (x) g j (x) g j (x)R1xgj(x)gj(x)gj(x)

Chaque fonction de base convertit le vecteur d'entrée x en une valeur scalaire

Oui, vous évaluez les fonctions de base à un moment donné .xR31

exp(xμj222σj2)

Vous obtenez un scalaire en conséquence. Le résultat scalaire dépend de la distance du point au centre donné paret le scalaire .μ jx - μ jσ jxμjxμjσj

J'ai vu des implémentations qui essaient des valeurs telles que .1, .5, 2.5 pour ce paramètre. Comment ces valeurs sont-elles calculées?

C'est bien sûr l'un des aspects intéressants et difficiles de l'utilisation des fonctions de base radiales gaussiennes. si vous effectuez une recherche sur le Web, vous trouverez de nombreuses suggestions sur la façon dont ces paramètres sont déterminés. Je vais décrire en termes très simples une possibilité basée sur le clustering. Vous pouvez trouver ceci et plusieurs autres suggestions en ligne.

Commencez par regrouper vos 10000 échantillons (vous pouvez d'abord utiliser PCA pour réduire les dimensions, suivi du regroupement k-Means). Vous pouvez laisser le nombre de clusters que vous trouvez (en utilisant généralement la validation croisée pour déterminer le meilleur ). Maintenant, créez une fonction de base radiale pour chaque cluster. Pour chaque fonction de base radiale, soit le centre (par exemple la moyenne, le centroïde, etc.) de l'amas. Laissons refléter la largeur du cluster (par exemple rayon ...) Maintenant allez-y et effectuez votre régression (cette description simple n'est qu'un aperçu - elle a besoin de beaucoup de travail à chaque étape!)m g j μ j σ jmmgjμjσj

* Bien sûr, la courbe en cloche est définie de - à donc aura une valeur partout sur la ligne. Cependant, les valeurs loin du centre sont négligeables

martino
la source
Bonne réponse! Cependant, en recherchant , ne terminons-nous pas avec la régression des machines à vecteurs de support (avec le noyau gaussien)? μ
O_Devinyak
@ O_Devinyak - De nombreuses méthodes d'expansion de base nécessitent une sorte d'estimation des paramètres. Il existe de nombreuses façons de trouver donc je ne pense pas que cela signifie nécessairement que nous réduisons le problème à SVR. Pour être honnête, je ne suis pas un expert en SVR, mais la fonction de perte qui est minimisée est certainement différente et je suis sûr que de nombreuses fonctionnalités sont ignorées - c'est la méthode du vecteur de support. Avec les fonctions de base, nous utilisons toutes les fonctions pour l'évaluation, mais heureusement, le support compact signifie que la plupart des fonctions de base renvoient des valeurs négligeables ou nulles. Quoi qu'il en soit, cela ferait une bonne question sur ce forumμ
martino
Pourquoi avons-nous besoin d'une échelle plutôt que d'une matrice de covariance qui ferait que la fonction de base ressemble à la partie exponentielle d'une gaussienne multivariée? σj
stackunderflow
1

Permettez-moi d'essayer de donner une explication simple. Dans une telle notation, peut être un numéro de ligne mais peut également être un numéro d'entité. Si nous écrivons alors désigne le numéro de caractéristique, est le vecteur de colonne, est scalaire et est une colonne -vecteur. Si nous écrivons alors désigne le numéro de ligne, est scalaire, est vecteur de colonne et est un vecteur de ligne. La notation où désigne la ligne et indique la colonne est plus courante, alors utilisons la première variante.y = β 0 + j = 1 : 31 β j ϕ j ( x )jy=β0+j=1:31βjϕj(x)jyβjϕj(x)yj=βϕj(x)jyjβϕj(x)ij

En introduisant la fonction de base gaussienne dans la régression linéaire, (scalaire) ne dépend plus maintenant des valeurs numériques des entités (vecteur), mais des distances entre et le centre de tous les autres points . De cette manière, ne dépend pas de la valeur élevée ou petite de la ème caractéristique de la ème observation, mais dépend si la ème valeur de la caractéristique est proche ou éloignée de la moyenne pour cette caractéristique . Donc n'est pas un paramètre, car il ne peut pas être réglé. C'est juste une propriété d'un ensemble de données. Le paramètrex i x i μ i y i j i j j μ i j μ jyixixiμiyijijjμijμj y y σ 2σ2est une valeur scalaire, elle contrôle la fluidité et peut être réglée. S'il est petit, les petits changements de distance auront un effet important (rappelez-vous gaussien raide: tous les points situés déjà à petite distance du centre ont de minuscules valeurs ). S'il est grand, les petits changements de distance auront un faible effet (rappelez-vous le gaussien plat: la diminution de avec l'augmentation de la distance du centre est lente). La valeur optimale de doit être recherchée (elle est généralement trouvée avec une validation croisée).yyσ2

O_Devinyak
la source
0

Les fonctions de base gaussiennes dans les paramètres multivariés ont des centres multivariés. En supposant que votre , puis également. La gaussienne doit être multivariée, c'est-à-dire que où est une matrice de covariance. L'indice n'est pas une composante d'un vecteur, c'est juste le ème vecteur. De même, est la ème matrice. μ jR 31 e ( x - μ j ) ' Σ - 1 j ( x - μ j ) Σ jR 31 × 31 j j Σ j jxR31μjR31e(xμj)Σj1(xμj)ΣjR31×31jjΣjj

Karel Macek
la source