步长移动的问题

来源:6-1 什么是梯度下降法

Panda_io

2020-12-11

图片描述
请问老师,这里为什么一定要用步长乘以导数值,何不只取导数的正负号1或者-1(它可以帮我们确定x轴θ的移动方向),然后乘以步长η,然后加上θ,这个点就在往极值点移动了。但是非得要乘以导数的值我有点看不懂了老师,这里面是有啥学问吗?

写回答

1回答

liuyubobobo

2020-12-11

在这个一维的例子中,可以的。实际上,你做的操作,就是对导数所表示的方向做归一化。一维的例子中,不管导数是正多少或者负多少,归一化的结果都是 +1 或者 -1。


使用导数值在一些情况下有优势。比如随着搜索越来越偏底部,导数的绝对值会越来越小,这个值乘以步长以后,实际上会使得我们每一步越走越小,而非是 η 这样一个固定的步长。这在一些情况下,会帮助我们更加准确地找到最优值的位置。


继续加油!:)

0
1
Panda_io
哇 老师说的太有道理了,谢谢老师!!!
2020-12-11
共1条回复

Python3入门机器学习 经典算法与应用  

Python3+sklearn,兼顾原理、算法底层实现和框架使用。

5839 学习 · 2437 问题

查看课程