MATLAB BP神经网络中仿真结果与手工计算不符合的解决办法
前言
- 最近在学习深度学习,在编写Auto Encoder提取隐含层的输出值时发现,使用MATLAB中自带的sim函数计算得到的神经网络输出值与自己手工计算的前向传播输出值不符合。
- 经过查阅后发现在旧版本中的newff函数,神经网络输入值的归一化以及输出值的反归一化是编程者自己写的,而新版本的newff函数 MATLAB则会自动帮我们完成归一化与反归一化。这意味着,如果手工计算用新版本newff函数训练出来的BP神经网络,则需要进行手工的归一化与反归一化。
clear
clc
% 输入数据
X = [1 2 3;2 3 4;3 4 5;4 5 6];