RBF神经网络

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

作者 : 老饼 发表日期 : 2022-11-17 04:56:21 更新日期 : 2024-12-11 23:58:15
本站原创文章,转载请说明来自《老饼讲解-BP神经网络》www.bbbdata.com



在使用newrb构建RBF神经网络时,goal参数决定了RBF网络的最终误差与及径向基个数

本文讲解使用newrb建模时,设置goal参数的三种方案,并解释每种goal设置的理由与出发点

通过本文,可以了解RBF神经网络建模时,如何设置goal参数,以及这样设置会有什么样的效果






    01. RBF神经网络-goal的设置方案    




本节讲解用newrb构建RBF神经网络时,应该如何设置goal参数





      RBF神经网络-goal的设置方案      


在使用newrb函数来构建RBF神经网络时,goal参数决定了最终模型的训练误差和隐节点个数
 因为newrb的构建过程,就是以所有样本为中心生成隐节点,再逐个添加到RBF神经网络中,直到误差小于goal
 
 goal的设置方案
goal应该如何设置呢?不同场景有不同的方案
如果我们只想简单地、尝试性看下newrb的模型效果时,此时只需要粗略设置一个性价比高的goal参数就可以了
 这种场景goal的设置笔者有以下三种推荐:
👉方案1:                           
👉方案2: 
👉方案3:       
三种方案的使用场景如下:
如果y的数量级在1左右时,可以将goal设置为 进行简单尝试            
如果y的数量级偏离1较多,可以将goal设置为       
如果要更加细致、通用,可以将goal设置为                 
可以看到,它们是一个简单到细致的过程
 备注:这里的0.01只是一个参考值,根据实际项目,可以适当调得更大或更小






    各种goal设置方案的目的    


方案1的意义
第一种设置是一种替代 goal =0 的简单方案
因为goal=0过于苛刻,会添加大量的隐节点,因此稍微放宽一点点误差,往往可以大大减少隐节点
 总的来说,goal=0.01就是对goal=0的误差要求进行放宽,减少RBF神经网络的隐节点个数与增强泛化能力
方案2的意义
在y数量极相对较大的时候,例如y的范围为[-100,100],
那么,此时goal=0.01就过小了,它几乎与"要求误差为0"无异,
因此, 是方案1的简单修正,它加入了y的数据范围的考虑
 在实际中,只需看下y的最大值,再乘以0.01就可以
例如,
, 那么 

 方案3的意义
方案3主要是为了更细致化方案1,它完全考虑了数据的量级
假设我们希望最终每个样本的相对误差为0.01,
那么此时mse为
因此把goal设为该值,就相当于期望最后的相对误差为1%,因此方案3更加的严谨






    笔者语    


笔者之所以提供三种方案,是因为实际使用场景的多样性
方案3虽然更通用、合理,但往往在实际的使用习惯中,一般会先试探性建模
此时为了快速、简单,往往会直接使用方案1,而方案2则是方案1不适用时,进行的简单修正
因为在不同场景,有不同的目的,所以笔者在这里把三种方案都总结出来,只要用得多了,三种都会涉及






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








 End 



联系老饼