规范化:将属性数据按比例缩放,使之落入一个小的特定区间,如-1.0 到1.0 或0.0 到1.0。
通过将属性数据按比例缩放,使之落入一个小的特定区间,如0.0到1.0,对属性规范化。对于距离度量分类算法,如涉及神经网络或诸如最临近分类和聚类的分类算法,规范化特别有用。如果使用神经网络后向传播算法进行分类挖掘,对于训练样本属性输入值规范化将有助于加快学习阶段的速度。对于基于距离的方法,规范化可以帮助防止具有较大初始值域的属性与具有较小初始值域的属相相比,权重过大。有许多数据规范化的方法,包括最小-最大规范化、z-score规范化和按小数定标规范化。
最小-最大规范化: 对原始数据进行线性变换。假定minA和maxA分别为属性A的最小和最大值。最小-最大规范化通过计算
${v^'} = \frac{{v - {{\min }_A}}}{{{{\max }_A} - {{\min }_A}}}(new\_{\max _A} - new\_{\min _A}) + new\_{\min _A}$
将A的值V映射到区间[new_minA, new_maxA]中的V。
最小-最大规范化保持原始数据值之间的关系。如果今后的输入落在A的原数据区之外,该方法将面临“越界”错误。
例:假定属性income的最小与最大值分别为$12000和$98000。我们想映射income到区间[0.0, 0.1]。根据最小-最大规范化,income值$73600将变换为$\frac{{73600 - 12000}}{{98000 - 12000}}(1 - 0) = 0.716$
z-score规范化(或零-均值规范化):属性A的值基于A的平均值和标准差规范化。A的值V被规范化为${V^'}$,由下式计算:
\[{v^'} = \frac{{v - \mathop A\limits^{\_\_\_} }}{{{\sigma _A}}}\]
其中,\[A\]和 \[{\sigma _A}\]分别为属性A的平均值和标准差。当属性A的最大和最小值未知,或局外者左右了最大-最小规范化时,该方法是有用的。
例:假定属性income的平均值和标准差分别为$54000和$16000。使用z-score规范化,值$736000被转换为 $\frac{{73600 - 54000}}{{16000}} = 1.225$。
小数定标规范化:通过移动属性A的小数点位置进行规范化。小数点的移动位数依赖于A的最大绝对值。A的值V被规范化为,由下式计算:
\[{V^'} = \frac{v}{{{{10}^j}}}\]
其中,j 是使得MAX < 1的最小整数。
例:假定A的值由-986到917。A的最大绝对值为986。为使用小数定标规范化,我们用1000(即,j=3)除每个值。这样,-986被规范化为 -0.986。
注意,规范化将原来的数据改变很多,特别是上述的后两种方法。有必要保留规范化参数(如平均值和标准差,如果使用z-score规范化),以便将来的数据可以用一致的方式规范化。
来源:
Jiawei Han; Micheline Kamber著 数据挖掘概念与技术 机械工业出版社
发展历史
数据规范化是一种通过无量纲的处理手段,将具有物理数值变成具有某种相对关系的相对值,缩小量值之间落差的有效方法.主要目的是消除数据属性值间的差别,平滑数据样本值,数据的规范化在实际中的应用非常广泛.数据规范化是应用在机器学习、模型预测等方面的典型方法。
专门讨论规范化方法的文献很少,最近,随着人工智能深度学习理论的研究,2015年提出了批量规范化的概念,2016年又相继提出了层归规范化方法和参数规范化方法,这些新的规范化方法的提出都是为了提升神经网络的训练速度。
主要事件
年份 | 事件 | 相关论文 |
2015年 | 提出了批量规范化的概念 | Ioffe, S. and Szegedy, C. (2015). Batch normalization: Accelerating deep network trainingby reducing internal covariate shift. In Proceedings of The 32nd International Conference onMachine Learning, pages 448–456. |
2016年 | 提出了层规范化的概念 | Ba, J. L., Kiros, J. R., and Hinton, G. (2016). Layer normalization. arXiv preprintarXiv:1607.06450 |
2016年 | 提出了参数规范化的概念 | Salimans, T. and Kingma, D. P. (2016). Weight normalization: A simple reparameterizationto accelerate training of deep neural networks. In Advances in Neural Information ProcessingSystems, pages 901–909. |
发展分析
瓶颈
由于批规范化需要在运行过程中统计每个mini-batch的一阶统计量和二阶统计量,因此不适用于动态的网络结构和RNN网络。
层规范化对于一整层的神经元训练得到同一个转换,所有的输入都在同一个区间范围内,如果不同输入特征不属于相似的类别(比如颜色和大小),那么层规范化的处理可能会降低模型的表达能力。
Contributor: Peng Jiang