在二次函数中 学梯度下降算法

先从二次函数引入,我们现在有f(x)=-x(x-2),其中x是变量,目的是找到x的值,使得目标函数f(x)最大
假设我们现在位于x=0的位置,我们在该位置对目标函数求梯度,f'(x)=-2x+2,f'(0)=2,
于是我们对变量x进行更新,x_new=x+αf'(0)=0+0.1*2=0.2。 这里的α指学习率,控制更新的快慢。
计算得到更新后的x_new,f(x_new)=f(0.2)=0.36,确实比原先的f(0)=0更接近目标值了,这就是梯度更新算法(准确的说是梯度上升算法)。

二次函数学梯度下降算法

梯度下降算法指的是,我们规定目标是找到目标函数的最小值,在强化学习中,一般的目标为实现奖励最大,因此使用梯度下降算法(找最小值)时,我们把目标函数Loss(θ)定义为奖励的相反数。

接着看强化学习

首先我们训练的目的就是找到模型最优的参数,使得目标最优,强化学习中目标可以是模型的总奖励J(θ),J(θ)=Eπθ​​[R]
我们要做的就是

在强化学习中,我们首先定义目标函数J(θ),
image
,我们的目的是调整模型参数(模型参数影响模型在一些状态下的决策),使得目标函数能够最大(得到最多的奖励)。
因为使用梯度下降算法,所以我们再定义一个损失函数L(θ)=-J(θ),梯度下降更新的过程,使得损失函数接近最小值,也就是让目标函数接近最大值,实现更大的奖励。
image

更新使用的算法是反向传播算法,具体公式如下,其实和二次函数没啥区别,new = old + α·∇y
image

posted @ 2026-03-03 17:34  lencyy  阅读(1)  评论(0)    收藏  举报