知乎专栏智能单元的学习笔记,就真的只是一边看一边记的而已,仅为自己学习所用,侵删。

价值函数value function

价值函数是为了描述某一状态的潜在价值,然后进行决策。
其实人做决策的时候,一部分是直接基于策略,比如说如果我有10000块钱,我就买一部iPhone X,如果我有5000块,就买华为,如果我有3000块,就买小米。一部分是评估每一种想法的价值,然后选择价值高的,比如说iPhone X用三年就需要换了,一年折旧3333,华为用两年半需要换,一年折旧2000,小米用一年半就要换了,一年折旧2000。所以最后的决策是买华为或者小米手机。(打个比方而已……)。
所以深度增强学习也是模拟人的决策,再补一句,MDP中的状态指的是全局的所有的状态,是上帝视角的。
根据价值评估做决策是价值函数的方法,两者结合起来是actor-critic演员评论家算法。


Bellman方程

是增强学习领域最重要的一个方程。
使用价值函数进行决策就需要计算这个函数,那怎么计算呢?—-Bellman方程。
简而言之,Bellman方程的作用:表明价值函数是可以迭代进行计算的。
将价值函数的公式
这里写图片描述

动作价值函数 Action-Value function

Qπ(s,a) 表示,s代表状态,a代表动作,每个状态之后都有多种动作可以选择,每个动作之下的状态又多不一样,所以更关心,某个状态下的不同动作的价值。??
目的是,知道每个动作的价值,然后选择一个价值最大的去执行。价值函数中的reward指的是某一个状态的对应的reward(是多种动作对应的reward),这里的reward指的是action执行完之后对应的reward。
动作价值函数的定义:这里写图片描述
Q上为什么加π?因为动作是策略根据状态生成的,a是π根据s生成的,动作价值函数是某策略下的动作执行之后的价值。

最优价值函数 Optimal value function

最优的动作价值函数就是所有策略下的动作价值函数的最大值。然后带入价值函数就可以得到:

策略迭代和值迭代 policy iteration and value iteration

策略迭代 policy iteration

分为两步:策略评估和策略改进

价值迭代 value iteration
二者的比较

策略迭代使用bellman方程更新value,得到收敛的value vπ 。是当前policy下的最优value值,因为策略迭代是
使用当前策略产生新的样本,然后用新的样本更好地估计策略的价值,然后利用策略的价值更新策略,然后不断反复,可以证明最终策略将收敛到最优。
价值迭代用bellman最优方程更新value,得到收敛的value v 。是当前state下的最优value值,不过只要最后是收敛的,最优的policy也就可以得到。

二者都是依赖于模型的

两种方法都需要知道状态转移概率,所以都是依赖与模型的,理想条件下需要遍历所有的状态,是在上帝视角下推导出来的算法,本质上并不能直接应用。

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