马尔可夫过程
马尔可夫过程是一组具有马尔可夫性质的随机变量序列 s1 , · · · , st ,马尔可夫性质就是下一个时刻的状态 st+1 只取决于当前状态 st 。一个马尔可夫过程由一组状态和状态间的转移概率组成。
我们设状态的历史为 ht = {s1 , s2 , s3 , . . . , st }(ht 包含了之前的所有状态),则马尔可夫 过程满足条件:
从当前 st 转移到 st+1 ,它是直接就等于它之前所有的状态转移到 st+1 。
马尔可夫链是最简单的马尔可夫过 程,其状态是有限的,最简单的马尔可夫链就是交通红绿灯,状态就是红黄绿三种颜色的信号灯,概率就是信号灯转换之间的概率。
马尔可夫奖励过程
马尔可夫奖励过程是马尔可夫链加上奖励函数。奖励函 数 R 是一个期望,表示当我们到达某一个状态的时候,可以获得多大的奖励。
为什么要加上奖励?
1、了解在给定策略下执行一系列动作后的长期效果。通过计算状态价值函数,可以量化不同决策路径的价值。
2、MRP为智能体提供了一种评估环境反馈的方式,有助于智能体根据历史经验做出更优的选择。
如何定义奖励?
奖励就是智能体采取某个动作之后,环境达到某个状态所带给的价值产出。我们把当前状态所导致的后续产出的总和称之为回报。其定义如下:
回报由后续每个步骤的奖励组成,但每一步的奖励的权重是不一样的,越靠近当前的奖励其权重越大,越往后的奖励其影响越小,这个权重由γ定义。
有了奖励之后,就能定义每个状态的价值,即状态价值函数。
由上式可知,要知道某个状态好不好,就看它未来产生的价值就知道了。
举个例子--如何计算价值?
假如有这样一个马尔可夫链:
其奖励函数可以定义为:智能体进入第一个状态 s1 的时候会得到 5 的奖励,进入第七个状态 s7 的时候会 得到 10 的奖励,进入其他状态都没有奖励。我们可以用向量来表示奖励函数:
即当我们进入 s4 后,它的价值到底如何?我们对 4 步的回合(γ = 0.5)来采样回报 G。
做法:我们可以从 s4 开始,采样生成很多轨迹,把这些轨迹的回报都计算出来,然后 将其取平均值作为我们进入 s4 的价值。
(1)s4 , s5 , s6 , s7 的回报G1 : 0 + 0.5 × 0 + 0.25 × 0 + 0.125 × 10 = 1.25
(2)s4 , s3 , s2 , s1 的回报G2 : 0 + 0.5 × 0 + 0.25 × 0 + 0.125 × 5 = 0.625
(3)s4 , s5 , s6 , s6 的回报G3 : 0 + 0.5 × 0 + 0.25 × 0 + 0.125 × 0 = 0
G = 1/3(G1+G2+G3),G即是状态s4的估计价值。
我们称这种采样方法为,蒙特卡洛采样是一种基于随机抽样的统计方法,核心思想是从实际的经验(即轨迹)中学习,通过多次采样并计算平均回报来估计每个状态的价值。蒙特卡洛方法有一定的局限性,它只能用在有终止的马尔可夫决策过程中。
蒙特卡洛采样是一种近似的方法估计状态的价值,贝尔曼方程则是精确求解状态价值的方法,其方程式如下:
贝尔曼方程定义的就是当前状态与未来状态的迭代关系。
用矩阵来表示贝尔曼方程:
直接对上述方程进行V(s)求解:
求解这个方程难在哪里?难在求逆。
当P的维度非常大时,即状态非常多,矩阵求逆非常难。
所以,贝尔曼方程只适合状态集合非常小的马尔可夫奖励过程。
计算马尔可夫奖励过程中状态的价值,方法不止贝尔曼方程和蒙特卡洛采样,还有动态规划和时序差分等。(另一篇再讲)
马尔可夫决策过程
相对于马尔可夫奖励过程,马尔可夫决策过程多了决策(决策是指动作)。所以,到达某个状态不仅依赖于当前状态,同时也依赖于当前所产生的动作。
不含动作的状态转移矩阵是这样的:
含动作的状态转移矩阵是这样的:
所以,当前状态的奖励和以及价值都依赖于采取什么动作了。
对于智能体来说,在某个状态下,采取什么样的动作是由策略函数决定的,即:
在策略已知的情况下,马尔可夫决策过程和马尔可夫奖励过程是可以相互转化的。
假如已知策略函数,也就是已知在每一个状态下,可能采取的动作的概率,所以我们就可以直接把动作进行加和,去掉 a,这样我们就可以得到对于马尔可夫奖励过程的转移:
两个过程的对比: