一、判断梯度下降收敛
1. 学习曲线:
· 对梯度下降算法找到合适的 参数所需要进行的迭代次数,以及经过这些迭代次数后所得到的损失函数值进行统计,所得到的函数曲线图。
· 一般而言,这条曲线是一条减函数。如果 的值在一次迭代后增加,通常意味着学习率选择过大,或代码存在错误。
· 通常地,我们可以通过学习曲线的图像来判断何时完成迭代过程与模型的训练。
2. 自动收敛测试
epsilon 变量:提前设定一个小数,例如0.001或0.0001,作为 epsilon 变量的值。
· 如果成本 在一次迭代中减小的幅度小于这个变量,那么可以判断梯度收敛。
二、设置学习率
· 通过学习曲线判断学习率的设定是否合理;
通常情况下,如果学习曲线存在递增现象,一般是学习率设置过大或代码出现错误两种情况。
实际调试代码时,可以先将学习率设置为一个较小值,然后通过学习曲线以及梯度下降迭代的次数(时间)不断调参,直到得到一个合理的学习率。