典当行网站,求职简历模板2021,潍坊企业自助建站,衡水市网站制作文章目录 1. 是什么2. 为什么直接估计Q而不是V2. 根据多条完整轨迹计算Q(s,a)3. 初访法和每访法哪个更好#xff1f; 1. 是什么
智能体利用完整轨迹数据估计出 Q π ( s , a ) Q_\pi(s,a) Qπ(s,a)的过程
2. 为什么直接估计Q而不是V
因为策略评估的目的在于改进现有策略 … 文章目录 1. 是什么2. 为什么直接估计Q而不是V2. 根据多条完整轨迹计算Q(s,a)3. 初访法和每访法哪个更好 1. 是什么
智能体利用完整轨迹数据估计出 Q π ( s , a ) Q_\pi(s,a) Qπ(s,a)的过程
2. 为什么直接估计Q而不是V
因为策略评估的目的在于改进现有策略 π ( a ∣ s ) \pi(a|s) π(a∣s)而改进策略就涉及到选取最优行为 a Q ( s , a ) aQ(s,a) aQ(s,a)刚好能衡量状态s时采取各种动作a的价值累积回报期望。如果采用 V ( s ) V(s) V(s)则最终还是要由 V ( s ) V(s) V(s)(参考贝尔曼方程计算出Q(s,a)而由于立即回报矩阵和状态转移数组未知这一点做不到。因此干脆直接从Q(s,a)出发进行策略评估和控制。
2. 根据多条完整轨迹计算Q(s,a)
在当前策略 π \pi π下假设我们获得了K条完整轨迹数据 [ ( s k , 0 , a k , 0 , r k , 1 ) , ⋯ , ( s k , L k , a k , L k , r k , L k 1 ) , ( s T , a k , L k 1 , r k , L k 2 ) ] ‾ , k 0 , 1 , ⋯ , K − 1 \underline{[(s_{k,0},a_{k,0},r_{k,1}),\cdots,(s_{k,L_k},a_{k,L_k},r_{k,L_k1}),(s_T,a_{k,L_k1},r_{k,L_k2})]},k0,1,\cdots,K-1 [(sk,0,ak,0,rk,1),⋯,(sk,Lk,ak,Lk,rk,Lk1),(sT,ak,Lk1,rk,Lk2)],k0,1,⋯,K−1 则估计Q(s,a)的批处理算法流程如下
step 1把所有完整轨迹中的立即回报 r k , m r_{k,m} rk,m的值替换为累积回报值 G k , m G_{k,m} Gk,m G k , m ∑ n m L k 2 γ n − m r k , n G_{k,m}\sum_{nm}^{L_k2}\gamma^{n-m}r_{k,n} Gk,mnm∑Lk2γn−mrk,nstep 2计算各个**状态行为对(s,a)**的函数值V(s,a) 初访法(first-visit) V(s)全部轨迹中状态行为对的值**首次等于(s,a)**的所有三元组中的累积回报的均值 每访法(every-visit) V(s)全部轨迹中状态行为对的值**等于(s,a)**的所有三元组中的累积回报的均值
根据大数定律可知如果求一个状态的累积回报时找到的状态值为s的三元组的个数越多所得的均值越接近Q(s,a)真实值。
3. 初访法和每访法哪个更好
每方法能更充分地利用轨迹数据但需耗费更多的计算资源实际使用时要根据具体场景合理选择。