From 8dce73c2372088a1d927fedfda58c97c2fbceafe Mon Sep 17 00:00:00 2001 From: qiwihui Date: Mon, 8 Apr 2019 23:05:21 +0800 Subject: [PATCH] =?UTF-8?q?docs:=206.1=20TD=E9=A2=84=E6=B5=8B(=E4=B8=80)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- source/partI/chapter5/monte_carlo_methods.rst | 6 +- source/partI/chapter6/images/TD(0).png | Bin 0 -> 16001 bytes .../chapter6/temporal_difference_learning.rst | 111 ++++++++++++++++++ 4 files changed, 115 insertions(+), 4 deletions(-) create mode 100644 source/partI/chapter6/images/TD(0).png diff --git a/README.md b/README.md index 0c21ce1..315d477 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ - [x] 第2章(翻译) - [x] 第3章(翻译) - [x] 第4章(翻译) -- [ ] 第5章 +- [x] 第5章(翻译) - [ ] 第6章 - [ ] 第7章 - [ ] 第8章 diff --git a/source/partI/chapter5/monte_carlo_methods.rst b/source/partI/chapter5/monte_carlo_methods.rst index bac01ea..c5be0d2 100644 --- a/source/partI/chapter5/monte_carlo_methods.rst +++ b/source/partI/chapter5/monte_carlo_methods.rst @@ -1006,7 +1006,7 @@ Carlo ES,即 Monte Carlo with Exploring Starts)。 对于我们特别感兴趣的区域,可以准确地评估,而不需要费大力气去准确地评估剩余的状态集(我们将在第八章继续深入讲解)。 蒙特卡洛方法的第四个优点,也是我们在本书后续将谈论的,是它们对于违反马尔可夫过程的行为会受到更少的伤害。 -这是因为,它们对于价值估计的更新并非基于对下一个状态的估计,或者说,它们不引导(bootstrap)。 +这是因为,它们对于价值估计的更新并非基于对下一个状态的估计,或者说,它们不提升(bootstrap)。 设计蒙特卡洛控制方法时,我们遵循了第四章提出的 *广义策略迭代* (GPI)的整体架构。 GPI包含了策略评估和策略迭代的交互过程。蒙特卡洛方法提供了一种策略评估过程。 @@ -1031,9 +1031,9 @@ GPI包含了策略评估和策略迭代的交互过程。蒙特卡洛方法提 这一章的蒙特卡洛方法与上一章的动态规划方法有两个主要的不同点。 首先,它们对样本经验进行操作,因此可以不用模型,直接进行学习。 -其次,他们没有引导(bootstrap)。就是说,他们不依赖其他的价值估计来更新自己的价值估计。 +其次,他们没有提升(bootstrap)。就是说,他们不依赖其他的价值估计来更新自己的价值估计。 这两点不同并非紧密联系,可以分开谈论。 -下一章,我们将会考虑一种方法,它可以像蒙特卡洛那样从经验中学习,也可以像动态规划那样使用引导(bootstrap)。 +下一章,我们将会考虑一种方法,它可以像蒙特卡洛那样从经验中学习,也可以像动态规划那样使用提升(bootstrap)。 书目和历史评论 diff --git a/source/partI/chapter6/images/TD(0).png b/source/partI/chapter6/images/TD(0).png new file mode 100644 index 0000000000000000000000000000000000000000..ac90397722d5094727fdb2a8b4cf8b4f5d92d1fe GIT binary patch literal 16001 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 Nd1)1?Mu|^h{}1=OJ