机器学习中归一化的问题

本文探讨了归一化在模型训练中的重要性,尤其是对逻辑回归、决策树和xgboost的影响。逻辑回归要求归一化以优化梯度下降,决策树则通常无需,但归一化可提高稳定性。xgboost虽不用对输入数量指标归一,但考虑计算效率,可能仍需处理。重点介绍了标准化对不同模型的影响和适用场景.
摘要由CSDN通过智能技术生成

一、归一化的好处

1、提升模型的收敛速度
如下图,x1的取值为0-2000,而x2的取值为1-5,假如只有这两个特征,对其进行优化时,会得到一个窄长的椭圆形,导致在梯度下降时,梯度的方向为垂直等高线的方向而走之字形路线,这样会使迭代很慢,相比之下,右图的迭代就会很快(理解:也就是步长走多走少方向总是对的,不会走偏)
在这里插入图片描述

2、提升模型的精度
归一化的另一好处是提高精度,这在涉及到一些距离计算的算法时效果显著,比如算法要计算欧氏距离,上图中x2的取值范围比较小,涉及到距离计算时其对结果的影响远比x1带来的小,所以这就会造成精度的损失。所以归一化很有必要,他可以让各个特征对结果做出的贡献相同。

从经验上说,归一化是让不同维度之间的特征在数值上有一定比较性,可以大大提高分类器的准确性。
在这里插入图片描述

3、深度学习中数据归一化可以防止模型梯度爆炸。

二、逻辑回归、决策树、xgboost需要进行归一化吗?每个情况是怎么样的?

1、逻辑回归是需要归一化的处理的

从反向过程来看:
逻辑回归模型的参数优化一般采用了梯度下降法,如果不对特征进行归一化,可能会使得损失函数值得等高线呈椭球形,这样花费更多的迭代步数才能到达最优解。

从损失函数来看:
逻辑回归模型的损失函数可以加入正则项,那么参数的大小便决定了损失函数值,特征就有必要先进行归一化。

2、决策树是不需要归一化的处理的

概率模型不需要归一化,因为它们不关心变量的值,而是关心变量的分布和变量之间的条件概率,如决策树、随机森林。因为数值缩放不影响分裂点位置,对树模型的结构不造成影响。
补充:树模型特征归一化可能会降低模型的准确率,但是能够使模型更加平稳

3、xgboost是不需要归一化的处理的

决策树模型是不需要对输入数量指标做归一化处理,但是,xgboost算法迭代计算中应用了梯度下降的计算,从这点来说,又应该需要做归一化,至少可以加快迭代计算速度。请教大家,这xgboost输入的数量指标到底是否需要做归一化?
xgboost虽然应用的是梯度下降,但是迭代的时候输入的数据指标不会影响迭代速度,xgboost内部是二叉树,做的是一种分割。

常见问题:

1、归一化也就是标准化的一种,比如做一般线性回归的时候,XY轴中只有一个是变量,那请问是否需要对变量数据进行标准归一化呢?

  • 答:一维数据一般没有太大必要归一化,它的归一化相当于通过学习率调节了,但是反过来归一化后,学习率可能就没有太大必要了,这样就可以减少一个学习率的设置。(即学习率初始值的选择需要参考输入的范围,直接将数据归一化,学习率就不必再根据数据范围作调整。)

2、问:为什么线性归一化对用距离来度量相似度的方法在精度上会有影响?

  • 答:线性变换其协方差产生倍数值的缩放,无法消除量纲对方差、协方差的影响,**由于量纲的存在,使用不同的量纲、距离的计算结果会不同,在精度上当然会有影响。**使用0均值对方差进行了归一化,这时候每个维度的量纲其实已经等价了。而且用于最大值和最小值未知的时候,或者说最大值和最小值并不准确时尤其重要,当最大值和最小值未知或者不准备时当然在精度上有更大影响,0均值方法这种问题就少很多,对异常点也更鲁棒。

3、应用场景说明

  • 1)概率模型不需要归一化,因为这种模型不关心变量的取值,而是关心变量的分布和变量之间的条件概率;
    2)SVM、线性回归之类的最优化问题需要归一化,是否归一化主要在于是否关心变量取值;
    3)神经网络需要标准化处理一般变量的取值在-1到1之间,这样做是为了弱化某些变量的值较大而对模型产生影响。一般神经网络中的隐藏层采用tanh激活函数比sigmod激活函数要好些,因为tanh双曲正切函数的取值[-1,1]之间,均值为0.
    4)在K近邻算法中,如果不对解释变量进行标准化,那么具有小数量级的解释变量的影响就会微乎其微。
  • 7
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
机器学习需要进行归一化的情况取决于具体的算法。一般来说,对于一些算法如SVM、逻辑回归、神经网络、KNN和线性回归等,需要进行归一化处理。这是因为在这些算法,特征值的尺度差异很大时,可能会对模型的性能产生不良影响。归一化可以将特征值映射到一个统一的范围内,以确保不同特征之间的权重是平衡的,避免某些特征对模型的影响过大。此外,归一化还可以加速梯度下降的收敛过程,减少迭代次数,提高训练效率。然而,对于树形结构的算法,如决策树和随机森林等,并不需要进行归一化处理。这是因为这些算法不关心变量的具体值,而是关心变量之间的条件概率和分裂点的位置。对于树模型而言,样本点的数值缩放不会影响分裂点的位置,也不会对模型的结构造成影响。另外,树模型不需要进行梯度下降,因为树模型是阶跃的,而阶跃是不可导的,也不需要进行归一化处理。因此,在机器学习,是否需要进行归一化处理要根据具体的算法和数据情况来决定。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [【深度学习/机器学习】为什么要归一化归一化方法详解](https://blog.csdn.net/qq_51392112/article/details/129091683)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [机器学习哪些算法需要归一化?](https://blog.csdn.net/weixin_43593330/article/details/105751132)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值