RBF神经网络

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

作者 : 老饼 发表日期 : 2023-01-19 22:09:43 更新日期 : 2024-12-10 20:49:37
本站原创文章,转载请说明来自《老饼讲解-BP神经网络》www.bbbdata.com



RBF神经网络是一种以RBF径向基为激活函数的三层神经网络,常用于拟合各种数值关系

本文讲解RBF神经网络的建模流程与步骤,包括数据的归一化、模型的训练等

通过本文,可以了解RBF神经网络建模的流程,具体代码见《RBF神经网络建模-代码实现》




    01.RBF神经网络-建模步骤     




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




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


由于RBF神经网络可以使用插值方法求解(即newrbe),它在训练误差上可以为0
而使用OLS进行求解(即newrb),训练误差也不是问题,只要隐节点足够,训练误差就会足够小
 因此,RBF神经网络建模的核心主要解决以下两个问题:
1. 模型的泛化能力                                                           
                            
模型的泛化能力,也可以简单地认为,就是模型在测试数据上的精度    
 
2. 模型复杂度                                                                   
          即RBF神经网络的隐节点个数,过多的隐节点会令模型较庞大
所以,而在RBF神经网络的建模中,需要密切关注与解决的是以上两个问题





       RBF神经网络-建模过程      


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






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




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




    RBF神经网络建模-数据处理    


输入数据归一化  
       对输入数据归一化主要是考虑到径向基是基于距离的模型
        因此,在多输入时,进行归一化可以达到量纲统一                      
       如果不归一化,整体距离很容易被某个维度"吃"掉 ,另一
方面,将数据归一化后,在调参等方面更加统一与方便一些
 归一化并不是绝对需要的,需根据数据背景意义来决定是否要归一化
  数据划分     
将数据划分为两部分:
1. 训练数据:用来构建RBF                 
2. 测试数据:用来最终检验模型的效果      
可以随机划分,也可以根据数据实际意义进行划分





    RBF神经网络建模-模型构建与评估    


RBF神经网络模型构建
  构建RBF神经网络只需设定相关参数,再进行训练就可以了,如下:
 1. 设定RBF神经网络模型参数                                                
 模型参数主要是设置spread和goal                    
                   可以使用matlab的默认值作为初步设定,即:spread = 1 ,goal= 0   
 2. 用训练数据调用newrb构建RBF                                         
 直接使用newrb就可以构建RBF神经网络,如下:        
[net,tr]= newrb(x, y,goal,spread);
 
模型评估
这里建议使用绝对误差MAE来评估模型,如下:     
1. 训练误差:评估训练样本的MAE误差                    
2. 预测误差:评估预测样本的MAE误差                    
 
建模中需要反复调参,以加强模型的泛化能力,即让预测误差满足要求





好了,以上就是RBF神经网络的建模步骤了~







 End 




联系老饼