机器学习(二)——梯度下降法

本文介绍如何通过梯度下降算法最小化代价函数来实现线性回归模型。重点讲解了学习速率的选择、特征缩放及均值归一化等技巧。

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

代价函数(cost function):弄清楚如何用最接近的直线和数据相拟合

线性拟合实际上是一个最小化的问题,使代价函数

(平方误差函数)最小(最小二乘法),采用梯度下降算法可将代价函数J最小化

         梯度下降模拟图

在假设函数的参数范围内随机选择一组特定参数,我们以最快下降的方向降低成本函数。每个步骤的大小由参数α确定,称为学习速率(步长)。

梯度下降算法是:重复直至收敛。而步骤的方向由偏导数确定,在每次迭代中,要同时更新参数。

如下:

 

有两个参数情况下,左边是对的,保持同步更新

注解:

如果学习速率α太小,那么梯度下降就会很缓慢

如果学习速率α太大,则会导致震荡甚至无法收敛

 

当学习速率到一个局部最低点时,不需要减小α,因为随着斜率的下降,θ1会减小移动的步伐,直至到达局部最小点

将梯度下降算法应用到线性回归模型中

找到使代价函数最小的那个点

同步更新(梯度下降图)

重复迭代直至收敛(适用于多个变量)

梯度下降运算中的实用技巧

特征缩放:

如果含有两个特征x1x2,如果x1范围为0~2000x2范围在0~5,那么画出代价函数的轮廓图将非常偏斜

如果用这个代价函数来运营梯度下降的话,可能需要花很长时间并且会来回波动最终收敛到全局最小值。采用特征缩放,消耗掉这些值的范围,这样用梯度下降算法会下降更快。

一般比较合适的是将特征的取值约束到-1~+1的范围内,接近即可,范围太大和太小都不合理。

 

 

均值归一化:

有时也采用这种方法

µi是所有特征的平均值,Si是范围值。均值归一化涉及从该值的值中减去输入变量的平均值输入变量导致输入变量的新的平均值为零。

 

如何保证梯度下降算法正确的工作

怎样选择学习率α

如果α太小,那么梯度下降将异常缓慢

如果α太大,那么可能不会在每次迭代中下降,或者收敛

 

 

如果学习率α足够小,那么可以确保在每次迭代中都下降,但太小则导致收敛特别缓慢。

 

我们还可以改进我们的特征,如长x1,宽x2,则可用面积x3=x1*x2来合并参数。

如果新的特征是原特征的平方或立方,那么特征缩减将变得尤为重要。

 

转载于:https://www.cnblogs.com/daisyliar/p/7202463.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值