モデルベース解析

(ページのアップグレードに伴い,添付ファイルへのリンクが切れているところがあるかもしれません。添付ファイル自体はページ末尾にリンクがあります。)

強化学習モデルを用いたモデルベース解析の基礎

強化学習モデルを用いたモデルベース解析についての解説です。基礎的な知識と,R, Python, Matlabを用いた実装法について解説をしています。

モデルベース解析に用いられるモデル,その解釈について

強化学習モデルの学習率α,逆温度 (探索傾向) β, 報酬価値等のパラメータが実際の選択行動とどのように関係するかということについて議論しています。回帰モデル (ロジスティック回帰) による選択行動の履歴依存性の解析についても紹介し,Q学習モデルとの関係についても議論しています。 本稿の内容の一部は Katahira, J. Math. Psychol., 2015に基づいています。 

-Daw et al. (2006) を例としながら,学習のベイズモデルとしてのカルマンフィルタについて解説しています。モデルベース解析の話題からは少し外れますが,Kruschke (2008) 等で議論されている,カルマンフィルタによる古典的条件づけについての現象 (潜在制止と逆行阻止) の説明もしています。

Daw et al. (2011) 等のモデルベース強化学習の枠組みについて解説しています。 

(エモーション・スタディーズ3 巻 (2017) 1 号に解説記事が掲載されています)

[Rコード: RLmood_functions.R, RLmood_simulation.R (2つのコードは同一ディレクトリに置いてください。

RLmood_simulation.Rを実行するとシミュレーションが実行されます。) 

モデル選択について

最尤推定をベースとしたモデル選択法について簡単に解説しています。具体的には,AIC, BIC, 尤度比検定,ベイズファクター等について。

モデルベース解析におけるパラメータ推定について

以下の内容について紹介します。

まずは以下の資料でも解説している,MCMC法を用いた階層ベイズ法を試してみることをお勧めします。

Stanを使えば実装もこちらの方がずっと楽です。)

モデルベース解析Q & A  - いただくことの多い質問への回答をいくつか記しておきたいと思います。

一般的な目安としては,少なくとも80試行以上はあるのが望ましいと思います。そして多いに越したことはないですが,実験参加者の負担等の制約も考慮して決めていく必要があると思います。可能であれば,想定しているモデルと実際に用いる実験課題でシミュレーションをし,そのデータをもとにパラメータ推定をしてみるとだいたいの推定精度の見通しを立てるのに役立ちます。

最適化関数にはオプションで探索範囲を制限できるものも多いです。Rのoptimであれば,lower, upperというオプションで指定できます。
上記のサンプルコードにもif (False) {...} と無効化されている部分にそれが記述されています。
Matlabだとfminserchでは探索範囲の指定ができませんが,fminconであればそれが可能です。詳細は各関数のマニュアルをご覧ください。
また,値を制限すると,学習率が0や1.0にへばりついてしまう場合が多くあります。
この問題については,各パラメータに事前分布を課してベイズ事後確率最大化推定 (MAP推定) を行う方法や,階層モデルを用いる方法があります。詳しくは,集団データに対するパラメータ推定についてをご覧ください。また,それらの方法の妥当性については,片平のKatahira (2016)で議論していますのでご参照ください。推奨される事前分布については,Gershman (2016) も参考になります。

その他

Copyright (C) 2018 Kentaro Katahira, All rights reserved.

本ページに掲載されている資料の再配布は禁止します。