2.2.3机器学习—— 判定梯度下降是否收敛 + α学习率的选择

2.2.3 判定梯度下降是否收敛 + α学习率的选择

2.1、 判定梯度下降是否收敛

有两种方法,如下图:

  • 方法一:
    • 如图,随着迭代次数的增加,J(W,b)损失函数不断下降
    • 当 iterations = 300 之后,下降的就不太明显了 / 基本是一条直线了。 这时我们就说,==> "梯度下降已经收敛了"
  • 方法二:
    • 设置一个阈值 ε,这里我们让ε = 0.001 (自己设置的,但有的时候也掌握不好这个值是多少)。当J(w,b)下降值 < ε 时,我们就认为他已经收敛了
  • 最后:还是推荐方法一

2.2 如何设置学习率 α

1、常见的情况:

  • 情况一:说明 代码出现bug / α学习率选择太大了
  • 情况二:学习率α太大了
  • 情况三:这是一个正常的情况,但是当 迭代次数过多 也可能说明α学习率选择较小
  • 情况四:学习率太大了/代码的问题,你把每次更新w 写成w = w +... 应该是减法

2、选择 α 学习率的方法:

  • 首先选择从 0.0001 0.01 0.1 1 10 依次去尝试,当发现学习率α的值过大时(J(W,b)损失函数发生上弹)。
  • 再进行从最后一次正常的α值(出现损失函数J(w,b)上弹之前的值),依次迭代乘3去尝试
  • 最后选择一个比较好的值

**第一步:**首先选择从 0.0001 0.01 0.1 1 10 依次去尝试,当发现学习率α的值过大时(J(W,b)损失函数发生上弹)。

第二步:再进行从最后一次正常的α值(出现损失函数J(w,b)上弹之前的值),依次迭代乘3去尝试。 然后可以以此类推。最后收敛后,选择最合适的α值。

相关推荐
LGGGGGQ12 分钟前
嵌入式学习-PyTorch(4)-day21
学习
艾莉丝努力练剑1 小时前
【LeetCode&数据结构】单链表的应用——反转链表问题、链表的中间节点问题详解
c语言·开发语言·数据结构·学习·算法·leetcode·链表
人生游戏牛马NPC1号3 小时前
学习 Flutter (三):玩安卓项目实战 - 上
android·学习·flutter
橡晟5 小时前
深度学习入门:让神经网络变得“深不可测“⚡(二)
人工智能·python·深度学习·机器学习·计算机视觉
墨尘游子5 小时前
神经网络的层与块
人工智能·python·深度学习·机器学习
Leah01055 小时前
什么是神经网络,常用的神经网络,如何训练一个神经网络
人工智能·深度学习·神经网络·ai
Leah01055 小时前
机器学习、深度学习、神经网络之间的关系
深度学习·神经网络·机器学习·ai
PyAIExplorer5 小时前
图像亮度调整的简单实现
人工智能·计算机视觉
没有羊的王K6 小时前
SSM框架学习——day1
java·学习
Striker_Eureka6 小时前
DiffDet4SAR——首次将扩散模型用于SAR图像目标检测,来自2024 GRSL(ESI高被引1%论文)
人工智能·目标检测