| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 【机器学习】白板推导系列(三十四) ~ 强化学习之马尔科夫决策过程 -> 正文阅读 |
|
[人工智能]【机器学习】白板推导系列(三十四) ~ 强化学习之马尔科夫决策过程 |
【机器学习】白板推导系列(三十四) ~ 强化学习之马尔科夫决策过程相关资料&参考资料: 【机器学习】白板推导系列(三十四) ~ 强化学习之马尔科夫决策过程_哔哩哔哩_bilibili Sutton & Barto Book: Reinforcement Learning: An Introduction (incompleteideas.net) datawhalechina/easy-rl: 强化学习中文教程,在线阅读地址:https://datawhalechina.github.io/easy-rl/ YJLAugus/Reinforcement-Learning-Notes: Reinforcement-Learning-Notes, start with MDP. (github.com) 背景介绍Random Variable随机变量:用大写字母代表随机变量,如 X X X, Y Y Y。 X X X和 Y Y Y之间相互独立,记作 X ⊥ Y X \bot Y X⊥Y。 Stochastic Process随机过程:研究的不在是单个的随机变量,而是一组随机变量。并且这一组随机变量之间存在着一种非常紧密的关系(不相互独立)。 符号表示: … , S t , S t + 1 , S t + 2 , … \dots, S_t, S_{t+1},S_{t+2}, \dots …,St?,St+1?,St+2?,… , { S t } t = 1 ∞ \lbrace S_t \rbrace ^\infty_{t=1} {St?}t=1∞? Markov Chain/Process马尔科夫链(马尔科夫过程):一种特殊的随机过程,是具备马尔科夫属性(Markov Property)的随机过程。 下一个时刻仅依赖于当前时刻。 符号表示: P ( S t + 1 ) ∣ S t , S t ? 1 . . . S 1 ) = P ( S t + 1 ∣ S t ) P(S_{t+1}) \mid S_t,S_{t-1}...S_1) = P(S_{t+1} \mid S_t) P(St+1?)∣St?,St?1?...S1?)=P(St+1?∣St?) State Space Model状态空间模型:(HMM,Kalman Filterm Particle Filter),马尔可夫链 + 观测变量(Markov Chain + Obervation)。 挂测独立假设:观测变量跟当前状态有关,跟之前状态无关。 Markov Reward Process(Markov Chain + Reward ) Markov Decision Process(Markov Reward Process + Action) S : state?set. → S t \mathcal{S}: \text{state set.} \rightarrow S_t S:state?set.→St? A : action?set. ? s ∈ S , A ( s ) → A t \mathcal{A}: \text{action set.} \forall s \in \mathcal{S}, \mathcal{A}(s) \rightarrow A_t A:action?set.?s∈S,A(s)→At? R : reward?set. , → R t . R t + 1 \mathcal{R}: \text{reward set.}, \rightarrow R_t. R_{t + 1} R:reward?set.,→Rt?.Rt+1? 如上图: S t S_t St? 用来表示某一个时刻的状态。 A ( s ) A_{(s)} A(s)? 表示在某一个状态时候的行为。从 S t S_t St?状态经过 A t A_t At? 到 S t + 1 S_{t+1} St+1?状态,获得的奖励记作 R ( t + 1 ) R_{(t+1)} R(t+1)?。 动态特性动态特性Markov Chain: S \mathcal{S} S MRP: S , R \mathcal{S}, \mathcal{R} S,R MDP: S , R , A ( s ) , P \mathcal{S}, \mathcal{R}, \mathcal{A}(s), \mathcal{P} S,R,A(s),P 马尔可夫链只有一个量——状态。 描述其动态特性:状态转移矩阵 [ s 1 s 1 . . . s 1 s 10 ? ? ? s 10 s 1 . . . s 10 s 10 ] \begin{bmatrix} s_1s_1 &... & s_1s_{10} \\ \vdots & \ddots & \vdots \\ s_{10}s_1 & ... & s_{10}s_{10} \end{bmatrix} ????s1?s1??s10?s1??...?...?s1?s10??s10?s10?????? 在状态转移的过程中,对于下一个状态转移是有概率的, 动态特性: p ( s ′ , r ∣ s , a ) = ˙ P r { S t + 1 = s ′ , R t + 1 = r ∣ S t = s , A t = a } p(s',r\mid s,a) \dot{=} P_r\lbrace S_{t+1}=s',R_{t+1} = r \mid S_{t} =s,A_{t}=a \rbrace p(s′,r∣s,a)=˙Pr?{St+1?=s′,Rt+1?=r∣St?=s,At?=a} 状态转移函数(去掉了 r r r): p ( s ′ ∣ s , a ) = ∑ r ∈ R p ( s ′ ∣ s , a ) p(s'\mid s,a) = \sum\limits_{r\in R} p(s'\mid s,a) p(s′∣s,a)=r∈R∑?p(s′∣s,a) reward的动态性:在 s s s 和 a a a 选定后, r r r 也有可能是不同的,即 r r r 也是随机变量。但是,大多数情况 r r r随机性不怎么明显。 价值函数策略(Policy)符号表示: π \pi π
回报多个reward的加和 会引入一个折扣(discount) G t = R t + 1 + γ R t + 2 + γ 2 ? + γ T ? 1 R T = ∑ i = 0 γ i R t + i + 1 , γ ∣ i n [ 0 , 1 ] , T → ∞ G_t = R_{t + 1} + \gamma R_{t + 2} + \gamma ^2 \dots + \gamma ^{T - 1} R_T = \sum\limits_{i = 0} \gamma ^ i R_{t + i + 1}, \gamma |in [0, 1], T \rightarrow \infty Gt?=Rt+1?+γRt+2?+γ2?+γT?1RT?=i=0∑?γiRt+i+1?,γ∣in[0,1],T→∞ 但是这里的 G t G_t Gt?仅代表了其中一系列确定的策略,但是策略会是一个随机性策略,所以这时候引入价值函数。 价值函数在指定一个状态 s s s ,采取一个随机策略 π \pi π ,然后加权平均,以上图为例,把9 个分叉( G t G_t Gt?)加权平均。也就是期望 E E E。 V π ( s ) = E π [ G t ∣ S t = s ] V_\pi(s) = \mathbb{E}_\pi[G_t \mid S_t = s] Vπ?(s)=Eπ?[Gt?∣St?=s] G t G_t Gt?在 π \pi π上的加权平均。 贝尔曼期望方程贝尔曼期望方程MDP:
S
,
A
(
s
)
,
R
,
P
\mathcal{S}, \mathcal{A}(s), \mathcal{R}, \mathcal{P}
S,A(s),R,P P o l i c y = { a ? π ( s ) , 确定性策略 π ( a ∣ s ) ? P r { A t = a ∣ S t = s } , 随机性策略 Policy = \begin{cases} a \triangleq \pi(s), & \text{确定性策略} \\ \pi(a\mid s) \triangleq P_r \lbrace A_t=a \mid S_t = s \rbrace, & \text{随机性策略} \end{cases} Policy={a?π(s),π(a∣s)?Pr?{At?=a∣St?=s},?确定性策略随机性策略? Value?Function = { V π ( s ) ? E π [ G t ∣ S t = t ] , 状态价值函数 q π ( s , a ) ? E π [ G t ∣ S t = s , A t = a ] , 状态动作价值函数 \text{Value Function} = \begin{cases} V_\pi(s) & \triangleq \mathbb{E}_\pi[G_t \mid S_t = t], &\text{状态价值函数}\\ q_\pi(s, a) & \triangleq \mathbb{E}_\pi[G_t \mid S_t = s, A_t = a], &\text{状态动作价值函数} \end{cases} Value?Function={Vπ?(s)qπ?(s,a)??Eπ?[Gt?∣St?=t],?Eπ?[Gt?∣St?=s,At?=a],?状态价值函数状态动作价值函数? 关系: V π ( s ) = ∑ a ∈ A π ( a ∣ s ) ? q π ( s , a ) ≤ q π ( s , a ) V_\pi(s) = \sum_{a\in \mathcal{A}} \pi(a\mid s) \cdot q_\pi(s,a) \leq q_\pi(s,a) Vπ?(s)=a∈A∑?π(a∣s)?qπ?(s,a)≤qπ?(s,a) q π ( s , a ) = ∑ r , s ′ p ( s ′ , r ∣ s , a ) [ r + γ v π ( s ′ ) ] q_\pi(s,a) = \sum\limits_{r, s'}p(s', r \mid s, a)[r + \gamma v_\pi(s')] qπ?(s,a)=r,s′∑?p(s′,r∣s,a)[r+γvπ?(s′)] 贝尔曼期望方程: v π ( s ) = ∑ a ∈ A π ( a ∣ s ) ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ v π ( s ′ ) ] v_\pi(s) = \sum\limits_{a \in \mathcal{A}} \pi(a \mid s) \sum\limits_{s', r}p(s', r \mid s, a)[r + \gamma v_\pi(s')] vπ?(s)=a∈A∑?π(a∣s)s′,r∑?p(s′,r∣s,a)[r+γvπ?(s′)] q π ( s , a ) = ∑ s ′ , r ( s ′ , r ∣ s , a ) [ r + γ ∑ a ′ π ( a ′ ∣ s ′ ) q π ( s ′ , a ′ ) ] q_\pi(s, a) = \sum\limits_{s', r}(s', r \mid s, a)[r + \gamma \sum\limits_{a'} \pi(a' \mid s')q_\pi(s', a')] qπ?(s,a)=s′,r∑?(s′,r∣s,a)[r+γa′∑?π(a′∣s′)qπ?(s′,a′)] 贝尔曼最优方程贝尔曼最优方程最优化价值函数: V ? ( s ) = max ? π V π ( s ) = V π ? ( s ) V_*(s) = \max\limits_{\pi}V_\pi(s) = V_{\pi*}(s) V??(s)=πmax?Vπ?(s)=Vπ??(s) q ? ( s , a ) = max ? π q π ( s , a ) = q π ? ( s , a ) q_*(s, a) = \max\limits_{\pi} q_\pi(s, a) = q_{\pi*}(s, a) q??(s,a)=πmax?qπ?(s,a)=qπ??(s,a) 关系: q ? ( s , a ) = ∑ s ′ , r ( s ′ , r ∣ s , a ) [ r + γ V ? ( s ′ ) ] q_{*}(s, a) = \sum\limits_{s', r}(s', r \mid s, a)[r + \gamma V_*(s')] q??(s,a)=s′,r∑?(s′,r∣s,a)[r+γV??(s′)] v ? ( s ) = max ? a ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ v π ( s ′ ) ] v_*(s) = \max\limits_{a} \sum\limits_{s', r}p(s', r \mid s, a)[r + \gamma v_\pi(s')] v??(s)=amax?s′,r∑?p(s′,r∣s,a)[r+γvπ?(s′)] q ? ( s , a ) = ∑ s ′ , r ( s ′ , r ∣ s , a ) [ r + γ max ? a ′ q ? ( s ′ , a ′ ) ] q_*(s, a) = \sum\limits_{s', r}(s', r \mid s, a)[r + \gamma \max\limits_{a'}q_*(s', a')] q??(s,a)=s′,r∑?(s′,r∣s,a)[r+γa′max?q??(s′,a′)] |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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/27 22:36:03- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |