神经网络-专题教程

【详述】BP神经网络的数据归一化

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



BP神经网络一般会在训练阶段将数据归一化,相应地在应用阶段对输出进行反归一化

本文讲解BP神经网络中的归一化和反归一化方法的计算公式,以及展示对数据归一化的具体例子

通过本文,可以了解BP神经网络中归一化和反归一化分别是什么,以及常用的归一化方法





   01. BP神经网络的归一化与反归一化   





本节先了解什么是归一化,并讲解归一化的公式





    BP神经网络归一化是什么    


BP神经网络归一化一般是指按公式将数据归一化到[-1,1]之间,如下所示
 什么是归一化
而反归一化则是把归一化后的数据,重新映射回原始数据,它是归一化的逆操作
在训练阶段和应用阶段都涉及到数据归一化的相关处理 
  训练阶段的归一化处理   
在BP神经网络的训练阶段,需要在训练前把所有数据归一化后再进行训练
 归一化公式如下:
 
  其中,是原始数据,是归一化后的数据
所有X变量都要进行归一化,y也一样,即输入输出变量都要进行归一化
    应用阶段的归一化与反归一化    
由于BP神经网络是用归一化数据进行训练的,所以训练好的模型也是面向归一化数据的
因此,我们在使用BP神经网络时,输入输出要做对应的归一化和反归一化处理
 具体如下:
   1. 将BP神经网络的输入归一化          
    2. 将BP神经网络的输出反归一化   
     
其中,输入的归一化与训练阶段的归一化操作保持一致,输出的反归一则是归一化的逆操作
 输出的反归一函数如下:
 
 PASS:​反归一化即归一化时的反函数







  02. BP神经网络归一化-实例讲解  




本节通过一个具体的计算例子讲解BP神经网络数据归一化的操作





     训练阶段的归一化处理   


下面通过具体的例子,讲述归一化和反归一化的具体操作
  训练阶段的归一化处理   
设我们原始训练数据如下:

 
归一化例子-原始数据
 的最大值为8,最小值为-2,可求得归一化后的值如下:
 归一化计算例子
  以同样的方法处理,可得到归一化后的整体数据如下:  
  
归一化后的数据
预测阶段的归一化与反归一化    
假设,我们要预测的输入为, 
 一、在预测前对输入进行归一化                                                           
           由于的最大值为 8,最小值为 -2,的最大值为 6,最小值为1 
 那么归一化后的值为:                           
 
       
 即预测时输入网络的值为:   sim(net,[-0.2,-0.2])  
 
二、将预测值(输出)进行反归一化                                                     
 
假设上面BP神经网络的预测值是0.5                                    
                           由于这个0.5是归一化后的的预测值,要获得真实预测值,需要将它反归一化
        在归一化时,的最大值为5,最小值为-5,则反归一后的 为: 
  
 即最终网络的输出为2.5                                







   03. 其它标准化方法   




本节介绍一些其它的标准化方法




   其它标准化方法   


下面我们介绍一些其它标准化方法,但实际中,我们最常用的还是上面介绍的方法
其它常见的数据标准化方法还有min-max(最小-最大值归一化),z-score(零-均值标准化)
 一、 min-max归一化  
 min-max归一化公式如下:
    
          解释:min-max归一化将数据规范到【0,1】之间
二、z-score零-均值标准化
 
 z-score标准化公式如下:
 

               解释:z-score标准化将数据处理为均值为1,标准差
 我们最常用的,还是归一化到【-1,1】的方式,这与我们使用tansig传递函数是相对应的
tansig的非线性区间主要在【-1.7,1.7】之间,而将数据规范化到【-1,1】对于我们研究和讨论会更加便捷






以上就是BP神经网络的数据归一化的全部内容了~








 End 




联系老饼