网站建设费用属于管理费用科目,门户型网站怎么建设,网页升级访问每天正常更新,百度上搜不到网站摘要#xff1a; 一条线上包含起点和终点共有6个格子#xff0c;起点在左终点在右。假设智能体已经学到了最优的策略#xff0c;并且在每一步行动时#xff0c;以 0.9 0.9 0.9 的概率选择最优策略#xff08;也就是往右#xff09;#xff0c;以 0.1 0.1 0.1 的概率选…摘要 一条线上包含起点和终点共有6个格子起点在左终点在右。假设智能体已经学到了最优的策略并且在每一步行动时以 0.9 0.9 0.9 的概率选择最优策略也就是往右以 0.1 0.1 0.1 的概率选择随机策略。各个概念的定义见文末参考链接本文举实际的数值例子帮助理解。
定义 智能体要从最左边的第一个格子走到最右边的终点一次走一步。把6个格子分别记作状态 s 1 , s 2 , ⋯ , s 6 s_1,s_2,\cdots,s_6 s1,s2,⋯,s6动作有两种分别记作 L L L 和 R R R。如果不特别说明一般随机变量为大写字母具体数值为小写字母。 L L L 和 R R R 表示动作不是随机变量。
策略函数 (Policy Function) π ( a ∣ s ) \pi(a|s) π(a∣s)在一个状态 s i s_i si 处采取每个动作 a i a_i ai 的概率。简单记作 π ( L ∣ s ) 0.1 , π ( R ∣ s ) 0.9 \pi(L|s)0.1,\pi(R|s)0.9 π(L∣s)0.1,π(R∣s)0.9严谨写法为 { π ( A L ∣ S s i ) 0.1 , π ( A R ∣ S s i ) 0.9 , i ≠ 1 π ( A L ∣ S s i ) 0 , π ( A R ∣ S s i ) 1 , i 1 \begin{cases} \pi(AL|Ss_i)0.1,\pi(AR|Ss_i)0.9, i \neq 1 \\ \pi(AL|Ss_i)0,\pi(AR|Ss_i)1, i 1 \\ \end{cases} {π(AL∣Ssi)0.1,π(AR∣Ssi)0.9,π(AL∣Ssi)0,π(AR∣Ssi)1,i1i1 如果在起点处往左走环境给的反馈是智能体保持在起点不动。 奖励 (Reward 智能体在状态 s i s_i si 处采取动作 a i a_i ai 后环境给的奖励 r ( s , a ) r(s,a) r(s,a)。 r ( s s 5 , a R ) 6 r(ss_5,aR)6 r(ss5,aR)6便于区分其余的 r ( s , a ) r(s,a) r(s,a) 都是0。 (折扣)回报Return 从第 t t t 个回合开始计算的每个回合奖励的总和 U t r t γ r t 1 γ 2 r t 2 ⋯ U t r t γ U t 1 \begin{aligned} U_tr_t\gamma r_{t1}\gamma^2r_{t2}\cdots \\ U_tr_t\gamma U_{t1} \end{aligned} Utrtγrt1γ2rt2⋯UtrtγUt1 下面都能达到终点的的几个动作和对应的回报分别为RRRRR: 0 0 γ 0 γ 2 0 γ 3 6 γ 4 00\gamma0\gamma^20\gamma^36\gamma^4 00γ0γ20γ36γ4RRRLRRR: 0 0 γ 0 γ 2 0 γ 3 0 γ 4 0 γ 5 6 γ 6 00\gamma0\gamma^20\gamma^30\gamma^40\gamma^56\gamma^6 00γ0γ20γ30γ40γ56γ6RLRRRRLRR: 0 0 γ 0 γ 2 0 γ 3 0 γ 4 0 γ 5 0 γ 6 0 γ 7 6 γ 8 00\gamma0\gamma^20\gamma^30\gamma^40\gamma^5 0\gamma^60\gamma^76\gamma^8 00γ0γ20γ30γ40γ50γ60γ76γ8 状态价值函数State-Value Function 在状态 s i s_i si 处采用当前策略 π \pi π 时回报的期望。 V π ( s ) E ( U t ∣ s s i ) V_\pi(s)\mathbb{E}(U_t|ss_i) Vπ(s)E(Ut∣ssi)。 动作价值函数Action-Value Function 在状态 s i s_i si 处采取动作 a i a_i ai 后继续保持当前的总体策略 π \pi π 时也就是以 0.9 0.9 0.9 的概率选择最优策略回报的期望。 Q π ( s , a ) E ( U t ∣ s s i , a a i ) Q_\pi(s,a)\mathbb{E}(U_t|ss_i,aa_i) Qπ(s,a)E(Ut∣ssi,aai)。 最优动作价值函数Optimal Action-Value Function 总是选择最优策略时回报的期望。 Q ∗ ( s , a ) E ( U t ∣ s s i , a a i ) Q^*(s,a)\mathbb{E}(U_t|ss_i,aa_i) Q∗(s,a)E(Ut∣ssi,aai) 下面计算状态价值函数和最优动作价值函数。在这一个例子中最优动作价值函数就是一直往右走比较好计算。 Q ∗ ( s s 1 , a R ) 6 γ 4 Q ∗ ( s s 2 , a R ) 6 γ 3 ⋮ Q ∗ ( s s 5 , a R ) 6 \begin{aligned} Q^*(ss_1,aR)6\gamma^4 \\ Q^*(ss_2,aR)6\gamma^3 \\ \vdots \\ Q^*(ss_5,aR)6 \\ \end{aligned} Q∗(ss1,aR)6γ4Q∗(ss2,aR)6γ3⋮Q∗(ss5,aR)6 下面计算当前策略下每个状态的状态价值函数。这里用到了一个简单的公式 V π ( s ) E ( U t ∣ s ) E ( r t ∣ s ) γ E ( U t 1 ∣ s ) r t ( s ) γ V π ( s t 1 ) V_\pi(s)\mathbb{E}(U_t|s) \mathbb{E}(r_t|s)\gamma\mathbb{E}(U_{t1}|s) r_t(s)\gamma V_\pi(s_{t1}) Vπ(s)E(Ut∣s)E(rt∣s)γE(Ut1∣s)rt(s)γVπ(st1) 其中 E ( r t ∣ s ) r t ( s ) \mathbb{E}(r_t|s)r_t(s) E(rt∣s)rt(s) 表示在状态 s s s 时的期望奖励 s t 1 s_{t1} st1 表示 s s s 的下一个状态。在这个例子中 E ( r t ∣ s ) ∑ a P ( a ∣ s ) r ( s , a ) 0.9 r ( s , R ) 0.1 r ( s , L ) \mathbb{E}(r_t|s)\sum_a\mathbb{P}(a|s)r(s,a) 0.9r(s,R)0.1r(s,L) E(rt∣s)a∑P(a∣s)r(s,a)0.9r(s,R)0.1r(s,L) 于是可以算出每个状态的期望奖励 r ( s 5 ) 0.9 ⋅ 6 0.1 ⋅ 0 r ( s 4 ) R ( s 3 ) ( s 2 ) R ( s 1 ) 0 \begin{aligned} r(s_5)0.9\cdot 60.1\cdot 0 \\ r(s_4)R(s_3)(s_2)R(s_1)0 \\ \end{aligned} r(s5)0.9⋅60.1⋅0r(s4)R(s3)(s2)R(s1)0 此时每个状态的状态价值函数为 已知 V π ( s 6 ) 6 V_\pi(s_6)6 Vπ(s6)6 V π ( s 5 ) r ( s 5 ) γ ( 0.9 ⋅ 6 0.1 V π ( s 4 ) ) V π ( s 4 ) r ( s 4 ) γ ( 0.9 V π ( s 5 ) 0.1 V π ( s 3 ) ) V π ( s 3 ) r ( s 3 ) γ ( 0.9 V π ( s 4 ) 0.1 V π ( s 2 ) ) V π ( s 2 ) r ( s 2 ) γ ( 0.9 V π ( s 3 ) 0.1 V π ( s 1 ) ) V π ( s 1 ) r ( s 1 ) γ ( 0.9 V π ( s 2 ) 0.1 V π ( s 1 ) ) \begin{aligned} V_\pi(s_5)r(s_5)\gamma(0.9\cdot 60.1V_\pi(s_4)) \\ V_\pi(s_4)r(s_4)\gamma(0.9V_\pi(s_5) 0.1V_\pi(s_3)) \\ V_\pi(s_3)r(s_3)\gamma(0.9V_\pi(s_4) 0.1V_\pi(s_2)) \\ V_\pi(s_2)r(s_2)\gamma(0.9V_\pi(s_3) 0.1V_\pi(s_1)) \\ V_\pi(s_1)r(s_1)\gamma(0.9V_\pi(s_2) 0.1V_\pi(s_1)) \\ \end{aligned} Vπ(s5)r(s5)γ(0.9⋅60.1Vπ(s4))Vπ(s4)r(s4)γ(0.9Vπ(s5)0.1Vπ(s3))Vπ(s3)r(s3)γ(0.9Vπ(s4)0.1Vπ(s2))Vπ(s2)r(s2)γ(0.9Vπ(s3)0.1Vπ(s1))Vπ(s1)r(s1)γ(0.9Vπ(s2)0.1Vπ(s1)) 设 γ 0.8 \gamma0.8 γ0.8可以解得 V π ( s 5 ) 4.602433406284881 V π ( s 4 ) 3.5304175785610044 V π ( s 3 ) 2.708319075448633 V π ( s 2 ) 2.080230236058876 V π ( s 1 ) 1.6280062716982504 \begin{aligned} V_\pi(s_5)4.602433406284881 \\ V_\pi(s_4)3.5304175785610044 \\ V_\pi(s_3)2.708319075448633 \\ V_\pi(s_2)2.080230236058876 \\ V_\pi(s_1)1.6280062716982504 \\ \end{aligned} Vπ(s5)4.602433406284881Vπ(s4)3.5304175785610044Vπ(s3)2.708319075448633Vπ(s2)2.080230236058876Vπ(s1)1.6280062716982504 求解的python代码如下
import numpy as np
A np.array([[0.0, 0.08, 0.0, 0.0, 0.0],[0.72, 0.0, 0.08, 0.0, 0.0],[0.0, 0.72, 0.0, 0.08, 0.0],[0.0, 0.0, 0.72, 0.0, 0.08],[0.0, 0.0, 0.0, 0.72, 0.08]])
B np.eye(5) - A
C np.array([4.32, 0, 0, 0, 0])
D np.matmul(np.linalg.inv(B) , C.T)
for n in range(5):print(D[n])动作价值函数可以采用类似的方法计算。
贝尔曼方程
参考
王树森 张志华《深度强化学习初稿》Mathematical Foundation of Reinforcement Learning -GitHub