| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 动手学强化学习第三章(马尔可夫决策过程) -> 正文阅读 |
|
[人工智能]动手学强化学习第三章(马尔可夫决策过程) |
作者:recommend-item-box-tow |
文章目录马尔可夫决策过程1.公式总结
V ( s ) = E [ G t ∣ S t = s ] = E [ R t + γ R t + 1 + γ 2 R t + 2 + … ∣ S t = s ] = E [ R t + γ ( R t + 1 + γ R t + 2 + … ) ∣ S t = s ] = E [ R t + γ G t + 1 ∣ S t = s ] = E [ R t + γ V ( S t + 1 ) ∣ S t = s ] \begin{aligned} V(s) &=\mathbb{E}\left[G_{t} \mid S_{t}=s\right] \\ &=\mathbb{E}\left[R_{t}+\gamma R_{t+1}+\gamma^{2} R_{t+2}+\ldots \mid S_{t}=s\right] \\ &=\mathbb{E}\left[R_{t}+\gamma\left(R_{t+1}+\gamma R_{t+2}+\ldots\right) \mid S_{t}=s\right] \\ &=\mathbb{E}\left[R_{t}+\gamma G_{t+1} \mid S_{t}=s\right] \\ &=\mathbb{E}\left[R_{t}+\gamma V\left(S_{t+1}\right) \mid S_{t}=s\right] \end{aligned} V(s)?=E[Gt?∣St?=s]=E[Rt?+γRt+1?+γ2Rt+2?+…∣St?=s]=E[Rt?+γ(Rt+1?+γRt+2?+…)∣St?=s]=E[Rt?+γGt+1?∣St?=s]=E[Rt?+γV(St+1?)∣St?=s]?
V ( s ) = r ( s ) + γ ∑ s ′ ∈ S p ( s ′ ∣ s ) V ( s ′ ) V(s)=r(s)+\gamma \sum_{s^{\prime} \in S} p\left(s^{\prime} \mid s\right) V\left(s^{\prime}\right) V(s)=r(s)+γs′∈S∑?p(s′∣s)V(s′)
V = R + γ P V [ V ( s 1 ) V ( s 2 ) … V ( s n ) ] = [ r ( s 1 ) r ( s 2 ) … r ( s n ) ] + γ [ P ( s 1 ∣ s 1 ) p ( s 2 ∣ s 1 ) … P ( s n ∣ s 1 ) P ( s 1 ∣ s 2 ) P ( s 2 ∣ s 2 ) … P ( s n ∣ s 2 ) … P ( s 1 ∣ s n ) P ( s 2 ∣ s n ) … P ( s n ∣ s n ) ] [ V ( s 1 ) V ( s 2 ) … V ( s n ) ] \begin{array}{c} \mathcal{V}=\mathcal{R}+\gamma \mathcal{P} \mathcal{V} \\ {\left[\begin{array}{c} V\left(s_{1}\right) \\ V\left(s_{2}\right) \\ \ldots \\ V\left(s_{n}\right) \end{array}\right]=\left[\begin{array}{c} r\left(s_{1}\right) \\ r\left(s_{2}\right) \\ \ldots \\ r\left(s_{n}\right) \end{array}\right]+\gamma\left[\begin{array}{cccc} P\left(s_{1} \mid s_{1}\right) & p\left(s_{2} \mid s_{1}\right) & \ldots & P\left(s_{n} \mid s_{1}\right) \\ P\left(s_{1} \mid s_{2}\right) & P\left(s_{2} \mid s_{2}\right) & \ldots & P\left(s_{n} \mid s_{2}\right) \\ \ldots & & & \\ P\left(s_{1} \mid s_{n}\right) & P\left(s_{2} \mid s_{n}\right) & \ldots & P\left(s_{n} \mid s_{n}\right) \end{array}\right]\left[\begin{array}{c} V\left(s_{1}\right) \\ V\left(s_{2}\right) \\ \ldots \\ V\left(s_{n}\right) \end{array}\right]} \end{array} V=R+γPV?????V(s1?)V(s2?)…V(sn?)??????=?????r(s1?)r(s2?)…r(sn?)??????+γ?????P(s1?∣s1?)P(s1?∣s2?)…P(s1?∣sn?)?p(s2?∣s1?)P(s2?∣s2?)P(s2?∣sn?)?………?P(sn?∣s1?)P(sn?∣s2?)P(sn?∣sn?)???????????V(s1?)V(s2?)…V(sn?)???????
V = R + γ P V ( I ? γ P ) V = R V = ( I ? γ P ) ? 1 R \begin{aligned} \mathcal{V} &=\mathcal{R}+\gamma \mathcal{P} \mathcal{V} \\ (I-\gamma \mathcal{P}) \mathcal{V} &=\mathcal{R} \\ \mathcal{V} &=(I-\gamma \mathcal{P})^{-1} \mathcal{R} \end{aligned} V(I?γP)VV?=R+γPV=R=(I?γP)?1R?
V π ( s ) = E π [ G t ∣ S t = s ] V^{\pi}(s)=\mathbb{E}_{\pi}\left[G_{t} \mid S_{t}=s\right] Vπ(s)=Eπ?[Gt?∣St?=s]
Q π ( s , a ) = E π [ G t ∣ S t = s , A t = a ] Q^{\pi}(s, a)=\mathbb{E}_{\pi}\left[G_{t} \mid S_{t}=s, A_{t}=a\right] Qπ(s,a)=Eπ?[Gt?∣St?=s,At?=a]
V π ( s ) = ∑ a ∈ A π ( a ∣ s ) Q π ( s , a ) V^{\pi}(s)=\sum_{a \in A} \pi(a \mid s) Q^{\pi}(s, a) Vπ(s)=a∈A∑?π(a∣s)Qπ(s,a) Q π ( s , a ) = r ( s , a ) + γ ∑ s ′ ∈ S P ( s ′ ∣ s , a ) V π ( s ′ ) Q^{\pi}(s, a)=r(s, a)+\gamma \sum_{s^{\prime} \in S} P\left(s^{\prime} \mid s, a\right) V^{\pi}\left(s^{\prime}\right) Qπ(s,a)=r(s,a)+γs′∈S∑?P(s′∣s,a)Vπ(s′)
V π ( s ) = E π [ R t + γ V π ( S t + 1 ) ∣ S t = s ] = ∑ a ∈ A π ( a ∣ s ) ( r ( s , a ) + γ ∑ s ′ ∈ S p ( s ′ ∣ s , a ) V π ( s ′ ) ) \begin{aligned} V^{\pi}(s) &=\mathbb{E}_{\pi}\left[R_{t}+\gamma V^{\pi}\left(S_{t+1}\right) \mid S_{t}=s\right] \\ &=\sum_{a \in A} \pi(a \mid s)\left(r(s, a)+\gamma \sum_{s^{\prime} \in S} p\left(s^{\prime} \mid s, a\right) V^{\pi}\left(s^{\prime}\right)\right) \end{aligned} Vπ(s)?=Eπ?[Rt?+γVπ(St+1?)∣St?=s]=a∈A∑?π(a∣s)(r(s,a)+γs′∈S∑?p(s′∣s,a)Vπ(s′))? Q π ( s , a ) = E π [ R t + γ Q π ( S t + 1 , A t + 1 ) ∣ S t = s , A t = a ] = r ( s , a ) + γ ∑ s ′ ∈ S p ( s ′ ∣ s , a ) ∑ a ′ ∈ A π ( a ′ ∣ s ′ ) Q π ( s ′ , a ′ ) \begin{aligned} Q^{\pi}(s, a) &=\mathbb{E}_{\pi}\left[R_{t}+\gamma Q^{\pi}\left(S_{t+1}, A_{t+1}\right) \mid S_{t}=s, A_{t}=a\right] \\ &=r(s, a)+\gamma \sum_{s^{\prime} \in S} p\left(s^{\prime} \mid s, a\right) \sum_{a^{\prime} \in A} \pi\left(a^{\prime} \mid s^{\prime}\right) Q^{\pi}\left(s^{\prime}, a^{\prime}\right) \end{aligned} Qπ(s,a)?=Eπ?[Rt?+γQπ(St+1?,At+1?)∣St?=s,At?=a]=r(s,a)+γs′∈S∑?p(s′∣s,a)a′∈A∑?π(a′∣s′)Qπ(s′,a′)?
V ? ( s ) = max ? π V π ( s ) , ? s ∈ S V^{*}(s)=\max _{\pi} V^{\pi}(s), \quad \forall s \in \mathcal{S} V?(s)=πmax?Vπ(s),?s∈S
Q ? ( s , a ) = max ? π Q π ( s , a ) , ? s ∈ S , a ∈ A Q^{*}(s, a)=\max _{\pi} Q^{\pi}(s, a), \quad \forall s \in \mathcal{S}, a \in \mathcal{A} Q?(s,a)=πmax?Qπ(s,a),?s∈S,a∈A
Q ? ( s , a ) = r ( s , a ) + γ ∑ s ′ ∈ S P ( s ′ ∣ s , a ) V ? ( s ′ ) Q^{*}(s, a)=r(s, a)+\gamma \sum_{s^{\prime} \in S} P\left(s^{\prime} \mid s, a\right) V^{*}\left(s^{\prime}\right) Q?(s,a)=r(s,a)+γs′∈S∑?P(s′∣s,a)V?(s′) V ? ( s ) = max ? a ∈ A Q ? ( s , a ) V^{*}(s)=\max _{a \in \mathcal{A}} Q^{*}(s, a) V?(s)=a∈Amax?Q?(s,a) 2.代码实践代码参考自动手学强化学习(jupyter notebook版本):https://github.com/boyu-ai/Hands-on-RL 使用pycharm打开的请查看:https://github.com/zxs-000202/dsx-rl 2.1 计算序列的回报
2.2 利用贝尔曼方程的矩阵形式计算解析解
补充:
返回的是一个二维的数组(N,M),对角线的地方为1,其余的地方为0.
矩阵求逆 2.3 解析法计算MDP中每个状态价值
2.4 使用蒙特卡洛方法计算MDP的状态价值
补充:
举例:
2.5 估算策略的占用度量
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 9:43:26- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |