梯度下降法
目录 梯度下降法 一、什么是梯度下降? 二、简单线性回归中使用梯度下降法 三、多元线性回归算法中使用梯度下降法 四、梯度下降算法的向量化 五、梯度下降法 1、批量梯度下降法 2、随机梯度下降 3、mini-batch Gradient Descent 4、scikit-learn中封装实现sgd 六、关于梯度的调试 我是尾巴 梯度下降法 梯度下降法,是一种基于搜索的最优化方法,最用是最小化一个损失函数。 一、什么是梯度下降? 机器学习算法都需要最大化或最小化一个函数,这个函数被称为"目标函数",其中我们一般把最小化的一类函数,称为"损失函数"。它能根据预测结果,衡量出模型预测能力的好坏。在求损失函数最小化的过程中使用梯度下降法。 $\frac{dJ(\theta)}{d\theta}$ 在直线方程中,倒数代表斜率,在曲线方程中,倒数代表切线的斜率。倒数代表着参数theta单位变化时,损失函数J相应的的变化。通过上面图中的点可以发现,改点的导数为负值,所以随着参数theta的增加,损失函数J减小,因此导数从某种意义上还可以代表方向,对应着损失函数J增大的方向。 $-\eta\frac{dJ(\theta)}{d\theta}$ 综上,如果最小化一个函数,我们就需要得到导数再取个负数,并且再乘以一个系数,这个系数通常叫做步长或者叫学习率(Learning rate, Lr)