Gaussienne Fonction de base
Question
Pouvez-vous s'il vous plaît me dire comment puis-je modéliser une gaussienne fonction de base dans un espace de dimension 2 pour obtenir une sortie scalaire?
Je sais comment appliquer cela avec une entrée scalaire, mais je ne comprends pas comment dois-je appliquer à une entrée 2 vectoriel de dimension. Je l'ai vu de nombreuses variantes de ce que je suis confus.
La solution
Pour l'échantillon d'une distribution normale à plusieurs variables, utilisez le MVNRND fonction de la boîte à outils statistiques. Exemple:
MU = [2 3]; %# mean
COV = [1 1.5; 1.5 3]; %# covariance (can be isotropic/diagonal/full)
p = mvnrnd(MU, COV, 1000); %# sample 1000 2D points
plot(p(:,1), p(:,2), '.') %# plot them
Autres conseils
Avec chaque associé de base gaussienne un centre de la même dimension que l'entrée, permet par exemple c. Si x est votre entrée, vous pouvez calculer la sortie comme
y = exp( - 0.5 * (x-c)'*(x-c) )
Cela fonctionne avec une dimension de x et c, à condition que ce sont les mêmes. Une forme plus générale est
y = sqrt(det(S)) * exp( - 0.5 * (x-c)'* S * (x-c) )
où S est une certaine matrice définie positive, et la matrice inverse covariance. Un cas simple est de prendre S être une matrice diagonale avec des entrées positives sur les diagonales.