GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

ShangtongZhang

reinforcement-learning-an-introduction – 強化学習のPython実装:はじめに

投稿日:

強化学習のPython実装:はじめに

強化学習:はじめに

Sutton&Bartoの本のためのPythonコード強化学習:はじめに(第2版)

コードに関する混乱やバグを報告したい場合は、私に直接メールを送るのではなく、問題を開いてください。

内容

クリックするとサンプル出力が表示されます

第1章

  1. ○×ゲーム

第2章

  1. 図2.1:10本の武装したテストベッドの模範的な弱点
  2. 図2.2:10本のテストベッド上のイプシロン・グリーディ・アクション・バリュー・メソッドの平均性能
  3. 図2.3:楽観的な初期行動価値推定
  4. 図2.4:10本のテストベッド上のUCBアクション選択の平均パフォーマンス
  5. 図2.5:グラジエント・バンディット・アルゴリズムの平均性能
  6. 図2.6:様々な積分アルゴリズムのパラメータ研究

第3章

  1. 図3.5:ランダムポリシーを使用したグリッドの例
  2. 図3.8:gridworldの例に対する最適解

第4章

  1. 図4.1:小さなグリッドワールドにおける反復的な政策評価の収束
  2. 図4.2:ジャックのレンタカー問題
  3. 図4.3:ギャンブラーの問題に対する解決策

第5章

  1. 図5.1:ブラックジャックポリシーの近似状態値関数
  2. 図5.3:Monte Carlo ESが発見したブラックジャックの最適ポリシーと状態価値関数
  3. 図5.4:重み付き重要度のサンプリング
  4. 図5.5:驚くほど不安定な見積もりによる通常の重要度サンプリング

第6章

  1. 図6.2:ランダムウォーク
  2. 図6.3:バッチ更新
  3. 図6.4:Sarsaは風の強いグリッドの世界に適用されています
  4. 図6.5:崖歩きの仕事
  5. 図6.7:TD制御方法の中間および漸近性能
  6. 図6.8:QラーニングとダブルQラーニングの比較

第7章

  1. 図7.2:19状態ランダムウォークにおけるn-step TD法の性能

第8章

  1. 図8.3:Dyna-Qエージェントのプランニングステップ数が異なる平均学習曲線
  2. 図8.5:ブロックタスクのDynaエージェントの平均パフォーマンス
  3. 図8.6:ショートカットタスクでのDynaエージェントの平均パフォーマンス
  4. 図8.7:優先掃引は、Dyna迷路タスクの学習時間を大幅に短縮します

第9章

  1. 図9.1:1000状態ランダムウォークタスクにおけるグラディエントモンテカルロアルゴリズム
  2. 図9.2:1000状態ランダムウォークタスクにおける半勾配nステップTDアルゴリズム
  3. 図9.5:1000状態のランダムウォークタスクにおけるフーリエ基底と多項式
  4. 図9.8:初期の汎化と漸近精度に対する特徴幅の効果の例
  5. 図9.10:1000状態のランダムウォークタスクにおける単一のタイリングと複数のティリング

第10章

  1. 図10.1:マウンテン・カー・タスクのコスト・トゥ・ゴーイング機能
  2. 図10.2:マウンテンカータスクでのセミグラディエントSarsaの学習曲線
  3. 図10.3:マウンテンカータスクでのセミグラディエントSarsaの1ステップ対複数ステップパフォーマンス
  4. 図10.4:n-step semi-gradient Sarsaの初期性能に及ぼすアルファとnの影響
  5. 図10.5:アクセス制御キューイングタスクの差分セミグラディエントSarsa

第11章

  1. 図11.2:ベアードの反例
  2. 図11.6:Bairdの反例におけるTDCアルゴリズムの振る舞い
  3. 図11.7:Bairdの反例に対する期待通りのETDアルゴリズムの振る舞い

第12章

  1. 図12.3:19状態ランダムウォークにおけるオフラインλリターンアルゴリズム
  2. 図12.6:19状態ランダムウォークのTD(λ)アルゴリズム
  3. 図12.8:19状態ランダムウォークにおける真のオンラインTD(λ)アルゴリズム
  4. 図12.10:マウンテンカーのトレースを置き換えるサルサ(λ)
  5. 図12.11:マウンテンカーでのSarsa(λ)アルゴリズムのサマリー比較

環境

  • Python2またはPython3
  • ナンシー
  • Matplotlib
  • 6人
  • シーボーン

使用法

git clone https://github.com/ShangtongZhang/reinforcement-learning-an-introduction.git
cd reinforcement-learning-an-introduction/chapterXX
python XXX.py

貢献

このプロジェクトには、本のほぼすべてのプログラム可能な図が含まれています。 しかし、私がこのプロジェクトを完了すると、その本はまだ草案であり、いくつかの章はまだ不完全です。 さらに、私のマシンの計算能力が限られているため、いくつかの実験では限定された実行とエピソードしか使用できないので、サンプル出力は本のそれよりははるかに滑らかです。

本書の演習や不足しているサンプルを寄稿したい場合は、既存のコードにいくつかのバグを修正し、サンプル出力を高品質で提供し、RLに関する新しい興味深い実験を追加したり、自由に問題を開いたりプルリクエストを行ったりできます。 私は非常に感謝します。 また、サンプルの出力にコメントすることも自由です。いくつかの曲線は本当に面白いです。

以下は、知られていない数字/例です。

  • 例3.4:ポールバランシング
  • Example 3.6:Pokerを描く
  • 例5.2:ソープバブル
  • 例8.5:ロッドの操作
  • 図12.14:λの効果(私は今のところそれを複製する時間がありません)
  • 第14章と第15章は心理学と神経科学についてのものです
  • 第16章:バックギャモン、Acrobot、Go

Jupyter Notebookのバージョンは現在Kulbearによって開発されており 、完成した章はノートブックの支店で入手できます。







-ShangtongZhang
-,

執筆者: