RBF神经网络

【建模】RBF径向基神经网络-建模步骤

作者 : 老饼 发表日期 : 2023-03-08 15:26:37 更新日期 : 2024-06-05 07:58:24
本站原创文章,转载请说明来自《老饼讲解-BP神经网络》www.bbbdata.com



本文详细描述RBF神经网络的建模过程,用于建模时进行借鉴

具体代码见《RBF神经网络建模代码实现》




    01.RBF神经网络建模综述    



本节讲述RBF神经网络建模的核心关注问题与建模的流程



      RBF神经网络的建模的核心问题     


RBF(newrb)在训练误差上肯定是没问题的,
 因为只要spread足够小,
训练误差会随着隐节点的添加逐步减少,
直到添加到完所有隐节点,训练的误差就为0

因此,RBF神经网络建模的核心主要解决以下两个问题
  👉1. 模型的泛化能力     
👉2. 模型复杂度         

在建模的过程中需要密切关切这两个问题




       RBF神经网络的建模过程      


  RBF神经网络的建模过程主要有以下步骤:
 RBF神经网络的建模过程
 一. 数据处理                                                          
1. 数据归一化:将数据进行归一化,统一量纲 
2. 数据分割:分割为训练集与测试集        
   二. 模型构建                                                            
1. 模型参数设置:主要设置goal和spread参数
2. 模型训练:用训练数据对模型进行训练    
  三. 模型评估与模型保存                                         
1. 评估训练误差:打印模型的训练误差     
2. 评估测试误差:打印模型的测试误差     






    02.RBF神经网络建模步骤细节说明   



本节详细讲述RBF神经网络建模过程的每一个步骤



    数据处理    


输入数据归一化
对输入数据进行归一化
对输入数据归一化主要是考虑到径向基是基于距离的模型,
因此,在多输入时,进行归一化可以达到量纲统一
 如果不归一化,整体距离很容易被某个维度"吃"掉
另一方面,将数据归一化后,在调参等方面更加统一与方便一些

  归一化并不是绝对需要的,要根据数据的背景意义来决定是否要归一化 
 
相关实验见《归一化对RBF神经网络的影响》
  数据划分    
将数据划分为两部分:
 👉1.训练数据:用来构建RBF                  
 👉2.测试数据:用来最终检验模型的效果
可以随机划分,也可以根据数据实际意义进行划分




    RBF神经网络模型构建   


设定RBF神经网络模型参数
模型参数主要是设置spread和goal,
可以使用matlab的默认值spread = 1 ,goal= 0 作为初步设定
也可以参考 《RBF神经网络-spread参数设置》《RBF神经网络-goal参数设置》的内容进行初步设定
用训练数据调用newrb构建RBF
直接使用newrb就可以构建RBF神经网络,如下
[net,tr]= newrb(x, y,goal,spread);




     模型评估与模型保存    


模型评估
这里建议使用绝对误差MAE来评估模型,如下:
 👉1. 训练误差:训练样本的MAE误差
 👉2. 预测误差:预测样本的MAE误差
模型保存
保存模型有两种方式,具体如下:
 👉1. 保存模型的net对象                  
 👉2. 保存RBF网络的权重阈值          








 End 





联系老饼