标签:some 函数 通过 随机梯度下降 last gre ble 添加 全局
参考书
《机器学习实战——基于Scikit-Learn和TensorFlow》
工具
python3.5.1,Jupyter Notebook, Pycharm
算法 | m很大 | 是否支持核外 | n很大 | 超参数 | 是否需要缩放 | sklearn |
---|---|---|---|---|---|---|
标准方程 | 快 | 否 | 慢 | 0 | 否 | LinearRegression |
批量梯度下降 | 慢 | 否 | 快 | 2 | 是 | n/a |
随机梯度下降 | 快 | 是 | 快 | ≥2 | 是 | SGDRegressor |
小批量梯度下降 | 快 | 是 | 快 | ≥2 | 是 | n/a |
其中,m是训练实例的数量,n是特征数量。
如果你的训练集里特征的数值大小迥异,什么算法可能会受到影响?受影响程度如何?你应该怎么做?
如果训练集的特征数值具有非常迥异的尺寸比例,成本函数将呈现为细长的碗状,这导致梯度下降算法将耗费很长时间来收敛。要解决这个问题,需要在训练模型之前先对数据进行缩放。值得注意的是,使用标准方程法,不经过特征缩放也能正常工作。
训练逻辑回归模型时,梯度下降是否会困于局部最小值?
不会,因为它的成本函数是凸函数。
假设你使用的是批量梯度下降,并且每一轮训练都绘制出其验证误差,如果发现验证误差持续上升,可能发生了什么?你如何解决这个问题?
可能性之一是学习率太高,算法开始发散所致。如果训练误差也开始上升,那么很明显你要降低学习率了。但是,如果训练误差没有上升,那么模型可能过度拟合训练集,应该立即停止训练。
哪种梯度下降算法能最快达到最优解的附近?那种会收敛?如何使其他算法同样收敛?
随机梯度下降的训练迭代最快,因为它一次只考虑一个训练实例,所以通常来说,它会最快到达全局最优的附近(或者是批量非常小的小批量梯度下降)。但是,只有批量梯度下降才会经过足够长时间的训练后真正收敛。对于随机梯度下降和小批量梯度下降来说,除非逐渐调低学习率,否则将一直围绕最小值上上下下。
我的CSDN:https://blog.csdn.net/qq_21579045
我的博客园:https://www.cnblogs.com/lyjun/
我的Github:https://github.com/TinyHandsome
纸上得来终觉浅,绝知此事要躬行~
欢迎大家过来OB~
by 李英俊小朋友
标签:some 函数 通过 随机梯度下降 last gre ble 添加 全局
原文地址:https://www.cnblogs.com/lyjun/p/11363651.html