机器学习基础 - [第二章:多变量线性回归](3)多元线性回归模型的梯度下降算法技巧
1、如何知道梯度下降算法是否正常工作?
当在多元线性回归模型上使用梯度下降算法求解代价函数对应的最优参数时,有可能无法收敛到局部最优值,即梯度下降算法没有正常工作,那么,我们有什么样的办法可以知道梯度下降是否正常工作呢?
当然,我们可以根据代价函数随迭代次数的变化曲线来获悉梯度下降是否正常工作(当然,通过自动收敛测试算法也可以获知,不过不常用)
不同的代价函数随迭代次数的变化曲线可以反映的情况是不一样的,下图1是正常工作时的变化曲线,它的特征是,每一次迭代,代价函数的值都会减小:
而下图2是梯度下降非正常工作时的变化曲线,它的特征是代价函数的值不总是随迭代次数减小,这种情况下,我们应该考虑学习率的 值是否选择适当,比如下图2中的两种情况,主要是由于学习率取值过大导致的。
2、如何选择合适的学习率?
如果取值过小,梯度下降收敛很慢,相反,如果过大,代价函数不总是减小的,甚至有可能不收敛,一般来说,我们应该尝试多个不同的,然后选择能够使代价函数收敛最快的值。