强化学习4——无模型预测(蒙特卡洛法和TD法)
文章目錄
- 強化學習——無模型預測與控制
- 無模型的概念
- 無模型預測
- 蒙特卡洛法
- 基本蒙特卡洛
- 改進增量MC更新算法
- 動態規劃(DP)與蒙特卡洛(MC)的區別
- Temporal Difference(TD)學習
- TD和MC的區別
強化學習——無模型預測與控制
無模型的概念
? 狀態轉移的概率和相應的獎勵都是未知的,需要agent試探,相當于經驗主義。agent通過不斷地執行action與環境交互,然后得到實際的return,執行N次求其平均值。
無模型預測
蒙特卡洛法
? agent在現實中從狀態sss通過一個策略與環境進行交互,得到多個軌跡,每個軌跡會得到一個實際的收益Gt=Rt+1+γRt+2+γ2Rt+3+…G_t=R_{t+1}+\gamma R_{t+2}+\gamma^{2} R_{t+3}+\ldotsGt?=Rt+1?+γRt+2?+γ2Rt+3?+…,對多個軌跡收益進行一個平均,就可以得到在這個策略下面,狀態sss的價值vπ(s)=Eπ[Gt∣st=s]v_{\pi}(s)=\mathbb{E}_{ \pi}\left[G_{t} \mid s_{t}=s\right]vπ?(s)=Eπ?[Gt?∣st?=s]。
基本蒙特卡洛
? 基本蒙特卡洛解析:
? ① agent通過策略π\piπ與環境交互得到許多軌跡序列(agent通過action不停地和environment交互得到),每個軌跡中的狀態都有對應的回報Gt。
? ② 開始估算v(s),N(s)=0,S(s)=0,t=0
? ① 在每個 episode 中,如果在時間步 t 狀態 s 被訪問了,那么
? ①狀態 s 的訪問數 N(s)N(s)N(s) 增加 1,
? ② 狀態 s 的總的回報 S(s)S(s)S(s) 增加 GtG_tGt?。
? ③狀態 s 的價值可以通過 return 的平均來估計,即 v(s)=S(s)/N(s)v(s)=S(s)/N(s)v(s)=S(s)/N(s)
根據大數定律只要N(s)→∞N_(s) \rightarrow \infinN(?s)→∞,v(s)→vπ(s)v(s) \rightarrow v^\pi(s)v(s)→vπ(s)
改進增量MC更新算法
紅線公式推導如下
動態規劃(DP)與蒙特卡洛(MC)的區別
? 動態規劃(DP)需要考慮到下一次轉移的所有狀態;蒙特卡洛因為是現實中得到的return,不存在不確定性,所以它下一次轉移只可能是一個狀態。
Temporal Difference(TD)學習
v(St)←v(St)+1N(St)(Gt?v(St))v\left(S_{t}\right) \leftarrow v\left(S_{t}\right)+\frac{1}{N\left(S_{t}\right)}\left(G_{t}-v\left(S_{t}\right)\right)v(St?)←v(St?)+N(St?)1?(Gt??v(St?)),其中Gt=Rt+1+γRt+2+γ2Rt+3+…=Rt+1+γGt+1G_t=R_{t+1}+\gamma R_{t+2}+\gamma^{2} R_{t+3}+\ldots=R_{t+1}+\gamma G_{t+1}Gt?=Rt+1?+γRt+2?+γ2Rt+3?+…=Rt+1?+γGt+1?,而由于這是一個確定的真實學習場景所以v(st+1)=E[Gt+1∣st+1=s]=Gt+1v(s_{t+1})=\mathbb{E}\left[G_{t+1} \mid s_{t+1}=s\right]=G_{t+1}v(st+1?)=E[Gt+1?∣st+1?=s]=Gt+1?
TD和MC的區別
TD:從不完整的序列開始學習;可以是連續的無終止的狀態;利用了馬爾科夫性質
MC:整個序列完成之后開始學習;必須有終止;可以不是馬爾科夫的環境
總結
以上是生活随笔為你收集整理的强化学习4——无模型预测(蒙特卡洛法和TD法)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 最优化——单纯形法,单纯形表的求取
- 下一篇: 最优化——分析线性规划的对偶问题的等价性