采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
这里有点不明白theta是横轴的变化方向,gradient相当于d(y)/d(x)是y轴的变化方向,theta-eta*gradient怎么更好的解释理解下呢?
首先,theta不是方向,theta是点。gradient才表示变化的方向。
在我们这一小节的例子里,theta是一维的。注意,我们的图示,横轴是theta,所以我们要找到横轴上的一个点,使得J最小。
导数是方向。在一维情况下,导数的几何意义就是函数在这个点的斜率。
什么是斜率,在我们的坐标系中,就是theta往前走,J会怎么变。
如果斜率为正,即导数为正,theta往前走,J会变大,所以为了让J变小,我们要往回方向走,往反方向走,即往导数的反方向走;
如果斜率为负,即导数为负,theta往前走,J会变小,所以为了让J变小,我们要往前走。注意,往前走是正,但此时导数为负,我们还是要往导数的反方向走。
这就是我在页PPT说的,导数是J增大的方向,我们为了让J减小,要往导数的反方向走。
至于theta-eta*gradient,知识这个数学概念的代码翻译而已:)
继续加油!:)
就是可以理解开始斜率大所以走的多,斜率逐渐减小就走的少:)
老师,可以这样来概括?沿着梯度下降最快的方向,寻找最佳的theta点
对!:)
登录后可查看更多问答,登录/注册
Python3+sklearn,兼顾原理、算法底层实现和框架使用。
2.4k 19
3.4k 17
2.9k 15
1.6k 15
1.4k 14