簡體   English   中英

RBF和偽逆異或

[英]RBF and pseudoinverse XOR

我試圖理解的問題很容易,但我似乎無法在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。

有人可以向我解釋為什么會這樣嗎?

我會為此贓物。 矩陣,我稱AA = [0 sqrt(2) ; 1 1; 1 1; sqrt(2) 0] A = [0 sqrt(2) ; 1 1; 1 1; sqrt(2) 0] A = [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 

因此,這似乎是您的問題。 如果可能,我建議您查看φ矩陣,以提供一個更強大的系統。 希望這是有用的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM