http://blog.csdn.net/acdreamers/article/details/44664205,感谢原作者的付出和分享
在机器学习中领域中的数据分析之前,通常需要将数据标准化,利用标准化后得数据进行数据分析。不同评价指标往
往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要进行数据
标准化处理,以解决数据指标之间的可比性。原始数据经过数据标准化处理后,各指标处于同一数量级,适合进行综
合对比评价。
Contents
1. 归一化的定义
2. 常用归一化方法
1. 归一化的定义
归一化用一句话说就是:把数据经过处理后使之限定在一定的范围内。比如通常限制在区间[0, 1]或者[-1, 1]
等等。那么为什么要进行归一化呢? 那么首先要说到一个重要的概念,即奇异样本数据。所谓奇异样本数据数据
指的是相对于其他输入样本特别大或特别小的样本矢量。举个例子,比如下面的两个特征样本数据
上面第五列的数据相对于其它的列的数据就是奇异样本数据,奇异样本数据的存在会引起训练时间增大,并可能引
起无法收敛。所以在存在奇异样本数据的情况下,进行训练之前最好进行归一化,如果不存在奇异样本数据,则可
以不用归一化。
2. 常用归一化方法
常用归一化方法有最大-最小标准化,Z-score标准化,函数转化等等。
(1)最大-最小标准化
最大-最小标准化是对原始数据进行线性变换,设和分别是属性的最小值和最大值,将的
一个原始值通过最大-最小标准化映射到区间[0, 1]的值,那么公式如下
疑问:此处由于奇异样本的存在,导致归一化后前四列数据分散不开,全凑在一个非常小的数左右,比如进行[0,1]之间的归一化,前四列归一化后非常靠近0,最后一列非常靠近1,样本多样性较差。是否合理?
(2)Z-score标准化
Z-score标准化是基于原始数据的均值和标准差进行的数据标准化。将属性的原始数据通过Z-score标
准化成。Z-score标准化适用于属性的最大值或者最小值未知的情况,或有超出取值范围的离散数据的
情况。
其中为均值,为标准差。
Z-score标准化得到的结果是所有数据都聚集在0附近,方差为1。
还有一些归一化方法,如对数函数转换,反余切函数转换等方法用的不多,暂时就不讲了。