如果对神经网络的 输入和 输出数 据进行 一定的 预处理 ,可以加快网络的训练速 度 。 MATLAB 中 提供的预 处理方 法有归一化处理( 将每组数据都变为 - 1 至 1 之 间数 , 所涉及 的函数有 PREMNMX 、 POSTMNMX 、 TRAMNMX) 、 标准化处理( 将每组数据都为均 值为 0, 方 差 为 1 的一 组 数据 , 所涉 及 的函 数 有PRESTD、 POSTSTD、 TRASTD) 和主成分 分析( 进行 正交 处理 , 减少输入数据的维数 , 所涉及的函数有 PREPCA 、 TRAPCA) 。
PNEWN = TRAMNMX(PN EW , MINP , MAXP) ;
ANEWN = SIM(NET, PNEWN) ;
ANEW = POSTMNMX(ANEW , MINT, MAXT) ;
下面以归一化处理 为例说 明其用 法 , 另 外两种 预处理 方法的用法与此类似 。
对于输入矩 阵 P 和输出矩阵 T 进行归一化处理的语句为 :
[ PN , M INP, MAXP , TN , MINT , MAXT] = PREMNM X(P , T) ;
NET = TRAIN(NET, PN , TN) ;
训练结束后还应对网络的输 出 AN = SIM(NET, PN) 作如下处理 :
A= POSTMNMX(AN , MINT , MAXT) ;
PNEWN = TRAMNMX(PN EW , MINP , MAXP) ;
ANEWN = SIM(NET, PNEWN) ;
ANEW = POSTMNMX(ANEW , MINT, MAXT) ;