关于 learning_rate(i_iter * m + i)

来源:6-7 scikit-learn中的随机梯度下降法

慕少1032305

2019-09-29

老师你好!我在学习本节课的时候有一个小问题:

在第一轮随机梯度下降中,最终theta下降到目标函数最小值的附近
之后进行第二轮随机梯度下降,但此时第二轮随机梯度下降刚开始的学习率相比于第一次刚开始的学习率其实已经小了很多了,这里第二轮随机梯度下降开始之前不应该重新设置学习率吗?

用公式来表达,就是学习率公式为什么不是 learning_rate(i)这样的形式呢?
第二轮开始的学习率和第一轮结束的学习率有什么关系呢?

谢谢老师!

写回答

1回答

liuyubobobo

2019-09-29

不应该重设学习率。


这里的第一轮第二轮,不是每一轮计算出一个值,而是我们要迭代 n_iter * m 次,为了照顾到所有的样本,使得所有的样本都被参考 n_iter 次,所以,我们一轮一轮的来。


但实际上,第二轮是在第一轮的计算结果的基础上,继续优化的,所以,根据模拟退火的原则,继续减小步长:)


继续加油!:)

0
1
慕少1032305
理解了!感谢老师悉心解答!
2019-09-30
共1条回复

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

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

5893 学习 · 2454 问题

查看课程