What is th difference between spread parameter in RBF and GRNN?

What is the difference of "Spread" parameter in GRNN and RBF neural network? Does it have any relationship with core RBF function in GRNN algorithm or not?

 Accepted Answer

No difference. It is the distance from the center of a Gaussian where te value is one-alf of the peak value
Hope this helps.
Greg

5 Comments

When we applied GRNN and RBF on a same set of data, their best spreads differ from each other. (GRNN spread is lower than RBF),
As we know, GRNN uses RBF function in the first layer. Therefore, I would like to ask you, what is the difference between spread parameter in RBF and GRNN? Why the best spreads differ from each other, while the same function was used on the same set of data?
There are no functions named GRNN and RBF. I assume you mean NEWGRNN and NEWRBE which are similar but, obviously, different.
Since they are different, why are you surprised at your results???
The next thing to do is to compare the documentation to find the find the differences:
help newgrnn vs help newrbe demonstates that they are different
X = [1 2 3];
T = [2.0 4.1 5.9];
net1 = newgrnn(X,T);
net2 = newrbe(X,T);
Y1 = net1(X) % [ 2.828 4.025 5.168 ]
Y2 = net2(X) % [ 2.0 4.1 5.9 ]
doc newgrnn vs doc newrbe qualitatively explains how they are
different
type newgrnn vs type newrbe quantitatively
demonstrates the code differences.
Bottom Line: The differences are neither caused by spread values or positions. They are caused by the differences in the weight estimation algorithm.
Hope this helps.
Greg
Dear greg heath. could you please explain how to use the newgrnn function for 5 features(inputs) and a single output... when i tried giving the inputs and outputs it showed me an error which was... Error using network/subsasgn>network_subsasgn (line 528) net.IW{1,1} must be a 1-by-2000 matrix.
Error in network/subsasgn (line 13) net = network_subsasgn(net,subscripts,v,netname);
Error in newgrnn>create_network (line 123) net.iw{1,1} = p';
Error in newgrnn (line 67) net = create_network(param);
1. Post your code
2. Run it on the data in the help and doc documentation
3. Create a 5-D input by adding small noise to 4 copies of the original
4. Run it on the 5-D input that you created.
Hope this helps.
Thank you for formally accepting my answer
Greg

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!