【问题标题】:RBF and pseudoinverse XORRBF 和伪逆 XOR
【发布时间】:2012-03-08 02:37:58
【问题描述】:

我试图理解的问题很简单,但我似乎无法在 matlab 中得到正确的结果。实际问题是我想仅使用普通距离作为函数来获得 2 个隐藏层输入 RBF 的权重向量,即没有贝叶斯或高斯函数作为我的 φ。我将使用具有 2 个中心的函数,比如 0,0 和 1,1。所以这会给我一个矩阵φ:

[0 sqrt(2) ; 1 1; 1 1; sqrt(2) 0] *[w1; w2] = [0;1;1;0] 正如我的 XOR 函数所定义的那样。

当我在 matlab * [0;1;1;0] 中应用 Φ 的伪逆时,虽然我得到 [0.33 ; 0.33] 这不是正确的值,它可以让我获得正确的输出值 [0;1;1;0]。

即.33 * sqrt(2) != 0 。

有人可以向我解释为什么会这样吗?

【问题讨论】:

    标签: matlab neural-network xor


    【解决方案1】:

    我会对此采取行动。矩阵,我将调用AA = [0 sqrt(2) ; 1 1; 1 1; sqrt(2) 0] 具有完整的列秩,但不是完整的行秩,即rank(A) = 2。然后你基本上解决了系统Ax = b,其中x 是你的权重向量。你也可以在 Matlab 中做x = A\b,这应该是一个更准确的答案。我得到和你一样的答案。这是一个很粗略的解释,当你的系统不能求解某个解向量时,说明不存在可以求解Ax = b 的向量x。 Matlab 所做的是尝试估计尽可能接近的答案。我猜你使用了pinv,如果你看一下 Matlab 的帮助,它会说:

    如果 A 的行多于列并且不是满秩的,则超定最小二乘问题

    minimize norm(A*x-b)
    

    没有唯一的解决方案。无穷多个解中的两个是

    x = pinv(A)*b 
    

    y = A\b 
    

    所以,这似乎是您的问题。如果可能的话,我建议您查看您的 φ 矩阵,以提出更强大的系统。希望这有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-23
      • 1970-01-01
      相关资源
      最近更新 更多