Update chapter2_questions&keywords.md

This commit is contained in:
David Young
2020-10-22 10:15:20 +08:00
committed by GitHub
parent b1d9106a49
commit dacb9056af

View File

@@ -2,7 +2,7 @@
## 1 Keywords
- **马尔可夫性质(Markov Property):** 如果某一个过程未来的转移跟过去是独立的,即只取决于现在,那么其满足马尔可夫性质。换句话说,一个状态的下一个状态只取决于它当前状态,而跟它当前状态之前的状态都没有关系。
- **马尔可夫性质(Markov Property):** 如果某一个过程未来的转移跟过去是无关,只由现在的状态决定,那么其满足马尔可夫性质。换句话说,一个状态的下一个状态只取决于它当前状态,而跟它当前状态之前的状态都没有关系。
- **马尔可夫链(Markov Chain):** 概率论和数理统计中具有马尔可夫性质Markov property且存在于离散的指数集index set和状态空间state space内的随机过程stochastic process
- **状态转移矩阵(State Transition Matrix):** 状态转移矩阵类似于一个 conditional probability当我们知道当前我们在 $s_t$ 这个状态过后,到达下面所有状态的一个概念,它每一行其实描述了是从一个节点到达所有其它节点的概率。
- **马尔可夫奖励过程(Markov Reward Process, MRP)** 即马尔可夫链再加上了一个奖励函数。在 MRP之中转移矩阵跟它的这个状态都是跟马尔可夫链一样的多了一个奖励函数(reward function)。奖励函数是一个期望,它说当你到达某一个状态的时候,可以获得多大的奖励。
@@ -11,7 +11,7 @@
- **Bellman Equation贝尔曼等式:** 定义了当前状态与未来状态的迭代关系表示当前状态的值函数可以通过下个状态的值函数来计算。Bellman Equation 因其提出者、动态规划创始人 Richard Bellman 而得名 ,同时也被叫作“动态规划方程”。$V(s)=R(S)+ \gamma \sum_{s' \in S}P(s'|s)V(s')$ ,特别地,矩阵形式:$V=R+\gamma PV$。
- **Monte Carlo Algorithm蒙特卡罗方法** 可用来计算价值函数的值。通俗的讲我们当得到一个MRP过后我们可以从某一个状态开始然后让它让把这个小船放进去让它随波逐流这样就会产生一个轨迹。产生了一个轨迹过后就会得到一个奖励那么就直接把它的 Discounted 的奖励 $g$ 直接算出来。算出来过后就可以把它积累起来,当积累到一定的轨迹数量过后,然后直接除以这个轨迹,然后就会得到它的这个价值。
- **Iterative Algorithm动态规划方法** 可用来计算价值函数的值。通过一直迭代对应的Bellman Equation最后使其收敛。当这个最后更新的状态跟你上一个状态变化并不大的时候这个更新就可以停止。
- **Q函数 (action-value function)**其定义的是某一个状态某一个行为,对应的它有可能得到的 return 的一个期望( over policy function
- **Q函数 (action-value function)**其定义的是某一个状态某一个行为,对应的它有可能得到的 return 的一个期望over policy function
- **MDP中的prediction即policy evaluation问题**给定一个 MDP 以及一个 policy $\pi$ ,去计算它的 value function即每个状态它的价值函数是多少。其可以通过动态规划方法Iterative Algorithm解决。
- **MDP中的control问题** 寻找一个最佳的一个策略,它的 input 就是MDP输出是通过去寻找它的最佳策略然后同时输出它的最佳价值函数(optimal value function)以及它的这个最佳策略(optimal policy)。其可以通过动态规划方法Iterative Algorithm解决。
- **最佳价值函数(Optimal Value Function)**我们去搜索一种 policy $\pi$ ,然后我们会得到每个状态它的状态值最大的一个情况,$v^*$ 就是到达每一个状态,它的值的极大化情况。在这种极大化情况上面,我们得到的策略就可以说它是最佳策略(optimal policy)。optimal policy 使得每个状态,它的状态函数都取得最大值。所以当我们说某一个 MDP 的环境被解了过后,就是说我们可以得到一个 optimal value function然后我们就说它被解了。
@@ -24,9 +24,8 @@
1. 首先,是有些马尔可夫过程是**带环**的,它并没有终结,然后我们想**避免这个无穷的奖励**
2. 另外,我们是想把这个**不确定性**也表示出来,希望**尽可能快**地得到奖励,而不是在未来某一个点得到奖励;
3. 其次,如果这个奖励是它是有实际价值的了,我们可能是更希望立刻就得到奖励,而不是我们后面再得到奖励。
4. 在人的行为里面来说的话,其实也是大家也是想得到立刻奖励;
5. 还有在有些时候,这个系数也可以把它设为 0。比如说当我们设为 0 过后,然后我们就只关注了它当前的奖励。我们也可以把它设为 1设为 1 的话就是对未来并没有折扣,未来获得的奖励跟我们当前获得的奖励是一样的。
3. 接上面一点,如果这个奖励是它是有实际价值的了,我们可能是更希望立刻就得到奖励,而不是我们后面再得到奖励。
4. 还有在有些时候,这个系数也可以把它设为 0。比如说当我们设为 0 过后,然后我们就只关注了它当前的奖励。我们也可以把它设为 1设为 1 的话就是对未来并没有折扣,未来获得的奖励跟我们当前获得的奖励是一样的。
所以,这个系数其实是应该可以作为强化学习 agent 的一个 hyperparameter 来进行调整,然后就会得到不同行为的 agent。
@@ -39,7 +38,7 @@
答:
1. **Monte Carlo Algorithm蒙特卡罗方法** 可用来计算价值函数的值。通俗的讲我们当得到一个MRP过后我们可以从某一个状态开始然后让它让把这个小船放进去让它随波逐流这样就会产生一个轨迹。产生了一个轨迹过后就会得到一个奖励那么就直接把它的 Discounted 的奖励 $g$ 直接算出来。算出来过后就可以把它积累起来,当积累到一定的轨迹数量过后,然后直接除以这个轨迹,然后就会得到它的这个价值。
2. **Iterative Algorithm动态规划方法** 可用来计算价值函数的值。通过一直迭代对应的Bellman Equation最后使其收敛。当这个最后更新的状态跟你上一个状态变化并不大的时候这个更新就可以停止。
2. **Iterative Algorithm动态规划方法** 可用来计算价值函数的值。通过一直迭代对应的Bellman Equation最后使其收敛。当这个最后更新的状态跟你上一个状态变化并不大的时候通常是小于一个阈值 $\gamma$ 这个更新就可以停止。
3. **以上两者的结合方法:**另外我们也可以通过 Temporal-Difference Learning 的那个办法。这个 `Temporal-Difference Learning``TD Leanring`,就是动态规划和蒙特卡罗的一个结合。
- 马尔可夫奖励过程MRP与马尔可夫决策过程 MDP的区别
@@ -62,7 +61,7 @@
具体方法:
1. **穷举法(一般不使用):**假设我们有有限多个状态、有限多个行为可能性,那么每个状态我们可以采取这个 A 种行为的策略,那么总共就是 $|A|^{|S|}$ 个可能的 policy。我们可以把这个穷举一遍然后算出每种策略的 value function然后对比一下可以得到最佳策略。但是效率极低。
2. **Policy iteration** 一种迭代方法,有两部分组成,下面两个步骤一直在迭代进行,最终收敛:
2. **Policy iteration** 一种迭代方法,有两部分组成,下面两个步骤一直在迭代进行,最终收敛:(有些类似于ML中EM算法期望-最大化算法))
- 第一个步骤是 **policy evaluation** ,即当前我们在优化这个 policy $\pi$ ,所以在优化过程中得到一个最新的这个 policy 。
- 第二个步骤是 **value iteration** ,即取得价值函数后,进一步推算出它的 Q 函数。得到 Q 函数过后,那我们就直接去取它的极大化。
3. **Value iteration:** 我们一直去迭代 Bellman Optimality Equation到了最后它能逐渐趋向于最佳的策略这是 value iteration 算法的精髓,就是我们去为了得到最佳的 $v^*$ ,对于每个状态它的 $v^*$ 这个值,我们直接把这个 Bellman Optimality Equation 进行迭代迭代了很多次之后它就会收敛到最佳的policy以及其对应的状态这里面是没有policy function的。