强化学习算法总结 (1)
1.综述
强化学习是通过与环境进行交互,来实现目标的一种计算方法。
s − a 1 − r − s ′ s - a_1 - r- s' s−a1−r−s′
1.1强化学习优化目标
p o l i c y = a r g m a x p o l i c y E ( a , s ) [ r e w a r d ( s , a ) ] policy= argmax_{policy} E_{(a,s)}[reward(s,a)] policy=argmaxpolicyE(a,s)[reward(s,a)]
强化学习的最终目标是最大化智能体策略在和环境交互中获得的reward。通过改变策略来调整智能体和环境交互数据的分布。
1.2 平衡与探索
策略告诉我们应该采取哪些动作,同时也要对新的策略进行探索。
这里引入一个概念为懊悔值,当前动作a的收益与最优结果的差距
- ϵ − g r e e d y \epsilon - greedy ϵ−greedy
策略
i f : 采样概率: 1 − ϵ a t = a e g m a x Q ( a ) e l s e : 随机策略 if:采样概率:1 - \epsilon \\ a_t = aegmaxQ(a)\\ else:\\ 随机策略 if:采样概率:1−ϵat=aegmaxQ(a)else:随机策略
但是结果来看积累的懊悔值是和和时间成正比的,因为随机拉杆的探索概率是固定的
- 上置信界法UCB
a t = a r g m a x α [ Q ( A ) ] a_t = argmax_\alpha [Q(A)] at=argmaxα[Q(A)]
- 汤普森采样
2. 马尔科夫决策过程
MDP:利用当前已知的信息就可以决定未来
采样:根据状态转移矩阵生成一个状态序列 s 1 − > s 2 − > . . . − > s n s_1 -> s_2 -> ...-> s_n s1−>s2−>...−>sn
2.1 马尔科夫奖励过程
在决策过程中加入了奖励函数r和折扣因子,形成了马尔科夫奖励过程 < S , P , r , γ > <S,P,r,\gamma> <S,P,r,γ>,状态集合,状态转移矩阵,奖励函数,折扣因子
G t = R t + γ R t + 1 . . . = ∑ γ k R t + k G_t = R_t+ \gamma R_{t+1}... = \sum \gamma^k R_{t+k} Gt=Rt+γRt+1...=∑γkRt+k
- 价值函数
V ( s ) = E [ G t ∣ S t = s ] 我们把 G t 拆开 R t + γ V ( s t + 1 ) 而后面的 E ( γ V ( s t + 1 ∣ s t = s ) ) 用状态转移函数表示 V ( s ) = r ( s ) + γ ∑ P ( s ′ ∣ s ) V ( s ′ ) V(s) = E[G_t |S_t =s]\\我们把G_t 拆开R_t +\gamma V(s_{t+1}) 而后面的E(\gamma V(s_{t+1}|s_t =s)) 用状态转移函数表示\\V(s) = r(s) +\gamma\sum P(s'|s)V(s') V(s)=E[Gt∣St=s]我们把Gt拆开Rt+γV(st+1)而后面的E(γV(st+1∣st=s))用状态转移函数表示V(s)=r(s)+γ∑P(s′∣s)V(s′)
只适用于规模比较小的马尔科夫过程计算价值函数,不然使用 MC,TD,动态规划等算法
2.2 马尔科夫决策过程
MDP;<S,A,P,r, γ \gamma γ>:这里不再使用状态转移矩阵,而是状态转移函数
- S:状态合集
- A:动作合集
- γ \gamma γ:折扣因子
- r(s,a):奖励函数,收到了s和a影响
- P(s’|s,a):状态转移函数
策略: π ( a ∣ s ) = P ( A t = a ∣ S t = s ) \pi(a|s) = P(A_t = a| S_t =s) π(a∣s)=P(At=a∣St=s):表示当前状态下,采取这个策略a的概率。如果是一个随机策略,输出是关于动作的概率分布函数
-
状态价值函数
V π = E π [ G t ∣ S t = s ] V^{\pi} = E_{\pi}[G_t | S_t = s] Vπ=Eπ[Gt∣St=s]
当前状态下,预计未来的收益 -
动作价值函数
Q π ( s , a ) = E π [ G t ∣ S t = s , A t = a ] Q^{\pi}(s,a) = E_\pi[G_t | S_t = s ,A_t =a] Qπ(s,a)=Eπ[Gt∣St=s,At=a]
在遵循当前策略下,执行动作a的收益
V π ( s ) = ∑ π ( a ∣ s ) Q π ( s , a ) V^\pi(s) = \sum\pi(a|s) Q^\pi (s,a) Vπ(s)=∑π(a∣s)Qπ(s,a)
- 贝尔曼期望方程
Q π ( s , a ) = E π [ R t + γ Q π ( s ′ , a ′ ) ∣ S t = s , A t = a ] = r ( s , a ) + γ ∑ V ( s ′ ) = r ( s , a ) + γ ∑ P ( s ′ ∣ a , s ) ∑ π ( a ′ ∣ s ′ ) Q π ( s ′ , a ′ ) Q^\pi (s,a) = E_\pi[R_t+\gamma Q^\pi(s',a')|S_t= s,A_t = a] \\= r(s,a) +\gamma\sum V(s') \\= r(s,a) +\gamma\sum P(s'|a,s)\sum \pi(a'|s')Q^\pi(s',a') Qπ(s,a)=Eπ[Rt+γQπ(s′,a′)∣St=s,At=a]=r(s,a)+γ∑V(s′)=r(s,a)+γ∑P(s′∣a,s)∑π(a′∣s′)Qπ(s′,a′)
V π ( s ) = E π [ R t + γ V π ( s ′ ) ∣ S t = s ] = ∑ π ( a ∣ s ) ( r ( s , a ) + γ ∑ P ( s ′ ∣ s , a ) V π ( s ′ ) ) V^\pi(s) = E_\pi[R_t+\gamma V^\pi(s')|S_t = s] =\\\sum\pi(a|s)(r(s,a)+\gamma\sum P(s'|s,a)V^\pi(s')) Vπ(s)=Eπ[Rt+γVπ(s′)∣St=s]=∑π(a∣s)(r(s,a)+γ∑P(s′∣s,a)Vπ(s′))