梯度下降法不是一种机器学习算法,而是一种基于搜索的最优化方法
作用:最优化一个损失函数
公式:
theta = theta - eta*dJ
eta 作为学习率,也就是每次梯度下降幅度
eta的取值不合适,影响得到最优解,eta太小,收敛学习速度,eta太大,导致不收敛
eta 也属于超参数的一种
例子:多元线性回归中的梯度下降法
dJ = MSE‘ => x_b.T.dot(x_b.dot(theta) - y) * 2. / m
也就是我们的theta每次都基于dJ进行梯度下降
其中m指样本数量加一,x_b指在样本转置后第一列全增一后组成的新向量
随机梯度下降法
每次进行随机方向的下降
梯度调试:
dJ = (J(theta + alpha) - J(theta - alpha)) / 2*alpha
对于多维来说,每次增加是指theta在该维度的增加