神经网络的检验(二)——特征数据标准化

为了让神经网络更好的消化,我们需要对数据进行特征标准化。
一般的数据可能来源不同,规格不同,采集方式不同,以买房的例子为例:
离市中心的距离数据变化差距不是很大,楼层也不是很大,但是面积的变化差距还是挺大的。我们利用这三组数据对房子的价格进行预测,假如这里面面积对于价格的影响最大,但是神经网络并不知道,在误差反向传播的时候,误差的修正是每个参数平均分摊修正的,但是假如楼层对影响不大,面积影响大,修正同样的误差量,面积很快就可以修正好,但是楼层可以需要很久的时间,这样就导致效率很低。
神经网络的检验(二)——特征数据标准化
再比如,三个人一起工作,a的能力较弱,b一般,c能力较强,当他们合作做一项工作的时候,c会很快做好工作,而a就会很慢才完成,完成之后老板觉得他们的工作还有可以进步的地方,于是三人平摊任务继续干活,但是又是c很快就完成了,但是a则需要很长的时间,c,b都要等a完成工作才能去交工,这就导致效率很低了。
神经网络的检验(二)——特征数据标准化

这时我们可以将数据进行标准化:展宽跨度小的数据,压缩跨度大的数据。这样不仅可以加快机器学习的速度,还能够避免机器学习学习的特别扭曲。目前比较流行的标准化方法有minmax normalization 和 std normalization,前一种是将数据按比例缩放到(0,1)区间,后一种是将数据转换为均值为0,方差为1的数据。

神经网络的检验(二)——特征数据标准化