fix some typos
This commit is contained in:
@@ -70,7 +70,7 @@
|
||||
|
||||

|
||||
|
||||
Bellman Equation 定义了状态之间的迭代关系。假设我们现在有一个马尔可夫转移矩阵是右边这个样子。然后 Bellman Equation 描述的就是当前状态到未来状态的一个转移。假设我们当前是在 $s_1$, 那么它只可能去到三个未来的状态:它有 0.1 的概率留在它当前这个位置,有 0.2 的概率去到 $s_2$ 状态,有 0.7 的概率去到 $s_4$ 的状态,所以我们要把这个转移乘以它未来的状态的价值,再加上它的 immediate reward 就会得到它当前状态的价值。所以 Bellman Equation 定义的就是当前状态跟未来状态的一个迭代的关系。
|
||||
Bellman Equation 定义了状态之间的迭代关系。假设我们现在有一个马尔可夫转移矩阵是右边这个样子。Bellman Equation 描述的就是当前状态到未来状态的一个转移。假设我们当前是在 $s_1$, 那么它只可能去到三个未来的状态:它有 0.1 的概率留在它当前这个位置,有 0.2 的概率去到 $s_2$ 状态,有 0.7 的概率去到 $s_4$ 的状态,所以我们要把这个转移乘以它未来的状态的价值,再加上它的 immediate reward 就会得到它当前状态的价值。所以 Bellman Equation 定义的就是当前状态跟未来状态的一个迭代的关系。
|
||||
|
||||

|
||||
|
||||
@@ -108,13 +108,17 @@ Policy 定义了在某一个状态应该采取什么样的行为,当我们知
|
||||
|
||||

