在sklearn里很多模块都看到learning_rate,这个学习率是什么意思?
2个回答
learning rate,学习率,顾名思义就是模型学习训练集的速度,或者说模型被训练的速度。
learning rate越大,训练得越快;反之,越慢。
learning rate通常是针对于基于梯度下降的机器学习模型,具体说来这个学习率就是梯度下降的步长。对于凸优化,一般说来步长越小收敛越慢;对于非凸问题,learning rate就不是那么直截了当的了。选太小了,训练太慢,影响这个模型的进度,选太大了,可能一步跨过去,错过了最优点。
现在有很多模型能够根据数据的特点自动选择学习率。如果你要手动设置的话,根据我个人的经验0.00001到0.1的范围比较常见,有时候你甚至需要通过交叉验证来最后确定学习率。
SofaSofa数据科学社区DS面试题库 DS面经