覚え書きブログ

Pythonによる機械学習6(強化学習の基礎 1/3)

今回は、まず、強化学習の基礎(教師あり学習との違い、動物の行動学習、定式化)について学びます。そして、演習で用いるベンチマークツールのopen AI Gymのセットアップを行います。

Pythonによる機械学習6(強化学習の基礎 1/3)の目次】

参考書

本ブログの内容の詳細は、「機械学習スタートアップシリーズ ゼロからつくるPython機械学習プログラミング入門」に掲載されています。
機械学習に必要な数学の復習から、機械学習アルゴリズムの導出およびPythonの基本ライブラリのみを用いた実装方法まで学びたい方は、本書籍をご活用ください。
bookclub.kodansha.co.jp

機械学習の種類

前回まで学んだニューラルネットワークを用いた分類は、入力ベクトルxがどのカテゴリに属しているのかを表す出力ベクトルtを人間が用意していました。このような正しい出力データを用意する機械学習手法のことを、教師あり学習と呼びます。教師あり学習の他に、機械学習の手法には、大きく分けて「教師なし学習」、「半教師学習」および「強化学習」があります。
f:id:hirotaka_hachiya:20181125230631p:plain

教師あり学習は、教師データを用意できることが前提になるため、実用面で以下の問題があります。
f:id:hirotaka_hachiya:20181125223823p:plain

強化学習の定式化

動物の行動学習の実験:
f:id:hirotaka_hachiya:20181125231713p:plain
f:id:hirotaka_hachiya:20181125231803p:plain

動物の行動学習の「試行錯誤学習」と「報酬学習」とをモデルにし、強化学習では、教師データを用意する代わりに、報酬関数という「出力の良し悪し」を評価する関数を導入します。
f:id:hirotaka_hachiya:20181125234448p:plain

この報酬関数を用いて、強化学習を以下のように定式化します。
f:id:hirotaka_hachiya:20181126112707p:plain

ここで用いる期待値の定義は以下のようになっています。
f:id:hirotaka_hachiya:20181126160136p:plain