本站原创文章,转载请说明来自《老饼讲解-BP神经网络》www.bbbdata.com
本文用于说明新老版本matlab神经网络工具箱的BP神经网络建模差异
并藉此理解老教材要求归一化的原因
本节讲解使用新老matlab的BP神经网络版本在建模时的差异
matlab的BP神经网络版本建模差异
matlab2012b之前
在matlab2012b之前的神经网络工具箱,是不会将数据处理的,只会负责构建,
使用BP神经网络工具箱必须按三大步六大步来搞,
即需要将数据归一化,将数据分割为训练和测试数据,并在最后用测试数据对模型进行验证
matlab2012b之后
但在matlab2012b之后,BP神经网络工具箱已经增加了归一化的功能,
因此,不需要自行将数据归一化,并且,matlab工具箱会自行分割一分部分据留于测试,
因此,也不需要自行另留测试数据,而是改为提出工具箱预留的测试数据进行检验模型效果
新老matlab版本的BP神经网络建模流程
下面是新老版本的建模流程
matlab2012b版本之后
设置BP神经网络参数--训练---提取训练、测试数据查看建模效果
matlab2012b版本之前
归一化--数据分割---设置BP神经网络参数--训练--分别查看训练、测试数据的建模效果
对教材的影响
BP神经网络最初的教材都是基于matlab2012b之前的版本的,
因此,这些教材中的代码一般都将数据进行归一化,
为什么老教材要将数据进行归一化?因为当时matlab还不会归一化
现在有些新教材,仍然受老教材影响
使用老教材代码需要注意的地方
由于老教材中的代码,都进行归一化并自行分割数据,
有部分同学将老教材代码拿来即用
这本来也没什么问题,无非是过程繁琐点,多写些代码,
但有一个细节需要注意,就是新版本默认会分割一些数据留作预测数据,
如果直接使用,会浪费部分数据,不过,这并非什么伤筋痛骨的事,也无大碍
End