采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,我想再问一下为什么要在sgd的时候加上一个constant 去控制他的下降速度,因为我们的目的不是为了取最后的那个eta么,如果画一个train error 的图的话, 前期会下降特别快。
抱歉,我没有特别理解你的问题,你说的具体是哪个constant?
==========
首先,仔细看,我们的sgd的实现,没有eta了,转而使用t0,t1计算出的learning_rate代替。
首先,sgd也使用eta是可以的。但是效果不好。
这是因为批量梯度下降法可以保证一定沿着梯度下降的方向前进,所以梯度本身就会越来越趋近于0,在此时,即使eta不变,整个theta的变化也会越来越小。
但是,对于随机梯度下降法来说,由于梯度知识根据某一个样本计算出来的,所以并不能保证越来越小,可能很跳跃,为了得到较好的收敛结果,我们选择使用模拟退火的方式,让learning_rate逐渐减小:)
继续加油!:)
但是s
不好意思 没有说清楚。是sgd的时候 分子分母都加了一个t0,t1。learning rate t=t0/t+t1
我补充在原答案上了:)
非常感谢!
登录后可查看更多问答,登录/注册
Python3+sklearn,兼顾原理、算法底层实现和框架使用。
3.2k 19
4.2k 17
3.7k 15
2.0k 15
1.9k 14
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号