机器学习基础——强化学习

本文介绍了强化学习的基本概念,包括状态、行为、策略和回报。状态价值函数Vπ(s)和动作价值函数Qπ(s,a)是评估状态和行为好坏的关键。在马尔科夫决策过程中,利用贝尔曼方程进行状态价值函数的计算,可以通过蒙特卡洛(MC)和动态规划(DP)方法。动态规划在有模型时适用,而蒙特卡洛方法适用于不可知模型且有终止状态的情况。对于无模型情况,除了MC,还可以使用时间差分(TD)学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

强化学习

参考视频:强化学习 周博磊

基本概念

State s s s :表示当前状态
Action a a a :表示当前当前行为
Policy π \pi π A ∼ π ( a ∣ s ) A\sim\pi(a|s) Aπ(as) 表示根据当前状态做出行为a的概率分布策略, A A A为离散型随机变量时, π \pi π为一个概率, A A A为连续型随机变量时, π \pi π为概率密度。
return G t G_t Gt : G t = R t + 1 + γ R t + 2 + . . . γ k R t + k + 1 G_t = R_{t+1}+\gamma R_{t+2}+...\gamma^{k}R_{t+k+1} Gt=Rt+1+γRt+2+...γkRt+k+1

State-value function状态价值函数,用来评估当前状态的好坏 V π ( s ) V_\pi(s) Vπ(s)
V π ( s ) = E π [ G t ∣ S t = s ] V_\pi(s) = E_\pi[G_t|S_t=s] Vπ(s)=Eπ[GtSt=s]

Action-value function 动作价值函数 Q π ( s , a ) Q_\pi(s,a) Qπ(s,a)
Q π ( s , a ) = E [ G t ∣ S t = s , A t = a ] Q_\pi(s,a) = E[G_t|S_t=s,A_t=a] Qπ(s,a)=E[GtSt=s,At=a]
二者关系: V π ( s ) = ∑ a π ( a ∣ s ) Q π ( s , a ) V_\pi(s)= \sum_a \pi(a|s)Q_\pi(s,a) Vπ(s)=aπ(as)Qπ(s,a)

状态价值函数求解

G t G_t Gt表达式代入 V π ( s ) = E π [ G t ∣ S t = s ] V_\pi(s) = E_\pi[G_t|S_t=s] Vπ(s)=Eπ[GtSt=s]中可得到Bellman Equation: V π ( s ) = R ( s ) + ∑ s ′ γ p ( s ′ ∣ s ) V π ( s ′ ) V_\pi(s) = R(s) + \sum _{s'}\gamma p(s'|s)V_\pi(s') Vπ(s)=R(s)+sγp(ss)Vπ(s)
将上式写成矩阵形式:
在这里插入图片描述
从理论上能够得出状态价值函数的值,但是由于真实模型很多时候不可知,或者模型并非马尔科夫决策过程(MDP), R R R P P P是无法获得的,即便可以得到,利用这种计算方式往往计算量会很大。

对于MDP的状态价值函数计算有两种常用的方法:蒙特卡洛(MC),和动态规划(DP)

MC:根据某一状态 s 1 s_1 s1,自助采样生成一系列轨迹,计算return值,取平均值作为 V ( s 1 ) V(s_1) V(s1),用同样的办法得到其他的 V ( S t ) V(S_t) V(St)
DP:利用迭代的办法计算 V π ( s ) = R ( s ) + ∑ s ′ γ p ( s ′ ∣ s ) V π ( s ′ ) V_\pi(s) = R(s) + \sum _{s'}\gamma p(s'|s)V_\pi(s') Vπ(s)=R(s)+sγp(ss)Vπ(s)或者迭代计算 V π ( s ) = ∑ a { π ( a ∣ s ) [ R ( s ) + ∑ s ′ γ p ( s ′ ∣ s ) V π ( s ′ ) ] } V_\pi(s) = \sum_a\{ \pi(a|s)[R(s) + \sum _{s'}\gamma p(s'|s)V_\pi(s')]\} Vπ(s)=a{π(as)[R(s)+sγp(ss)Vπ(s)]},这种方法考虑了所有状态的转移,因此无模型时候,无法使用DP。

当不需要考虑实际决策时候,用Bellman Equation即可获得状态价值函数,但当决策需要被考虑时,用Bellman Expectation Equation来导出:
V π ( s ) = ∑ a { π ( a ∣ s ) [ R ( s ) + ∑ s ′ γ p ( s ′ ∣ s ) V π ( s ′ ) ] } V_\pi(s) = \sum_a\{ \pi(a|s)[R(s) + \sum _{s'}\gamma p(s'|s)V_\pi(s')]\} Vπ(s)=a{π(as)[R(s)+sγp(ss)Vπ(s)]}
Q π ( s , a ) = R ( s , a ) + γ ∑ s ′ p ( s ′ ∣ s , a ) ∑ a ′ π ( a ′ ∣ s ′ ) Q π ( s ′ , a ′ ) Q_\pi(s,a) = R(s,a)+\gamma \sum_{s'} p(s'|s,a)\sum_{a'} \pi(a'|s')Q_\pi(s',a') Qπ(s,a)=R(s,a)+γsp(ss,a)aπ(as)Qπ(s,a)

对于无模型的状态价值函数计算有三种常用的方法:蒙特卡洛(MC)和TD

MC:用实验方法,基于某个状态,采样许多轨迹,得到这些轨迹的返回值,将其平均作为该状态的状态价值函数,MC方法只能用于有终止的马尔科夫决策过程

TD:每完成一步状态变化更新一次状态价值函数,状态的转移同MC一样是通过自助采样法得到的,但不同于MC需要完成整个轨迹才能更新状态价值函数,因此TD可以在完整的序列进行学习。n-step的TD算法,当n趋向于轨迹的所有步时,就是MC算法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值