B站 shuhuai008 老师的强化学习算是我找到的各种资源里讲的最好的了,链接如下:
强化学习-MDP(3)-价值函数_哔哩哔哩_bilibili
这里记录几个重要概念:
1. 策略(Policy): 用 π 表示
1.1 确定性策略,由于在s确定时,一定会选择a,所以写作 a=π(s)
1.2 随机性策略,在某一个s时,选择a的概率是π,所以写作:π(a|s)
2. 回报: 用Gt表示, 是某一个选择通路下的Reward的折现求和
3. 由于“回报”体现的是某一条选择通路下的情况,不能体现总体情况,所以定义了价值函数的概念:价值函数是在π 策略影响下,所有status的回报的期望。写作:Vπ(s)
=========================================================================
这里引入了两个value function,
1. 状态价值函数:Vπ(s) 它只和状态相关
2. 状态动作价值函数:qπ(s,a) 它和状态、动作都相关
在Vπ(s)中, 策略π对s有约束,在s状态下,a如何选需要遵循策略π
在qπ(s,a)中,策略π对s和a没有约束,在qπ(s,a)中,s和a已经是选择好了的。
Vπ(s)实际上就是qπ(s,a)的加权平均值,上图中π(a1,s)指的是在s情况下选择策略a1的概率。
所以Vπ(s)和qπ(s,a)的关系式如下图:
然后再找出qπ(s,a)和下一轮的Vπ(s')之间的关系:
注意,由于在s状态下,选择了动作a以后,状态必然会由s转移到s',但是,转移的路径由多条——因为Reward可能有多种情况。所以此处要对 r 做积分
下图这个式子里,就是不同的Reward(r)的概率
在获得了以上两个式子的基础上,可以推出贝尔曼期望方程:
如上图红色字体,贝尔曼期望方程由两个表达形式,分别是对V和对q的
这两个方程表述了:
1. Vπ(s)和它的下一阶段Vπ(s')之间的关系。
2. qπ(s,a)和它下一阶段qπ(s',a')之间的关系
=========================================================================
下面引出最优价值函数的概念
上图中两个公式:
1. 最优状态价值函数: 找到最优策略π,使得状态价值函数达到最大。
2. 最优状态动作价值函数:找到最优策略π,使得状态动作价值函数达到最大
如果,我们把达到价值函数最大的策略记作π*,则可以写作:
最后能推出贝尔曼最优方程:
*注,我自己的理解:V*(s)和q*(s,a)之所以相等,是因为在取到π*的情况下,对于s状态来说,要获得最大的V,就只有一个最佳的a可以选择。也就是说此时s-a的相互对应关系已经确定。所以V*(s)和q*(s,a)就相等了。即,不存在“s时,0.8的概率选择a1,0.1的概率选择a2,0.1的概率选择a3 ”这种情况。因为如果a1是最佳动作,就应该100%采取a1才能保证V值最大。所以只有“s时,1的概率选择a1,0的概率选择a2和a3”。