数据归一化

【一】为什么要进行数据为归一化?

  1. 输入数据的单位不一样,有些数据的范围差别很大,导致神经网络收敛慢,训练时间长。
  2. 数据范围大的输入在模式分类中的作用可能会偏大,而数据范围小的输入作用偏小。
  3. 由于神经网络输出层的激活函数的值域是有限的,因此需要将网络的目标函数映射到激活函数的值域。

【二】归一化算法

算法 范围
y=(x-min)/(max-min) [0,1]
y=2*(x-min)/(max-min)-1 [-1,1]

【三】mapminmax函数

1.简介:mapminmax是MATLAB实现归一化的工具包,默认:

  • 将矩阵的每行分别进行归一化;
  • 每行的最大值和最小值作为每行归一化的xmin和xmax;
  • 将数据归一化到[-1,1];

2.几个函数接口:

1>[Y,PS]=mapminmax(X)

其中y是对进行某种规范化后得到的数据,这种规范化的映射记录在结构体ps中。

示例:

数据归一化_第1张图片

2>[Y,PS] = mapminmax(X,FP)

数据归一化_第2张图片

3>Y = mapminmax('apply',X,PS)

数据归一化_第3张图片

 4>X = mapminmax('reverse',Y,PS)

反归一化,将归一化后的数据进行反归一化后得到原来的数据。

数据归一化_第4张图片

你可能感兴趣的:(神经网络)