关于BP神经网络归一化的问题,求大神解答~
求问BP神经网络的归一化是按行还是整个矩阵的归一化?比如input=[1 2 3 4 5;
2 3 4 5 6;
3 4 5 6 7];
output=;
input_test=[6;
7;
8];
输入输出分别归一化,可以直接=mapminmax(input,0,1);
=mapminmax(output,0,1); 吗?
这样就是按行归一化了吧~
如果是整个矩阵归一化,也就是这样
imax=max(max(input));
imin=min(min(input));
inputn=(1-0)*(input-imin)/(imax-imin);%%input的归一化
omax=max(max(output));
omin=min(min(output));
outputn=(1-0)*(output-omin)/(omax-omin);%%output的归一化
然后再训练,预测~
那么问题来了,预测时的input_testn是如何归一化得到的?如果还是按input的方法归一化,也就是上面的inputn=(1-0)*(input-imin)/(imax-imin);得到的input_testn会有大于1的数吧~
另外,得到预测结果resultn后,如何反归一化呢?如果resultn里面有大于1或者小于0的数又怎么办呢?
mapminmax是按照每一行进行归一化,即对所有样本的同一个特征进行归一化。神经网络的训练数据要比预测数据的范围大,即预测数据的特征最大最小值范围最好不要超过训练数据的特征,这样子你的问题就不会出现了。
mapminmax是按照每一行进行归一化,即对所有样本的同一个特征进行归一化。神经网络的训练数据要比预测数据的范围大,即预测数据的特征最大最小值范围最好不要超过训练数据的特征,这样子你的问题就不会出现了。
页:
[1]