关于梯度下降的公式

来源:6-2 模拟实现梯度下降法

weixin_慕少409219

2019-06-22

图片描述
这里有点不明白theta是横轴的变化方向,gradient相当于d(y)/d(x)是y轴的变化方向,theta-eta*gradient怎么更好的解释理解下呢?

写回答

1回答

liuyubobobo

2019-06-23

首先,theta不是方向,theta是点。gradient才表示变化的方向。


在我们这一小节的例子里,theta是一维的。注意,我们的图示,横轴是theta,所以我们要找到横轴上的一个点,使得J最小。

//img.mukewang.com/szimg/5d0e7a410001cbc319901122.jpg


导数是方向。在一维情况下,导数的几何意义就是函数在这个点的斜率。


什么是斜率,在我们的坐标系中,就是theta往前走,J会怎么变。

如果斜率为正,即导数为正,theta往前走,J会变大,所以为了让J变小,我们要往回方向走,往反方向走,即往导数的反方向走;

如果斜率为负,即导数为负,theta往前走,J会变小,所以为了让J变小,我们要往前走。注意,往前走是正,但此时导数为负,我们还是要往导数的反方向走。


这就是我在页PPT说的,导数是J增大的方向,我们为了让J减小,要往导数的反方向走。


至于theta-eta*gradient,知识这个数学概念的代码翻译而已:)


继续加油!:)

0
3
liuyubobobo
回复
lemonlxn
对!:)
2019-07-16
共3条回复

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

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

5893 学习 · 2454 问题

查看课程