归一化的优势和方法

做者:zhanlijun html

针对这个问题参考了wiki的解释: http://en.wikipedia.org/wiki/Feature_scaling。归一化后有两个好处:1)归一化后加快了梯度降低求最优解的速度;2)归一化有可能提升精度”。 机器学习

1 归一化为何能提升梯度降低法求解最优解的速度?函数

斯坦福机器学习视频作了很好的解释: https://class.coursera.org/ml-003/lecture/21学习

以下图所示,蓝色的圈圈图表明的是两个特征的等高线。其中左图两个特征X1和X2的区间相差很是大,X1区间是[0,2000],X2区间是 [1,5],其所造成的等高线很是尖。当使用梯度降低法寻求最优解时,颇有可能走“之字型”路线(垂直等高线走),从而致使须要迭代不少次才能收敛; 视频

而右图对两个原始特征进行了归一化,其对应的等高线显得很圆,在梯度降低进行求解时能较快的收敛。 htm

所以若是机器学习模型使用梯度降低法求最优解时,归一化每每很是有必要,不然很难收敛甚至不能收敛。 blog

为何一些机器学习模型须要对数据进行归一化?

2 归一化有可能提升精度ip

一些分类器须要计算样本之间的距离(如欧氏距离),例如KNN。若是一个特征值域范围很是大,那么距离计算就主要取决于这个特征,从而与实际状况相悖(好比这时实际状况是值域范围小的特征更重要)。 get

3 归一化的类型数学

1)线性归一化

为何一些机器学习模型须要对数据进行归一化?

这种归一化方法比较适用在数值比较集中的状况。这种方法有个缺陷,若是max和min不稳定,很容易使得归一化结果不稳定,使得后续使用效果也不稳定。实际使用中能够用经验常量来替代max和min。 

2)标准差标准化

通过处理的数据符合标准正态分布,即均值为0,标准差为1,其转化函数为: 

为何一些机器学习模型须要对数据进行归一化?

其中μ为全部样本数据的均值,σ为全部样本数据的标准差。 

3)非线性归一化

常常用在数据分化比较大的场景,有些数值很大,有些很小。经过一些数学函数,将原始值进行映射。该方法包括 log、指数,正切等。须要根据数据分布的状况,决定非线性函数的曲线,好比log(V, 2)仍是log(V, 10)等。 

文章出处:http://www.cnblogs.com/LBSer/p/4440590.html

相关文章
相关标签/搜索