梯度下降算法

1.目的:

求函数的其极小值点

2,模拟下山过程:

        

        选取初始点,选取步长,选取结束判断值,计算梯度

3.方法:

        梯度:梯度为在该点处的最陡峭的方向,在函数中即为导数,但要注意在一元函数和多元函数中的导数求取方法不同

        步长:步长的选取要十分注意,不能太长,也不能太短,过长或过短都会对结果的求取产生重要影响。

判断结束值:在接近最小值点的时候,横坐标的值变化会越来越微小,设定一个值,在变化两十分微小时,误差也随之减小,在变化量小于判别值的时候结束运算

4.计算举例计算过程:

5.两种退出方法

 

 6.Python代码

a = 0.9   # 步长值
b = 0.01  # 判别条件
x0 = -4   # 初始位置
c = 1
while c > b:
    y = x0 - 2
    x0 = x0 - a * y
    c = -a * y
    print('当前y是 :', y)
    print('当前x0是:', x0)
    print('\r')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
小批量梯度下降法是一种介于批量梯度下降法和随机梯度下降法之间的优化算法。它在每次迭代时不仅考虑单个样本(随机梯度下降法),也不是考虑全部样本(批量梯度下降法),而是选择一个适当的小批量样本进行梯度计算和参数更新。 下面我将通过一个例题来解释小批量梯度下降法的过程: 假设我们有一个包含m个训练样本的数据集,目标是通过线性回归模型来拟合这些数据。我们的模型参数为w和b,损失函数为均方误差函数。 1. 初始化模型参数w和b为随机值或0。 2. 设置学习率α和小批量大小batch_size。 3. 将训练数据集随机打乱,并将其分成大小为batch_size的小批量。 4. 对于每个小批量数据,执行以下步骤: a. 计算当前小批量数据的预测值y_pred。 b. 计算当前小批量数据的损失函数值loss。 c. 计算损失函数对参数w和b的梯度grad_w和grad_b。 d. 更新参数w和b:w = w - α * grad_w,b = b - α * grad_b。 5. 重复步骤4直到达到指定的迭代次数或损失函数满足收敛条件。 通过不断迭代更新参数,小批量梯度下降法可以逐渐调整模型参数,使得模型能够更好地拟合训练数据。由于每次迭代只使用部分样本,因此它的计算效率相对于批量梯度下降法有所提升,同时也具有一定的随机性,有助于避免陷入局部最优解。 希望这个例题能够帮助你理解小批量梯度下降法的过程!如果还有其他问题,请随时提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值