- 強化學習:原理與Python實現
- 肖智清
- 738字
- 2019-10-11 15:10:18
1.5 如何學習強化學習
本節介紹強化學習需要的預備知識,以及如何學習強化學習,本節中還提供了一些參考資料。
1.5.1 學習路線
在正式學習強化學習前,需要了解一些預備的知識。在理論知識方面,你需要會概率論,了解概率、條件概率、期望等概念。要學習強化學習的最新進展,特別是AlphaGo等明星算法,你需要學習微積分和深度學習。在學習過程中往往需要編程實現來加深對強化學習的理解。這時你需要掌握一門程序設計語言。本書將使用Python 3作為編程語言。對于第6章到第9章的深度學習算法,配套的實現將基于深度學習庫TensorFlow。本書不介紹這些預備知識。
要學習強化學習理論,需要理解強化學習的概念,并了解強化學習的建模方法。目前絕大多數的研究將強化學習問題建模為Markov決策過程。Markov決策過程有幾種固定的求解模式。規模不大的問題可以求得精確解,規模太大的問題往往只能求得近似解。對于近似算法,可以和深度學習結合,得到深度強化學習算法。最近引起廣泛關注的明星算法,如AlphaGo使用的算法,都是深度強化學習算法。本書第2章介紹Markov決策過程,第3章到第9章介紹Markov決策問題的求解,其中也涵蓋了大多經典的深度強化學習算法。
在強化學習的學習和實際應用中,難免需要通過編程來實現強化學習算法。強化學習算法需要運行在環境中。Python擴展庫Gym是最廣泛使用的強化學習實驗環境。本書1.6節將介紹強化學習實驗環境Gym庫的安裝。強化學習算法需要和環境交互。本書各章節在介紹理論知識的同時,都會涉及強化學習算法的實現。本書第10章到第12章通過一些比較大型的例子來演示強化學習的綜合應用。
1.5.2 學習資源
本書作為一套完整的強化學習教程,將引領讀者實現從入門到精通。同時,如果還希望閱讀英文教程對照參考,推薦Richard Sutton等在2018年出版的《Reinforcement Learning:An Introduction(第2版)》。該書和本書使用相同的數學符號和技術術語,和本書完全兼容。
- MySQL數據庫管理實戰
- Java EE 6 企業級應用開發教程
- DevOps Automation Cookbook
- Instant Typeahead.js
- Mastering C# Concurrency
- Amazon S3 Cookbook
- 可解釋機器學習:模型、方法與實踐
- JavaCAPS基礎、應用與案例
- Keras深度學習實戰
- C++從入門到精通(第5版)
- ElasticSearch Cookbook(Second Edition)
- Building Wireless Sensor Networks Using Arduino
- Python Data Science Cookbook
- TypeScript 2.x By Example
- 并行編程方法與優化實踐