采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师代码中采用了梯度差接近0时退出循环,我看到有的同学问能不能直接梯度接近0时退出循环,我也想知道,能不能让theta在循环中数值几乎不变作为退出条件呢,希望得到老师的解答~
首先纠正一下,课程中的代码循环退出条件,不是前后梯度差接近0,而是前后损失函数对应的值的差,接近零。
我们是将theta带进损失函数,看损失函数的变化是否足够小:)
可不可以看前后两个theta的距离足够小作为循环退出条件。可以。
但是,这样不好。因为,我们实际寻找的,是损失函数的最小值。这句话的意思,就是顺着梯度下降的方向,走一小步,J变换不大,即达到谷底。但是,如果用两个theta距离足够小作为判断条件,有可能由于我们的曲线很陡,虽然两个theta距离足够小,但是,他们之间的J(theta),相差是大的:)
继续加油!:)
谢谢老师!!!
登录后可查看更多问答,登录/注册
Python3+sklearn,兼顾原理、算法底层实现和框架使用。
2.5k 19
3.5k 17
3.0k 15
1.6k 15
1.5k 14