采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
课程上说求出的theta值应该是梯度下降最快的方向,然而 我算的时候怎么感觉一开始会跑偏(theta0在中间会>1 最后收敛在1上)
生成散点图
J函数 DJ函数以及梯度下降函数 这里稍改了一下 用一个theta_his记录每次theta的值
输入X_b 、initial_theta、 eta 求出theta的最终值以及所有的theta的array
画图 输出 问下刘老师 为什么我这边是个类似右钩拳的曲线最下降到(1,3)这个点 但是课件上的案例却没有这个情况
大赞问题!
仔细观察我在PPT的截图,是不是也有一个弧度?
为什么会有这个弧度?因为这个函数不是一个正圆形,是一个椭圆形,椭圆形在不同位置的点,其法线(梯度方向)不是指向椭圆圆心的。
回到你的图,你绘制的等高图是错误的,不是我们的损失函数的等高图,而是(x-1)^2+(y-3)^2的等高图。这个函数和我们的损失函数半毛钱关系都没有,只不过最小值也在(3,1)而已。最小值在(3,1)的函数有无数个。但我们的损失函数,是J。
我绘制了J的函数,配合theta的搜索路径,是这个样子:
可以看出,这个损失函数的椭圆,是非常非常扁的,同时还是倾斜的。配合这个图像,我们的搜索路径是不是很make sense?:)
大赞实践精神!
继续加油!:)
====================
附绘图代码:
非常感谢!
请教一下您绘制了J的函数的代码,我画了半天没画出来和您一样的
我补充在最后了:)
登录后可查看更多问答,登录/注册
Python3+sklearn,兼顾原理、算法底层实现和框架使用。
3.4k 19
4.4k 17
3.9k 15
2.1k 15
2.0k 14
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号