机器学习009_梯度下降技巧1_特征缩放

本文探讨了特征缩放(Feature Scaling)在梯度下降算法中的重要性,通过将特征值调整到相似范围,加速算法收敛,缩短迭代次数。介绍了两种主要方法:特征值除以最大值和均值归一化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

特征缩放(Feature Scaling)

一、假设情景
一个假设函数有两个特征值,忽略x0=1。x1和x2的范围幅度相差较大,对应的代价函数可能是下图中左边的,此时图形可能呈很扁的椭圆状,那么,在一次梯度运算时,可能会从边上反复震荡多次才能达到全局最优解处,所花费的时间也比较长。

二、解决办法

方法1:将特征值除以最大值
特征缩放,即将两个特征值x1,x2进行缩放,如右边,使得x1和x2处在类似的范围内0~1之间,此时,对应的代价函数J的图形较圆,进行一次梯度下降花费的时间也较短,得到的梯度下降算法就会更快的收敛。
在这里插入图片描述

  • 特征值缩放的范围
    在这里插入图片描述
    如上图所示,不用刻意要求特征值缩放后在 -1~+1之间,只要特征值x1 x2 x3…都在相近的范围内就行。
    原因:执行梯度下降算法时,导数项决定了下降的幅度,当特征值都在相近的范围内,那么导数项的结果就会相近,收敛的速度就会相近,在一个问题中,不同的样本数据就会以相近的收敛速度收敛,而不会发生收敛速度差异过大使得收敛时间过长的情况,使得梯度下降能够正常的工作。

方法2:均值归一化
在这里插入图片描述
均值归一化,就是使得特征值的取值都尽可能有以0为均值。即,将特征值如 X1 减去(训练集中的)均值如 u1 再除以特征值范围如 S1(最大值-最小值)。同样的,这里缩放后的特征值范围不一定要在-0.5~+0.5,相近即可。

三、总结
特征值缩放的原因:为了使得梯度下降运行的更快,收敛所需要的迭代次数更少。也就是上面两张等高线平面图的对比,在对特征值进行缩放后,可以使得代价函数J的图像成较圆,这种情况下,就能使得梯度下降更快的收敛,找到最优解。
那么,为什么缩放特征值就能使得梯度下降更快呢?针对这个问题,具体可以参考知乎:https://zhuanlan.zhihu.com/p/25234554

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值