|
||||
|
||||
这里说明了马尔可夫决策过程跟马尔可夫奖励过程的之间的一个转换,就是当我们已知一个马尔可夫决策过程以及一个 policy $\pi$ 的时候,那我们可以把马尔可夫决策过程转换成马尔可夫奖励过程。我们这里在马尔可夫决策过程里面,它的转移函数 $P(s'|s,a)$ 是基于它当前状态以及它当前的 action,因为我们现在已知它的这个 policy function,就是说在每一个状态,我们知道它可能采取的行为的概率,那么就可以直接把这个 action 进行加和,直接把这个 a 去掉,那我们就可以得到一个对于马尔可夫奖励过程的一个转移。这里就并没有 action 在这个里面,对于这个奖励函数,我们也可以把这个 action 拿掉,这样就会得到一个类似于马尔可夫奖励过程的一个奖励函数。
|
||||
这里说明了马尔可夫决策过程跟马尔可夫奖励过程的之间的一个转换,就是当我们已知一个马尔可夫决策过程以及一个 policy $\pi$ 的时候,那我们可以把马尔可夫决策过程转换成马尔可夫奖励过程。在马尔可夫决策过程里面,转移函数 $P(s'|s,a)$ 是基于它当前状态以及它当前的 action,因为我们现在已知它 policy function,就是说在每一个状态,我们知道它可能采取的行为的概率,那么就可以直接把这个 action 进行加和,直接把这个 a 去掉,那我们就可以得到对于马尔可夫奖励过程的一个转移,这里就没有 action。对于这个奖励函数,我们也可以把 action 拿掉,这样就会得到一个类似于马尔可夫奖励过程的奖励函数。
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
这里我们看一看,马尔可夫决策过程里面的状态转移跟之前马尔可夫奖励过程以及马尔可夫链的一个差异。对于之前的马尔可夫链的过程,它的转移是直接就决定,就从你当前是 s,那么就直接通过这个转移概率就直接决定了你下一个状态会是什么。但是对于马尔可夫决策过程,它的中间多了一层这个行为 a ,就是说在你当前这个状态的时候,你首先要决定的是采取某一种行为。那么你会到了某一个黑色的这个节点,到了这个黑色的节点,因为你有一定的不确定性,当你当前状态决定过后以及你当前采取的行为过后,你到未来的状态其实也是一个概率分布。所以你采取行为以及你决定,然后你可能有有多大的概率到达某一个未来状态,以及另外有多大概率到达另外一个状态。所以在这个当前状态跟未来状态转移过程中这里多了一层决策性,这里是马尔可夫决策过程跟之前的马尔可夫过程很不同的一个地方。这里这个行为是由 agent 决定,所以这里我们多了一个 component,agent 会采取这个行为来决定这个未来的状态转移。
|
||||
这里我们看一看,马尔可夫决策过程里面的状态转移跟之前马尔可夫奖励过程以及马尔可夫链的一个差异。
|
||||
|
||||
* 对于之前的马尔可夫链的过程,它的转移是直接就决定,就从你当前是 s,那么就直接通过这个转移概率就直接决定了你下一个状态会是什么。
|
||||
|
||||
* 但是对于马尔可夫决策过程,它的中间多了一层这个行为 a ,就是说在你当前这个状态的时候,你首先要决定的是采取某一种行为。那么你会到了某一个黑色的这个节点。到了这个黑色的节点,因为你有一定的不确定性,当你当前状态决定过后以及你当前采取的行为过后,你到未来的状态其实也是一个概率分布。所以你采取行为以及你决定,然后你可能有有多大的概率到达某一个未来状态,以及另外有多大概率到达另外一个状态。所以在这个当前状态跟未来状态转移过程中这里多了一层决策性,这是马尔可夫决策过程跟之前的马尔可夫过程很不同的一个地方。在马尔科夫决策过程中,行为是由 agent 决定,所以多了一个 component,agent 会采取行为来决定未来的状态转移。
|
||||
|
||||

|
||||
|
||||
@@ -130,7 +134,7 @@ Bellman Expectation Equation 定义了你当前状态跟未来状态之间的一
|
||||
|
||||

|
||||
|
||||
那我们进一步进行一个简单的分解。等式 8 和等式 9 代表了价值函数跟 Q 函数之间的一个关联。我们把等式 8 插入到等式 9,然后可以得到等式 11,它象征了你当前时刻的 Q 函数跟未来时刻的 Q 函数之间的一个关联。也可以吧 等式9插入等式 8 中,然后我们可以得到等式 10。等式 10 代表了当前状态的价值跟未来状态价值之间的一个关联。
|
||||
那我们进一步进行一个简单的分解。等式 8 和等式 9 代表了价值函数跟 Q 函数之间的一个关联。我们把等式 8 插入到等式 9,就可以得到等式 11,它象征了你当前时刻的 Q 函数跟未来时刻的 Q 函数之间的一个关联。也可以把等式 9 插入等式 8 中,得到等式 10。等式 10 代表了当前状态的价值跟未来状态价值之间的一个关联。
|
||||
|
||||

|
||||
|
||||
@@ -196,7 +200,7 @@ $$
|
||||
|
||||

|
||||
|
||||
我们再来看一个动态的例子,就你可以看见这里有很多格子。每个格子都代表了一个状态。然后在每个格子里面,你可以发现它初始有一个值,我们开始的时候它的所有值都是零。然后在每一个状态,你可以看下它还有一些箭头,这个箭头就是说它当前这个状态的时候,它应该采取什么样的策略,我们这里采取一个随机的一个策略,不管它在哪一个状态,然后它上下左右的概率都是相同的。就是比如在某个状态,它都有上下左右 0.25 的概率采取某一个行为,所以它是一个完全随机的一个行为。
|
||||
我们再来看一个动态的例子。这里有很多格子,每个格子都代表了一个状态。在每个格子里面有一个初始值零。然后在每一个状态,它还有一些箭头,这个箭头就是说它在当前这个状态应该采取什么样的策略。我们这里采取一个随机的策略,不管它在哪一个状态,它上下左右的概率都是相同的。比如在某个状态,它都有上下左右 0.25 的概率采取某一个行为,所以它是一个完全随机的一个行为。
|
||||
|
||||

|
||||
|
||||
@@ -218,7 +222,7 @@ Policy evaluation 是说我们给定一个 MDP 以及给定一个 policy,然
|
||||
|
||||

|
||||
|
||||
怎么去寻找这个最佳的 policy ,这里一个隐含条件是当我们取得最佳的价值函数过后,我们其实可以通过对这个 Q 函数进行极大化,然后得到最佳的价值。就当所有东西都收敛过后,如果我们对于这个 Q 函数,因为 Q 函数是关于状态跟动作的一个函数,所以对某一个状态我们当采取一个行为,然后可以使得这个 Q 函数最大化。那么就这个行为就应该是最佳的行为。所以当我们能优化出一个 Q 函数。我们可以直接在这个 Q 函数上面取一个关于这个动作 action 最大化的值,然后我们就可以直接提取出它的最佳策略。
|
||||
怎么去寻找这个最佳的 policy ,这里一个隐含条件是当我们取得最佳的价值函数过后,我们其实可以通过对这个 Q 函数进行极大化,然后得到最佳的价值。当所有东西都收敛过后,因为 Q 函数是关于状态跟动作的一个函数,所以对某一个状态采取一个行为,然后可以使得这个 Q 函数最大化,那么就这个行为就应该是最佳的行为。所以当我们能优化出一个 Q 函数,我们可以直接在这个 Q 函数上面取一个让这个 action 最大化的值,然后我们就可以直接提取出它的最佳策略。
|
||||
|
||||

|
||||
|
||||
@@ -230,11 +234,11 @@ Policy evaluation 是说我们给定一个 MDP 以及给定一个 policy,然
|
||||
|
||||

|
||||
|
||||
首先我们来看一下 policy iteration,policy iteration 也是一个迭代算法。它主要由两个步骤组成,第一个步骤是 policy evaluation,就跟我们之前说的这个评价一个已有的这个价值函数的价值是一致的,就是我们当前我们在优化这个 policy $\pi$ ,所以在优化过程中得到一个最新的这个 policy 。让我们先保证这个 policy 不变,那么去估计它出来的这个价值。
|
||||
首先我们来看一下 policy iteration。policy iteration 也是一个迭代算法。它主要由两个步骤组成,
|
||||
|
||||
给定当前的policy function,去估计这个 v 函数。取得 v 函数过后,我们可以进一步推算出它的 Q 函数。
|
||||
|
||||
得到 Q 函数过后,那我们就直接去取它的极大化。在 Q 函数上面取极大化,这样我们就有了第二步骤。第二步骤就是改进它的策略,通过在这个 Q 函数上面做一个贪心的搜索,这样就会进一步改进它的一个策略。这两个步骤就一直是在迭代进行,所以在这个 policy iteration 里面,在初始化的时候,我们有一个初始化的 $V$ 和 $\pi$ 。然后就是在这两个过程之间迭代,左边这幅图上面这根曲线就是我们当前这个 v 这个值,下面是 policy 的值。就跟踢皮球一样,我们先给定当前已有的这个 policy function,然后去算它的这个 v。算出 v 过后,我们会得到一个 Q 函数,Q 函数我们采取 greedy 的策略,这样我们有踢皮球,踢回这个 policy 。然后就会进一步改进那个 policy ,得到一个改进的 policy 过后,它还不是最佳的,我们再进行 policy evaluation,然后又会得到一个新的 value function,基于这个新的 value function 再进行 Q 函数的极大化 ,这样就逐渐迭代,然后就会得到收敛。
|
||||
* 第一个步骤是 policy evaluation,就跟我们之前说的这个评价一个已有的这个价值函数的价值是一致的,就是我们当前我们在优化这个 policy $\pi$ ,所以在优化过程中得到一个最新的这个 policy 。让我们先保证这个 policy 不变,那么去估计它出来的这个价值。给定当前的policy function,去估计这个 v 函数。
|
||||
* 取得 v 函数过后,我们可以进一步推算出它的 Q 函数。得到 Q 函数过后,那我们就直接去取它的极大化。在 Q 函数上面取极大化,这样我们就有了第二步骤:改进它的策略。通过在这个 Q 函数上面做一个贪心的搜索,这样就会进一步改进它的策略。
|
||||
* 这两个步骤就一直是在迭代进行,所以在这个 policy iteration 里面,在初始化的时候,我们有一个初始化的 $V$ 和 $\pi$ 。然后就是在这两个过程之间迭代,左边这幅图上面这根曲线就是我们当前这个 v 的值,下面是 policy 的值。就跟踢皮球一样,我们先给定当前已有的这个 policy function,然后去算它的这个 v。算出 v 过后,我们会得到一个 Q 函数,Q 函数我们采取 greedy 的策略,这样我们有踢皮球,踢回这个 policy 。然后就会进一步改进那个 policy ,得到一个改进的 policy 过后,它还不是最佳的,我们再进行 policy evaluation,然后又会得到一个新的 value function。基于这个新的 value function 再进行 Q 函数的极大化 ,这样就逐渐迭代,然后就会得到收敛。
|
||||
|
||||

|
||||
|
||||
@@ -244,7 +248,7 @@ Policy evaluation 是说我们给定一个 MDP 以及给定一个 policy,然
|
||||
|
||||

|
||||
|
||||
当我们一直在采取这个 arg max这个操作的时候,我们会得到一个单调的递增。其实大致就是再说,我们通过采取这种 greedy ,这种 arg max 这个操作,然后是会得到更好的这个或者是不变的这个 policy,而不会使它这个价值函数变差。所以当这个改进停止过后,我们就会得到一个最佳策略。
|
||||
当我们一直在采取这个 arg max 这个操作的时候,我们会得到一个单调的递增。我们通过采取这种 greedy ,这种 arg max 这个操作,就会得到更好的或者不变的 policy,而不会使它这个价值函数变差。所以当这个改进停止过后,我们就会得到一个最佳策略。
|
||||
|
||||

|
||||
|
||||
@@ -264,29 +268,31 @@ $$
|
||||
|
||||

|
||||
|
||||
Value iteration 说的是我们把 Bellman Optimality Equation 当成一个 update rule 来进行,之前我们是说上面这个等式只有当整个状态已经到达最佳状态的时候,然后才满足。但是我们这里可以把它转换成一个 backup 的等式。 Backup 就是说一个迭代的一个等式,我们不停地去迭代 Bellman Optimality Equation,就希望能不停地迭代,到了最后,它能逐渐趋向于最佳的策略,所以这也是 value iteration 这个算法的精髓。就是我们去为了得到最佳的这个 $v^*$ ,对于每个状态它的 $v^*$ 这个值,我们直接把这个 Bellman Optimality Equation 进行迭代,迭代了很多次,之后它就会收敛。
|
||||
Value iteration 说的是我们把 Bellman Optimality Equation 当成一个 update rule 来进行,之前我们是说上面这个等式只有当整个状态已经到达最佳状态的时候,然后才满足。但这里可以把它转换成一个 backup 的等式。 Backup 就是说一个迭代的等式,我们不停地去迭代 Bellman Optimality Equation,到了最后,它能逐渐趋向于最佳的策略,所以这也是 value iteration 算法的精髓,就是我们去为了得到最佳的 $v^*$ ,对于每个状态它的 $v^*$ 这个值,我们直接把这个 Bellman Optimality Equation 进行迭代,迭代了很多次之后它就会收敛。
|
||||
|
||||

|
||||
|
||||
Value iteration 这个算法目的是为了得到一个最佳的一个策略。一个解法是直接把这个 `Bellman Optimality backup`,把它这个等式拿进来进行迭代,迭代很多次,然后收敛过后得到的那个值就是它的最佳的那个值。所以你看这个算法,开始的时候,它是先把所有值初始化,通过每一个状态,然后它会进行这个迭代。把等式 22 插到 等式 23 里面,那就是Bellman Optimallity backup 的那个等式。有了这个等式过后,然后进行不停的迭代,迭代过后,然后收敛。然后就会得到这个 $V^*$ 。当我们有这个 $V^*$ 过后,一个问题是如何进一步推算出它的最佳策略。最佳策略的话,我们可以直接用这个arg max,就先把它的 Q 函数重构出来,重构出来过后,我们可以对每一个列对应的最大的那个 action 就是应该它现在的最佳策略,这样我们可以就可以把这个最佳策略从这个这个最佳价值函数里面推导出来。
|
||||
Value iteration 算法的目的是为了得到一个最佳的策略。一个解法是直接把这个 `Bellman Optimality backup`,把它这个等式拿进来进行迭代,迭代很多次,收敛过后得到的那个值就是它的最佳的那个值。所以这个算法开始的时候,它是先把所有值初始化,通过每一个状态,然后它会进行这个迭代。
|
||||
|
||||
把等式 22 插到等式 23 里面,就是Bellman Optimallity backup 的那个等式。有了这个等式过后,然后进行不停地迭代,迭代过后,然后收敛。然后就会得到这个 $V^*$ 。当我们有这个 $V^*$ 过后,一个问题是如何进一步推算出它的最佳策略。最佳策略的话,我们可以直接用 arg max,就先把它的 Q 函数重构出来,重构出来过后,每一个列对应的最大的那个 action 就是它现在的最佳策略,这样就可以把最佳策略从最佳价值函数里面推导出来。
|
||||
|
||||

|
||||
|
||||
上图是一个可视化的一个过程,其实也是一个 grid world ,我们希望能在这个棋盘里面,不管你在哪一个位置开始,我们都希望能够到 goal 的这个点,左上角的那个点。因为它是一个迭代过程,然后我这里可视化了从 $v_1$ 到 $v_7$ 上面每一个状态。它的这个值的变化,你发现它的这个值逐渐在变化,而且现在是因为它每走一步,让它会得到一个负的一个值,所以它需要尽快的到达左上角,可以发现离它越远的那个值就就越大。$v_7$ 收敛过后,右下角那个值是 -6,也就相当于它要走六步,才能到达最上面那个值。而且离这个目的地越近了,它的价值越大。
|
||||
上图是一个可视化的过程。在一个 grid world 中,不管你在哪一个位置开始,我们都希望能够到 goal 的这个点,左上角的那个点。因为它是一个迭代过程,然后这里可视化了从 $v_1$ 到 $v_7$ 每一个状态的值的变化,它的这个值逐渐在变化。而且因为它每走一步,就会得到一个负的值,所以它需要尽快地到达左上角,可以发现离它越远的那个值就越大。$v_7$ 收敛过后,右下角那个值是 -6,也就相当于它要走六步,才能到达最上面那个值。而且离这个目的地越近,它的价值越大。
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
我们这里在可以来看一个 Demo,MDP 控制的过程。首先来看这个 policy iteration。之前我给大家看的这个例子,它们在每个状态都是采取固定的随机策略,就到每个状态都是都是 0.25 的概率往上往下往左往右,这里并没有策略的改变。但是我们现在想做 policy iteration,就是想每个状态都进行改变。Policy iteration 的过程是一个迭代过程。
|
||||
我们来看一个 MDP 控制的 Demo。首先来看这个 policy iteration。之前的例子,它们在每个状态都是采取固定的随机策略,就每个状态都是 0.25 的概率往上往下往左往右,这里没有策略的改变。但是我们现在想做 policy iteration,就是想每个状态都进行改变。Policy iteration 的过程是一个迭代过程。
|
||||
|
||||

|
||||
|
||||
我们先在这个状态里面,我们先 run 一遍 policy evaluation,我们就得到了一个 value function,就每个状态都有一个value function。
|
||||
我们先在这个状态里面 run 一遍 policy evaluation,就得到了一个 value function,每个状态都有一个 value function。
|
||||
|
||||

|
||||
|
||||
现在我们进行第二个步骤 policy improvement,按 policy update。按这个 policy update 过后,你可以发现有些格子里面的这个 policy 已经产生变化。比如说现在对于中间这个-1的这个状态,然后它的最佳策略是往下走。当你到达这个状态过后,你应该往下,这样就会得到最佳的这个值。让旁边这个绿色旁边的这个方块,它的策略也改变了,它现在选取的最佳策略是往左走,你说你在当前状态的时候,最佳策略应该是往左走才对。
|
||||
现在我们进行 policy improvement,按 policy update。按这个 policy update 过后,你可以发现有些格子里面的这个 policy 已经产生变化。比如说对于中间这个-1的这个状态,它的最佳策略是往下走。当你到达这个状态后,你应该往下,这样就会得到最佳的这个值。让旁边这个绿色旁边的这个方块,它的策略也改变了,它现在选取的最佳策略是往左走,在当前状态的时候,最佳策略应该是往左走才对。
|
||||
|
||||

|
||||
|
||||
@@ -298,20 +304,20 @@ Value iteration 这个算法目的是为了得到一个最佳的一个策略。
|
||||
|
||||

|
||||
|
||||
我们再 run 这个 policy evaluation,它的值又再不停地变换,变化之后现在又收敛了。
|
||||
我们再 run 这个 policy evaluation,它的值又再不停地变化,变化之后又收敛了。
|
||||
|
||||

|
||||
|
||||
|
||||
我们再来 run 一遍这个 policy update。现在它的值又会有变化,就在每一个状态,它的这个最佳的这个策略也会产生一些改变。
|
||||
我们再来 run 一遍 policy update。现在它的值又会有变化,就在每一个状态,它的这个最佳策略也会产生一些改变。
|
||||
|
||||

|
||||
|
||||
再来在这个状态下面进行改变,现在你看基本没有什么变化,就说明整个 MDP 已经收敛了。所以现在它每个状态的值就是它当前最佳的 value function 的值以及它当前状态对应的这个 policy 已经是最佳的 policy。我们可以简单来看,比如说现在我们在右上角这个 0.38 的这个位置,现在我们直接就可以根据它每个状态的这个值,比如现在右上角,然后它说现在应该往下走,我们往下走一步。它又说往下走,然后再往下走。现在我们有两个选择,一个是往左走,一个往下走。我们现在往下走,随着这个箭头的指示,我们就会到达中间 1.20 的一个价值的一个状态。如果能达到这个状态的话,我们会得到很多 reward 。这个说明了 policy iteration 的一个过程,把这个 gridworld 解决掉。解决掉的意思是说,不管在哪个状态,都可以顺着它这个状态对应的最佳的这个策略,然后到达我们可以获得最多奖励的一个状态。
|
||||
再来在这个状态下面进行改变,现在你看基本没有什么变化,就说明整个 MDP 已经收敛了。所以现在它每个状态的值就是它当前最佳的 value function 的值以及它当前状态对应的这个 policy 已经是最佳的 policy。我们可以简单来看,比如说现在我们在右上角这个 0.38 的这个位置,现在我们直接就可以根据它每个状态的这个值,比如现在右上角,然后它说现在应该往下走,我们往下走一步。它又说往下走,然后再往下走。现在我们有两个选择,一个是往左走,一个往下走。我们现在往下走,随着这个箭头的指示,我们就会到达中间 1.20 的一个价值的一个状态。如果能达到这个状态的话,我们会得到很多 reward 。这个说明了 policy iteration 的一个过程可以把 gridworld 解决掉。解决掉的意思是说,不管在哪个状态,都可以顺着它这个状态对应的最佳的这个策略来到达可以获得最多奖励的一个状态。
|
||||
|
||||

|
||||
|
||||
我们再来看用 value iteration 来解 MDP,点第 3 个 value iteration。 当它的这个值确定下来过后,然后它会产生它的最佳状态,这个最佳状态跟这个 policy iteration 得出来的最佳策略是一致的,就可以得到一个最佳的一个策略,然后在每个状态,我们跟着这个最佳策略走,然后就会到达最多可以得到奖励的一个状态。
|
||||
我们再用 value iteration 来解 MDP,点第 3 个 value iteration。 当它的这个值确定下来过后,然后它会产生它的最佳状态,这个最佳状态跟 policy iteration 得出来的最佳策略是一致的,就可以得到一个最佳的一个策略。然后在每个状态,我们跟着这个最佳策略走,就会到达最多可以得到奖励的一个状态。
|
||||
|
||||

|
||||
|
||||
@@ -319,9 +325,11 @@ Value iteration 这个算法目的是为了得到一个最佳的一个策略。
|
||||
|
||||

|
||||
|
||||
我们再来看一下 policy iteration 和 value iteration 的一个对比,这两个算法都是为了解 MDP 的控制问题,policy iteration 是由两部分组成的:policy evaluation 和 policy improvement。它很清楚的把这个过程分成了两步,就首先对于当前的这个已经搜索到的策略函数,然后对它进行一个估值,得到估值过后,把 Q 函数算出来,我们进一步进行改进。
|
||||
我们再来看一下 policy iteration 和 value iteration 的一个对比,这两个算法都是为了解 MDP 的控制问题。
|
||||
|
||||
但对于 value iteration 的话,它是直接把 Bellman Optimality Equation 拿进来,然后直接去寻找最佳的 value function,这里没有 policy function 在这里面,当我们把这个 optimal value function 算出来过后,那我们可以在最后再执行一步这个提取过程,最佳策略提取过程。这样就可以把它的最佳策略抽取过来。
|
||||
* Policy iteration 是由两部分组成的:policy evaluation 和 policy improvement。它很清楚的把这个过程分成了两步,就首先对于当前已经搜索到的策略函数,然后对它进行一个估值,得到估值过后,把 Q 函数算出来,我们进一步进行改进。
|
||||
|
||||
* 但对于 value iteration 的话,它是直接把 Bellman Optimality Equation 拿进来,然后直接去寻找最佳的 value function,没有 policy function 在这里面,当我们把这个 optimal value function 算出来过后,那我们可以在最后再执行一步这个提取过程,最佳策略提取过程。这样就可以把它的最佳策略抽取过来。
|
||||
|
||||

|
||||
|
||||
|
||||
Reference in New Issue
Block a user