数学建模社区-数学中国
标题:
关于BP神经网络归一化的问题,求大神解答~
[打印本页]
作者:
南风哥哥sky
时间:
2016-5-26 21:35
标题:
关于BP神经网络归一化的问题,求大神解答~
求问BP神经网络的归一化是按行还是整个矩阵的归一化?
& ]0 E8 \8 o) l+ w
比如input=[1 2 3 4 5;
" h0 Y2 Y. u7 P3 s, v
2 3 4 5 6;
9 y9 Z9 w4 s+ {* d' t6 A$ S
3 4 5 6 7];
8 h% x; w" q3 }- I- u" b
output=[4 5 6 7 8];
9 p3 c! k" t; p
input_test=[6;
5 C0 s) {2 r- V
7;
* ?; \! U+ n+ K
8];
4 v; t- V, G, Q$ t3 ~
输入输出分别归一化,可以直接[inputn,inputs]=mapminmax(input,0,1);
8 y7 C1 K3 P+ \6 P3 _% m
[outputn,ouputs]=mapminmax(output,0,1); 吗?
$ y" ]) `1 b* Q9 L+ U+ J$ W& R/ s
这样就是按行归一化了吧~
) N% F8 U" k; E, {3 u& y4 X2 u
如果是整个矩阵归一化,也就是这样
1 A6 L: _0 E5 o9 U: K
imax=max(max(input));
) Z& V. ]$ b; T1 T# a
imin=min(min(input));
$ L8 Y: t! m6 M" w- `* J
inputn=(1-0)*(input-imin)/(imax-imin);%%input的归一化
" p0 ^! Q" b! b! X' [. g. z4 U
omax=max(max(output));
7 w- }' f3 C5 M, h) c6 x
omin=min(min(output));
; A6 p/ [5 F. G# D& o
outputn=(1-0)*(output-omin)/(omax-omin);%%output的归一化
. ?# f' k; D, n c. c }# ]' S
然后再训练,预测~
3 n) V9 n: J/ F7 l
那么问题来了,预测时的input_testn是如何归一化得到的?如果还是按input的方法归一化,也就是上面的inputn=(1-0)*(input-imin)/(imax-imin);得到的input_testn会有大于1的数吧~
5 g# m) | G2 i2 t$ G0 s% V4 a# ^
另外,得到预测结果resultn后,如何反归一化呢?如果resultn里面有大于1或者小于0的数又怎么办呢?
! R7 @$ P* d$ F- { g8 Q( ~6 X
/ e/ b% x5 ^* _ m
作者:
阳光照耀的日子
时间:
2016-5-26 22:02
mapminmax是按照每一行进行归一化,即对所有样本的同一个特征进行归一化。神经网络的训练数据要比预测数据的范围大,即预测数据的特征最大最小值范围最好不要超过训练数据的特征,这样子你的问题就不会出现了。
3 O3 H! }7 E5 ]4 \ E$ B: J l/ o
作者:
阳光照耀的日子
时间:
2016-5-26 22:02
mapminmax是按照每一行进行归一化,即对所有样本的同一个特征进行归一化。神经网络的训练数据要比预测数据的范围大,即预测数据的特征最大最小值范围最好不要超过训练数据的特征,这样子你的问题就不会出现了。
/ u1 q5 y7 @/ E% U3 M
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5