你能告诉我如何在二维空间中对高斯基函数进行建模以获得标量输出吗?
我知道如何将其应用于标量输入,但我不明白如何将其应用于二维向量输入。我已经看到了许多让我感到困惑的变体。
每个高斯基都关联一个与输入相同维度的中心,我们称之为 c。如果 x 是您的输入,您可以将输出计算为
y = exp( - 0.5 * (x-c)'*(x-c) )
只要它们相同,这将适用于 x 和 c 的任何维度。更一般的形式是
y = sqrt(det(S)) * exp( - 0.5 * (x-c)'* S * (x-c) )
其中 S 是一些正定矩阵,以及逆协方差矩阵。一个简单的例子是把 S 当作对角线矩阵,对角线上有正项。
要从多元正态分布中采样,请使用 Statistics Toolbox 中的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