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

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

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

有两种方法,如下图:

2.2.3机器学习—— 判定梯度下降是否收敛 + α学习率的选择_第1张图片

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

2.2 如何设置学习率 α

1、常见的情况:

  • 情况一:说明 代码出现bug / α学习率选择太大了

2.2.3机器学习—— 判定梯度下降是否收敛 + α学习率的选择_第2张图片

  • 情况二:学习率α太大了

2.2.3机器学习—— 判定梯度下降是否收敛 + α学习率的选择_第3张图片

  • 情况三:这是一个正常的情况,但是当 迭代次数过多 也可能说明α学习率选择较小

2.2.3机器学习—— 判定梯度下降是否收敛 + α学习率的选择_第4张图片

  • 情况四:学习率太大了/代码的问题,你把每次更新w 写成w = w +… 应该是减法

2.2.3机器学习—— 判定梯度下降是否收敛 + α学习率的选择_第5张图片

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)损失函数发生上弹)。

2.2.3机器学习—— 判定梯度下降是否收敛 + α学习率的选择_第6张图片

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

2.2.3机器学习—— 判定梯度下降是否收敛 + α学习率的选择_第7张图片

你可能感兴趣的:(机器学习,机器学习,学习,人工智能)