RBF神经网络

【介绍】RBF神经网络的spread参数是什么

作者 : 老饼 发表日期 : 2023-10-18 11:11:22 更新日期 : 2024-06-05 08:18:53
本站原创文章,转载请说明来自《老饼讲解-BP神经网络》www.bbbdata.com



spread参数是matlab的RBF神经网络中的一个核心参数,

本文讲解spread参数的意义与及它与RBF神经网络隐层阈值的关系



     01. RBF神经网络中的spread是什么    



本节讲解RBF神经网络的spread背后代表的意义



    spread参数说明    


在使用matlab的newrbnewrbe时,需要输入参数spread
 那么spread的背景意义是什么呢?
spread主要用来控制RBF神经网络的径向基宽度,
它的意义是当径向基函数的值为0.5时,离中心的距离
 spread的意义如下图所示:
 RBF神经网络Spread的意义 
 更直接的来说,就是当X与径向基中心的距离为spread时, 
径向基的值为峰值(峰值为1)的一半




  02. spread与隐层阈值b的关系  



本节讲解spread与隐层阈值之间的关系



    spead与隐层阈值的关系    


由径向基的数学表达式可知,
b(2)控制了径向基的宽度,所以spread实际就是用来间接设置b(2)的值
matlab的newrb和newrbe不让使用者直接设置b(2)
主要是考虑到b
(2)没有spread这么形象
spread不仅具体地代表径向基的腰间位置,
而且spread与径向基的宽度成正比,spread越大,径向基越宽

spread与b(2)的关系为:
    
公式在这里不再推导,但可以简单用以下代码简单验证一下
x      = [1,2,3];                        % 生成数据点x
y      = [4,5,6];                        % 生成数据点y
spread = 2;                              % 设置spread
net    = newrb(x, y,0,spread);           % 构建RBF网络
b2     = sqrt(-log(0.5))/spread;         % 用公式计算b2
disp(['用spread计算 b2:',num2str(b2)])   % 打印公式计算的b2
disp('工具箱计算的b2:')                  % 打印工具箱的b2
disp(net.b{1})
运行结果:
  
可以看到,用公式计算的b2与从matlab工具箱中提取出的隐层阈值b2是一致的





好了,上述入是matlab中newrb和newrbe中spread参数的意义了~






 End 




联系老饼