梯度上升算法是一种用于寻找函数局部最大值的优化方法。
梯度上升法的基本步骤:
初始化参数:选择初始参数值。
计算梯度:计算目标函数在当前参数处的梯度。
更新参数:沿负梯度方向调整参数。
迭代:重复步骤2和3,直到满足停止条件(如梯度接近零或达到最大迭代次数)。
梯度下降法的公式:
$$\theta_{t+1} = \theta_{t} + \eta \nabla J(\theta_{t})$$
其中:
如下图所示:

在A点的时候,我们观察它的斜率,设A点的坐标为$(x_1,y_1)$,其相邻任意一点的坐标为$(x_2,y_2)$,则:
$$ K_A = \frac{ y_1 - y_2 }{ x_1 - x_2} > 0 $$
根据上文的梯度下降公式,$\theta_{t+1}$逐渐变大,从而达到目标函数$J$的最高点。
而在B点的时候,我们观察它的斜率:
$$ K_B = \frac{ y_1 - y_2 }{ x_1 - x_2} < 0 $$
根据上文的梯度下降公式,$\theta_{t+1}$逐渐变小,从而达到目标函数$J$的最高点。
机器学习:用于最大化似然函数或某些目标函数。
优化问题:适用于需要寻找最大值的场景。
梯度下降:用于最小化函数,更新规则为$\theta_{t+1} = \theta_{t} - \eta \nabla J(\theta_{t})$
梯度上升:用于最大化函数,更新规则为$\theta_{t+1} = \theta_{t} + \eta \nabla J(\theta_{t})$