RBF神经网络

【参数】RBF神经网络-spread参数的设置方法

作者 : 老饼 发表日期 : 2023-01-18 19:32:32 更新日期 : 2024-12-11 04:40:44
本站原创文章,转载请说明来自《老饼讲解-BP神经网络》www.bbbdata.com



在RBF神经网络建模时,spread参数不仅影响RBF神经网络的泛化能力,还影响了径向基的使用个数

本文讲解RBF神经网络中,spread参数设置的理论指导、公式,以及一些设置的经验与方法

通过本文,可以了解在RBF神经网络建模时,应该如何设置、调整spread参数,以及spread参数常见的取值





    01. RBF神经网络的spread参数设置方法   




本节讲述RBF神经网络中spread的指导性设置方法




     spread设置的理论指导    


spread 控制着径向基的宽度,是RBF神经网络拟合效果的关键参数
在设置spread时,没有十分明确的参数设定方法,但是有一些指导性方法
     spread设置的理论指导    
由于spread代表径向基的主要覆盖范围,
在RBF个数固定的情况下,输入范围越大,则每个RBF需要覆盖的范围就越大
 因此,spread大小的量级可以参考输入范围来确定,如下:
1. 输入范围的量级越大,spread就越大       
2. 输入范围的量级越小,spread就越小       

同时,当RBF的宽度越小时,它对曲线的处理越就"局部"、越细节
不管RBF有多少个,当要拟合很局部的细节时,就需要使用宽度较小的RBF
 因此,spread的大小需要参考拟合目标是否复杂,如下:
1. 越复杂的拟合目标使用越小的spread       
2. 越平滑的拟合目标使用越大的spread       
 spread设置的公式指导   
目前没有找到适用于newrb的spread公式
 以下是笔者自用的公式:
      
 
 其中, :样本的个数             
 
:变量个数       
             
:第i个变量的输入范围长度    
       公式的推导详见《RBF神经网络-spread参数公式》





     spread设置的经验指导    


 spread设置的经验指导   
matlab中spread的默认值是1,这是一个通常较为合适的值
此外,还可以适应地尝试0.1,0.25,0.5,0.75,1,2,100
这些值都是比较有代表性的
需要注意的是,上述经验值比较适用的以下两种场景:
1. 输入数据范围在[-1,1]之间                  
2. 样本之间的间隔在[-1,1]之间               
如果样本的输入范围(或间隔范围)远远偏离[-1,1],则需要对应比例地缩放spread
 如果不注意输入范围,而直接采用matlab的默认值1,往往会吃大亏
 极大spread的意义
 在上述经验推荐中,除了尝试0.5左右的值,还加入了一个极大值100
这是为什么呢?这主要是为了尝试极大spread的效果
在一些案例中,使用极大的spread往往能取得不错的效果
 
spread极大的时候,RBF神经网络会被迫变得非常平滑,
使用极大spread就相当于告诉RBF神经网络,一定要让网络非常平滑
在一些案例中往往左调右调spread都比不过一个极大spread,
所以,记得一定要加入极大值的尝试






好了,以上就是RBF神经网络中spread参数设置的一些方法了~








 End 




联系老饼