求解梯度,是在损失函数J(θ1,θ2)上对损失函数自身的自变量θ1和θ2求偏导,而这两个自变量,刚好是逻辑回归的预测函数(图1)的参数。
图1:
梯度的含义
梯度是一个向量,因此它有大小也有方向。它的大小,就是偏导数组成的向量的大小,又叫做向量的模,记作d。它的方向,几何上来说,就是损失函数J(θ)的值增加最快的方向,由此只要沿着梯度向量的反方向移动坐标,损失函数J(θ)的取值就会减少的最快,也就最容易找到损失函数的最小值。
步长
步长可以调节损失函数下降的速率。在损失函数降低的方向上,步长越长,θ 的变动就越大,损失函数下降得非常快,需要的迭代次数就很少,但梯度下降过程可能跳过损失函数的最低点,无法获取最优值。
相对的,步长如果很短,θ 的变动就很小,虽然函数逐渐逼近我们需要的最低点,但迭代的速度却很缓慢,迭代次数就需要很多,模型的训练速度就会很慢。
图2:
在 sklearn 中,设置参数 max_iter 最大迭代次数来代替步长,帮助我们控制模型的迭代速度并适时地让模型停下。
max_iter 越大,代