老饼讲解-BP神经网络
RBF神经网络复现
【流程】径向基神经网络-OLS求解算法流程
作者 : 老饼 日期 : 2022-06-09 04:48:24 更新 : 2023-03-12 22:53:20
本站原创文章,转载请说明来自《老饼讲解-BP神经网络》www.bbbdata.com



matlab中newrb使用的是OLS算法,

OLS算法的原理推导详见《OLS正交最小二乘算法原理》

本文是笔者细扒matlab的newrb函数后

总结得到的径向基神经网络(newrb)算法流程,所述的,即newrb的内部原理

本文只讲解newrb的算法流程和实现细节

对newrb的代码复现在《径向基神经网络-OLS求解实现代码》中(本文就是该代码的解释)




    01. 径向基神经网络-OLS求解算法流程    



本节展示OLS算法求解径向基神经网络的详细流程

可加深算法理解和代码实现时用于参考



      训练程序输入说明      


一、训练用的数据                                                                           
 
x :训练样本输入数据,第列代表一个样本                               
 y :训练样本的输出数据,每列代表一个样本                           
二、训练参数                                                                                 
spread:
用于生成隐层阈值的参数,即控制径向基宽度的参数 
 goal    :目标误差                                                                  
 max_hn:最大隐节点个数                                                      


  


   OLS求解径向基神经网络-算法流程   


一、初始化                                                  `                          
初始化隐层权重、阈值,和待选隐节点                 
👉1. W21:隐层权重,初始化为空                           
👉2. B2    :隐层阈值,由spread生成                      
       
👉3. Cp   :待选中心                                               
 待选中心就是各个样本            
 
 Cp的每行代表一个中心
👉3. AP待选中心的隐节点激活值                          
 计算待选中心隐节点激活值 
 
 Ap的每列代表一个样本的隐节点激活值
 

 二、通过OLS选择隐节点中心                                                    
 
的每一列代表样本的一个隐节点,
使用OLS选出能满足目标误差goal的列(隐节点)子集
 
 Sidx       :选出的列索引                  
 ApT        :备选中心的隐节点激活值 
 y            :网络要拟合的输出           
 goal       :误差目标                         
 max_col :子集的列数上限               
 可参考《OLS算法流程一文》
 三、生成隐层权重、阈值                                                          
选出来的隐节点(列)的中心就是网络最终的径向基中心
从而确定W21,并对应将B2扩展到所有隐神经元
                       
B2需要扩展成维度为隐神经元个数的列向量
 
 四、求解输出层权重、阈值                                                       
1.计算网络的隐节点激活值A                                         
 代表第j个样本的第i个隐节点的激活值        
 

2. 求解W32和B3                                                         
 将A与y进行最小二乘,可求得W32和B3           
公式如下
 
   
3. 计算最终的网络误差E                                               
 五、输出                                                                                 
输出网络的权重、阈值和误差                                      
 👉 W21:输入层到隐层的权重                                      
 👉 B2   :隐层的阈值                                                    
👉 W32:隐层到输出层的权重                                     
👉 B3   :输出层的阈值                                               
👉 E      :网络误差                                                     











 End 






联系老饼