机器学习之数据归一化

为何要经常对数据做归一化:

  1. 归一化后加快了梯度下降求最优解的速度;
  2. 归一化有可能提高精度。

加快了梯度下降     

        如下图所示,蓝色的圈圈图代表的是两个特征的等高线。其中左图两个特征X1和X2的区间相差非常大,X1区间是[0,2000],X2区间是[1,5], 其所形成的等高线非常尖。当使用梯度下降法寻求最优解时,很有可能走“之字型”路线(垂直等高线走),从而导致需要迭代很多次才能收敛; 而右图对两个原始特征进行了归一化,其对应的等高线显得很圆,在梯度下降进行求解时能较快的收敛。 如果机器学习模型使用梯度下降法求最优解时,归一化往往非常有必要,否则很难收敛甚至不能收敛。

                                       

归一化有可能提高精度

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

归一化的类型

1)线性归一化

                                                      

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

2)标准差标准化

  经过处理的数据符合标准正态分布,即均值为0,标准差为1,其转化函数为:x'=\frac{x-\mu }{\sigma }

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

3)非线性归一化  

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

哪些机器学习不需要做归一化处理:

     概率模型不需要归一化,因为它们不关心变量的值,而是关心变量的分布和变量之间的条件概率,如决策树(概率模型)、随机森林(基学习器是决策树)、朴素贝叶斯(概率模型)不需要归一化,(逻辑回归????)。

    树形结构不需要进行归一化数值缩放,不影响分裂点位置。因为第一步都是按照特征值进行排序的,排序的顺序不变,那么所属的分支以及分裂点就不会有不同。

     对于线性模型,比如说LR,我有两个特征,一个是(0,1)的,一个是(0,10000)的,这样运用梯度下降时候,损失等高线是一个椭圆的形状, 这样我想迭代到最优点,就需要很多次迭代,但是如果进行了归一化,那么等高线就是圆形的,那么SGD就会往原点迭代,需要的迭代次数较少。 另外,注意树模型是不能进行梯度下降的,因为树模型是阶跃的,阶跃点是不可导的,并且求导没意义, 所以树模型(回归树)寻找最优点事通过寻找最优分裂点完成的。

应用场景

1. SVM、线性回归、KNN、KMeans之类的最优化问题需要归一化。归一化之后加快了梯度下降求最优解的速度,并有可能提高精度。是否归一化主要在于是否关心变量取值

2.逻辑回归本身不受量纲影响,但是其使用梯度下降法求解参数受量纲影响大,如果不进行特征归一化,可能由于变量不同量纲导致参数迭代求解缓慢,影响算法速率。对于决策树这类的算法,不受量纲影响,不需要进行归一化处理。

3. 神经网络需要标准化处理,一般变量的取值在-1到1之间,这样做是弱化某些变量的值较大而对某些产生影响。一般神经网络中的隐藏层采用tanh激活函数比sigmoid要好,因为取值[-1, 1],均值为0(需要)

4. 在KNN算法中,如果不对解释变量进行标准化,那么具有小数量级的解释变量的影响就会微乎其微(需要)

下面总结一下常见的算法哪些需要进行数据归一化,哪些不需要。

from:https://www.jianshu.com/p/c9724f9041b6

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值