标准化与归一化

来源:互联网 发布:ios虚拟定位软件下载 编辑:程序博客网 时间:2024/05/21 09:08

标准化与归一化

Reference

https://www.zhihu.com/question/20467170

http://blog.csdn.net/pipisorry/article/details/52247379

https://www.zhihu.com/question/30038463/answer/50491149

归一化

一般的方法是 (x-min(x))/(max(x)-min(x))

  1. 把数变为(0,1)之间的小数

    主要是为了数据处理方便提出来的,把数据映射到0~1范围之内处理,更加便捷快速。

    对不同特征维度的伸缩变换的目的是使各个特征维度对目标函数的影响权重是一致的,即使得那些扁平分布的数据伸缩变换成类圆形。这也就改变了原始数据的一个分布。

  2. 把有量纲表达式变为无量纲表达式

  3. 好处:

    1 提高迭代求解的收敛速度

    2 提高迭代求解的精度

标准化

一般方法是 (x-mean(x))/std(x) 即算出Z-score

  1. 对不同特征维度的伸缩变换的目的是使得不同度量之间的特征具有可比性。同时不改变原始数据的分布

  2. 好处

    1 使得不同度量之间的特征具有可比性,对目标函数的影响体现在几何分布上,而不是数值上

    2 不改变原始数据的分布

什么时候用?

主要看模型是否具有伸缩不变性。

有些模型在各个维度进行不均匀伸缩后,最优解与原来不等价,例如SVM。对于这样的模型,除非本来各维数据的分布范围就比较接近,否则必须进行标准化,以免模型参数被分布范围较大或较小的数据dominate。

有些模型在各个维度进行不均匀伸缩后,最优解与原来等价,例如logistic regression。对于这样的模型,是否标准化理论上不会改变最优解。但是,由于实际求解往往使用迭代算法,如果目标函数的形状太“扁”,迭代算法可能收敛得很慢甚至不收敛。所以对于具有伸缩不变性的模型,最好也进行数据标准化。

原创粉丝点击