用最少的脑容量记住最直接最有价值的东西
1 马尔科夫过程
如果一个状态转移是符合马尔可夫的,那就是说一个状态的下一个状态只取决于它当前状态,而跟它当前状态之前的状态都没有关系。
我们可以用状态转移矩阵(State Transition Matrix) 来描述状态转移
2 马尔科夫奖励过程
马尔可夫奖励过程(Markov Reward Process, MRP) 是马尔可夫链再加上了一个奖励函数。在 MRP 中,转移矩阵和状态都是跟马尔可夫链一样的,多了一个奖励函数(reward function)。
注意,这个过程的描述,没有动力,只是随着概率状态发生转移的同时,顺便捞点奖励罢了。可没有说奖励最大化是这个过程的动力。
3 价值函数
回报是奖励进行折扣之后的逐步叠加。
状态价值函数被定义为回报的期望。
简单说明为何进入折扣:
马尔科夫有的过程是有环的,引入折扣避免无穷奖励。
由于对未来的不确定性,最好对未来的奖励打个折扣,正所谓不要把期望定得太高,省的失望越大。
我们想要奖励实时一点,当下得到十万块比五十年后得到一亿来的爽快。
下面总结一下这三个小概念:
可以用向量表示奖励函数(一个状态和奖励的映射,简单的用查表直接实现)
回报G针对某一个轨迹而言。回报的计算用公式Σ γ*R 计算。
价值函数可以(MC方法是其中一个可行方法)用抽样多个轨迹计算平均值计算。
4 贝尔曼方程
贝尔曼方程是计算价值函数的另一种方法。它定义了当前状态和未来状态之间的关系,未来的折扣总和加上即时奖励,就组成了贝尔曼方程。
推导略,记住就行。
5 计算价值的迭代算法
方法有三,MC,DP,TD。
MC,前面提到了,对当前状态进行采样,拿到若干轨迹,计算他们的回报,取一个平均就是奖励了。我们知道事实上定义是回报的期望,之所以这样可以是因为大数定律。
DP不停迭代贝尔曼方程,直到收敛。具体怎么更新的书里没有解释清楚。起码是这里没有解释清楚。既然没解释清楚那就跳过。
TD后面章节单独讲,这里没有着太多笔墨。
6 马尔科夫决策过程
这次可以理解马尔科夫过程长了脑子。
状态转移过程依赖当前的状态,和选取的动作。
奖励函数依赖当前的状态和选取的动作。
a 决策过程中的策略
可以把这个策略函数理解成agent的大脑皮层。π让agent有了智慧。作用是输入一个状态给策略函数,还你一个概率,它告诉你选取动作a的概率应该是多大。当然你定死了也行,直接给一个最大概率的动作也ok。
从数学角度上讲,给定当前状态s,我们有了选取动作a的概率p1,让p1乘以相应的状态转移函数p2,就有了不含a的新状态转移函数了,如此一来,马尔科夫决策过程变成了马尔科夫奖励过程。
b 决策过程中的价值函数
马尔科夫决策过程的价值函数可以定义成期望。但是我们要引入很重要的函数,也是动作价值函数,Q函数。Q函数的定义非常直接。定义为,在某一状态采取某一动作,获取的回报的期望。
注意区别,之前的价值函数的定义是,给定当前状态,得到未来回报的期望,没有动作的事儿。
Q函数的公式如下
,就是多了个动作a而已。
7 时序差分TD
这直接跳到了第三章的内容。以上第二章没说到的这里暂时忽略。
时序差分是免模型的,介于MC和DP之间的方法,可以从不完整的回合学习并且结合了自举思想。
比较:
时序差分每走一步就能更新,MC必须等游戏结束才行。
时序差分可以在没有终止的环境下学习,MC必须在有终止情况下学习。显然时序差分应用范围更大。
时序差分利用了马尔科夫性质,相比之下MC更一般化。
8 时序差分的两个实现
Q学习。是异策略时序差分控制。很激进。不需要兼顾探索。
Sarsa,是Q学习的改进。同策略时序差分控制。比较保守。兼顾探索和利用。
rl同行啊hhhh