Базовая функция Гаусса - PullRequest
       21

Базовая функция Гаусса

1 голос
/ 28 октября 2010

Подскажите, пожалуйста, как я могу моделировать базисную функцию Гаусса в двумерном пространстве для получения скалярного вывода?

Я знаю, как применить это со скалярным входом, но я не понимаю, как применить его к двумерному векторному входу. Я видел много вариантов этого, что я запутался.

Ответы [ 2 ]

3 голосов
/ 28 октября 2010

С каждым гауссовым базисом связывают центр того же измерения, что и вход, давайте назовем его c. Если х является вашим вводом, вы можете вычислить вывод как

y = exp( - 0.5 * (x-c)'*(x-c) )

Это будет работать с любыми измерениями x и c, если они одинаковы. Более общая форма

y = sqrt(det(S)) * exp( - 0.5 * (x-c)'* S * (x-c) )

где S - некоторая положительно определенная матрица, ну и обратная ковариационная матрица. Простой случай - взять S в качестве диагональной матрицы с положительными элементами на диагонали.

0 голосов
/ 28 октября 2010

Для выборки из многомерного нормального распределения используйте функцию MVNRND из панели инструментов статистики.Пример:

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

alt text

...