【问题标题】:Gaussian Basis Function高斯基函数
【发布时间】:2010-10-28 10:17:34
【问题描述】:

您能否告诉我如何在二维空间中对高斯基函数建模以获得标量输出?

我知道如何将其应用于标量输入,但我不明白如何将其应用于二维向量输入。我已经看到了许多让我感到困惑的变体。

【问题讨论】:

    标签: matlab gaussian


    【解决方案1】:

    每个高斯基都关联一个与输入相同维度的中心,我们称之为 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 当作对角线上有正项的对角矩阵。

    【讨论】:

    • 但是在二维情况下,我不应该也计算 det(S),其中 S 是 X 的协方差,或者我可以跳过它吗?
    • @Jack 对于二维情况,为了简单起见,我假设 S 是恒等式。你当然可以有一个 S 矩阵。请注意,我使用 S 作为协方差矩阵的逆矩阵,而不是协方差矩阵。如果您希望基函数的输出积分为 1,那么您需要另一个 1/(2 * pi) 乘法项。但是对于基函数,您通常不需要这样的约束。
    • @srean 具有 2D 输入和 1D 输出的多项式和 sigmoid 基函数怎么样?我发现很少有书谈论这些,但只有一维示例(例如 PRML p139),因为我只是进入线性基函数模型。
    【解决方案2】:

    要从多元正态分布中抽样,请使用统计工具箱中的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
    

    【讨论】:

      猜你喜欢
      • 2013-11-18
      • 2012-07-15
      • 1970-01-01
      • 1970-01-01
      • 2021-05-22
      • 2021-11-19
      • 2018-03-02
      • 2017-01-06
      • 1970-01-01
      相关资源
      最近更新 更多