数学建模社区-数学中国

标题: 关于BP神经网络归一化的问题,求大神解答~ [打印本页]

作者: 南风哥哥sky    时间: 2016-5-26 21:35
标题: 关于BP神经网络归一化的问题,求大神解答~
  求问BP神经网络的归一化是按行还是整个矩阵的归一化?2 [" M  M1 p0 T* Z6 ~7 w; i3 b
  比如input=[1 2 3 4 5;9 v8 J2 D5 m+ v, N6 ^3 }
                     2 3 4 5 6;' o+ O  k# Z% c# u. j% D
                     3 4 5 6 7];
' j# O6 U) A. x7 y3 X' t         output=[4 5 6 7 8];9 w) u- g4 ~& ^$ r/ q; K/ W5 ^
         input_test=[6;
" L6 ]( G9 n, ~% d& C* G                            7;
9 F& F- z9 j$ ?) W                            8];! ~2 J* e6 |5 A! o+ @9 l' N
  输入输出分别归一化,可以直接[inputn,inputs]=mapminmax(input,0,1);
$ O! O2 K: l  n! s+ O% A) U0 Z8 |                                                   [outputn,ouputs]=mapminmax(output,0,1);  吗?
# t3 ?8 s  t) X+ v' z% j3 K  这样就是按行归一化了吧~
. T3 T. O  H4 ?' [$ g; e  如果是整个矩阵归一化,也就是这样
! B2 i5 y" v& y6 M8 R                                        imax=max(max(input));
$ ]1 h$ K$ R. |2 m4 s                                        imin=min(min(input));0 [' g+ d) W) j+ W" l, _
                                        inputn=(1-0)*(input-imin)/(imax-imin);%%input的归一化
9 @" n* G+ C* Y) n, b7 X6 q                                        omax=max(max(output));5 |4 J: s5 J# N  G
                                        omin=min(min(output));
" g, g/ p! J  ]5 Y                                        outputn=(1-0)*(output-omin)/(omax-omin);%%output的归一化( v  |" B  \) \0 F7 }8 f: k
  然后再训练,预测~
) W$ i# R; y; U' I  那么问题来了,预测时的input_testn是如何归一化得到的?如果还是按input的方法归一化,也就是上面的inputn=(1-0)*(input-imin)/(imax-imin);得到的input_testn会有大于1的数吧~
- _/ B/ B- S( Z6 Q4 j9 L0 M  另外,得到预测结果resultn后,如何反归一化呢?如果resultn里面有大于1或者小于0的数又怎么办呢?
7 X# U" l) @/ t0 h8 o; E
9 A1 D* p2 G9 t" G
作者: 阳光照耀的日子    时间: 2016-5-26 22:02
mapminmax是按照每一行进行归一化,即对所有样本的同一个特征进行归一化。神经网络的训练数据要比预测数据的范围大,即预测数据的特征最大最小值范围最好不要超过训练数据的特征,这样子你的问题就不会出现了。6 u$ l0 X# p* `3 z8 z8 V2 x8 ]

作者: 阳光照耀的日子    时间: 2016-5-26 22:02
mapminmax是按照每一行进行归一化,即对所有样本的同一个特征进行归一化。神经网络的训练数据要比预测数据的范围大,即预测数据的特征最大最小值范围最好不要超过训练数据的特征,这样子你的问题就不会出现了。. r5 u, ~8 E( p: Z1 H6 b





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5