[問題]請問下面的matlab應用在倒傳遞類神經網路的程式~~

第一個程式
function y=f( p )
[m,n]=size ( p );
for j=1:n
y(1,j)=2*p(1,j)^2+0.25*p(2,j)^2;
end

第二個程式
clear all;
a1=-2+4*rand(2,400);
a2=-2+4*rand(2,200);
a3=-2+4*rand(2,100);

b1=f(a1);
b2=f(a2);
b3=f(a3);

這是用matlab隨機產生700組(x,y)資料,函數是f(x,y)=2x^2+0.25*y^2
要訓練資料400組..驗證資料200組..測試的100組...
第二個程式中4*rand(2,400)為何要用4去乘~~請問可以用別的數字嗎??
第一個程式迴圈那邊就看不太懂了~~
可以請有學過的大大解釋一下嗎??謝謝囉
2006-11-13 23:57 發佈
我稍微看一下 有錯請指正


第一個迴圈是一個矩陣
m只有等於1或2
m=1 裡所有的n 值 代表的是x值

m=2 裡所有的n值 代表的是 y值
我猜你的n至少要有29組數值



rand 是random 函數

rand(2,400) 範圍由 2 到400
前面乘4 就代表從8 到1600
4可以用別的數字代替 就看你要的範圍

菜頭是什麼 能吃嗎?
daKKK wrote:
我稍微看一下 有錯...(恕刪)


我很久沒用matlab了,憑印象解釋

第二個才是你的主程式
a1 = 2 by 400 matrix
rand(m,n) 回傳 m by n matrix, 每個都是Uniformly distributed pseudorandom numbers

-2 及 4 是用來改變 mean 及 variance
這數字不是隨便取的, 基本上你的公式用什麼套進算出理論值,這邊就用一樣的值

第一個程式
回傳的y 是 1xn row vector
也就是 b1 = 1x400, b2 = 1x 200, b3 = 1x100

y(1)=2*p(1,1)的平方+0.25*p(2,1)的平方
y(2)=2*p(1,2)的平方+0.25*p(2,2)的平方
.
.
.
y( n )=2*p(1,n)的平方+0.25*p(2,n)的平方
如果我沒記錯 這邊一行就行了(這是MATLAB 為什麼叫MATLAB)
y=(p.^2)'*[2 0.25]'

整個程式應該
clear all;
a1=-2+4*rand(2,400);
a2=-2+4*rand(2,200);
a3=-2+4*rand(2,100);

b1=(a1.^2)'*[2 0.25]';
b2=(a2.^2)'*[2 0.25]';
b3=(a3.^2)'*[2 0.25]';

另外... 打一下 help 這些都查的到
哇塞,01還可以問倒傳遞!!!而且還真有解答…。那個GOOGLE都沒有這麼神說…
我也嚇到了~

還以為是同學來問seminar相關的~
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?