15、机器学习中的梯度下降与回归方法

机器学习中的梯度下降与回归方法

1. 随机梯度下降(Stochastic Gradient Descent)

1.1 原理与特点

批量梯度下降(Batch Gradient Descent)在每一步都使用整个训练集来计算梯度,当训练集很大时,速度会非常慢。而随机梯度下降(SGD)则在每一步随机选择训练集中的一个实例,并仅基于该实例计算梯度。这种方式使得算法每次迭代处理的数据量很少,因此速度更快,也使得在巨大的训练集上进行训练成为可能,因为每次迭代只需要将一个实例保存在内存中。

然而,由于其随机性,SGD 比批量梯度下降更不规则。成本函数不会平稳地下降到最小值,而是会上下波动,只是平均而言呈下降趋势。随着时间的推移,它会接近最小值,但到达后会继续波动,不会稳定下来,最终得到的参数值是不错的,但并非最优。

不过,当成本函数非常不规则时,这种随机性有助于算法跳出局部最小值,因此 SGD 比批量梯度下降更有可能找到全局最小值。

1.2 学习率调度

为了解决 SGD 无法稳定在最小值的问题,可以逐渐降低学习率。开始时学习率较大,有助于快速取得进展并跳出局部最小值,然后逐渐变小,使算法能够稳定在全局最小值。这个过程类似于模拟退火算法,确定每一次迭代学习率的函数称为学习调度(learning schedule)。

如果学习率降低过快,可能会陷入局部最小值,甚至在到达最小值的中途停滞;如果降低过慢,可能会在最小值附近跳跃很长时间,如果过早停止训练,最终得到的解决方案可能不是最优的。

以下是使用简单学习调度实现 SGD 的代码:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值