R/Pythonではじめる計算論的精神医学

  • 未刊
定価 5,940円(本体 5,400円+税10%)
宗田卓史
国立精神・神経医療研究センター神経研究所
遠山朝子
一橋大学社会科学高等研究院
国里愛彦
専修大学人間科学部
沖村宰
昭和大学発達障害医療研究所
片平健太郎
産業技術総合研究所人間情報インタラクション研究部門
山下祐一
国立精神・神経医療研究センター神経研究所
B5判変型・280頁
ISBN978-4-7653-2044-3
2025年03月 刊行
【 冊子在庫 】
未刊
購入数

★2025年3月下旬 発売予定!★

R/PythonをGoogle Colabで動かして学ぶ! 計算論的精神医学

内容紹介

本書は、RとPythonを活用して、計算論的精神医学による研究を促進するための、数理モデル、数式、プログラミングをわかりやすく解説し、実際にシミュレーションやデータへのモデルフィッティングを行う方法を手引きした入門書です。

計算論的アプローチのハードルの一つは、高度な数式の理解とそれを実際のプログラミングにどう落とし込むことですが、チュートリアル形式で実際に手を動かして可視化しながら、研究に必要なプログラミングについて、順を追って学習でき、計算論的アプローチによる研究手法がわかるようになります。

そのまま動作するRやPythonのコードをGoogle Colaboratory上に公開していますので、本書と併せて、独習でも「生物物理学モデル」「ニューラルネットワークモデル」「強化学習モデル」「ベイズ推論モデル」への理解が深まり、誰でも計算論的精神医学におけるモデリングを体験できる仕組みになっています。

序文

はじめに

本書は著者の一部が以前に執筆した「計算論的精神医学:情報処理過程から読み解く精神障害」(国里ほか著、勁草書房より2019年に出版)の内容に関して、実際にシミュレーションやデータへのモデルフィッティングを行う方法を解説した本です。入門者が独習できる本となるよう心掛けましたが、その内容は決して理解が容易なものばかりではないと思います。むしろ、少し手を加えればそのまま研究につながるようなものも多く含まれています。

しかし、プログラミングの方法と処理の流れについては丁寧に解説しており、そのまま動作するPythonコードやRコードをGoogle Colaboratory上に公開しています。本書の解説を読みながらプログラムを動かすことで、誰でも計算論的精神医学におけるモデリングを体験することができます。さらに、パラメータやモデルの構造を自分の手で変えて動作を確認することで、モデルへの理解が深まり、行動や認知、精神障害への洞察も得られるはずです。

上述の前著は幸いなことに予想以上に多くの皆さまにご愛読いただきました。その一方で、読者からは実際にそこで書かれているような研究に取り組むにはどうしたらよいか、という声もいただきました。本書はその声に応えられるように、計算論的精神医学に取り組んでいる若手の研究者も著者に加わり、議論を重ねながら執筆しました。

計算論的精神医学はまだ十分に確立された分野ではなく、他の多くのプログラミングに関する本のように、既存のライブラリやパッケージを使って数行のコードを書けば容易にデータ分析ができて結果が出てくる、というものではありません。モデルの構築から、シミュレーションまで、その処理を逐次、コードで書かなければならないところも多くあります。本書はその一連の作業を説明するためのものです。したがって、本書は他の類書と比べてもコードの量や、その処理と対応する数式も多くなっています。最近でこそChatGPTを代表とする大規模言語モデルにより、プログラムはそこまでの事前知識がなくても書ける身近なものになりました。しかし、計算論的精神医学で使われるモデルやそのシミュレーションについてはある程度の技術的な理解が必要なことも多く、処理の流れを数式とも対応づけながら本書でしっかり理解することは必ず役に立つはずです。一度それを理解すれば、大規模言語モデルへの指示もしやすく(プロンプトも作りやすく)なるでしょう。

本書が、読者のみなさまが計算論的精神医学研究への第一歩を踏み出すきっかけとなることを願っています。

著者一同

目次

1章 計算論的精神医学概論(なぜ計算論に期待が高まるのか)

1.計算論的精神医学とは

2.データ駆動型アプローチと理論駆動型アプローチ

3.国内外動向と本書の位置づけ

4.本書のスコープ、読者のためのロードマップ

2章 Google Colaboratory入門

1.Google Colaboratoryについて
1.1 Google Colaboratoryの利点

2.Google Colaboratoryの使い方
2.1 準備
2.2 実行

3.発展的な内容
3.1 困ったときには……
3.2 セルの追加
3.3 役立つ機能

3章 生物物理学的モデル

1.生物物理学的モデルを体験してみよう
1.1 本章の目標
1.2 そもそも脳とは何だろう
1.3 受容体機能の変化によるワーキングメモリ障害
1.4 シミュレーションをしてみよう!
1.5 本章の構成について

2.膜電位とスパイクのモデル
2.1 シミュレーションをしてみよう!
2.2 理論編
- COLUMN 微分方程式と数値計算
2.3 実装編

3.イオンチャネルのモデル
3.1 シミュレーションをしてみよう!
3.2 理論編
3.3 実装編

4.NMDA受容体付き神経細胞
4.1 シミュレーションをしてみよう!
4.2 理論編
4.3 実装編
- COLUMN ホジキン・ハックスリーモデル

5.ワーキングメモリモデル
5.1 ワーキングメモリモデルの概要
5.2 理論編
5.3 実装編
5.4 シミュレーションをしてみよう!
5.5 最後に

4章 ニューラルネットワークモデル

1.本章の目的
- COLUMN ニューラルネットワークモデルの歴史から学ぶ脳と人工知能の対照

2.活性化関数
- COLUMN 速習・オブジェクト指向言語

3.線形層

4.多層パーセプトロン
4.1 モデルと数式
4.2 実装
4.3 パーセプトロンの動作検証
4.4 ストループ課題への適用

5.誤差逆伝播法
5.1 原理的理解
- COLUMN 誤差逆伝播法の基礎1:勾配降下法
5.2 Py Torchによる実装
5.3 多層パーセプトロンの学習

6.認知行動課題のタスク設定

7.リカレントニューラルネットワークモデル
7.1 モデルと数式
7.2 実装
7.3 学習と予測

8.仮想障害シミュレーション
8.1 実装
8.2 比較実験
8.3 最後に

5章 強化学習モデル

1.強化学習モデルと本章で扱う内容について
1.1 強化学習モデルの概要
1.2 本章の構成
1.3 行動データのファイルに関して
1.4 Rの使用に関して
1.5 本章で作成する関数について

2.本章で扱う行動課題
2.1 課題を体験してみよう
2.2 関数の作成(課題設定用コード)
2.3 課題設定の可視化

3.強化学習モデル
3.1 価値の更新
3.2 選択確率の計算
3.3 選択

4.行動データの生成
4.1 関数の作成(データ生成用コード)
4.2 1人分のデータ生成
4.3 100人分のデータ生成

5.パラメータ推定
5.1 サンプルデータの確認
5.2 尤度、対数尤度
5.3 関数の作成(対数尤度を算出するコード)
5.4 optim関数の紹介
5.5 関数の作成(最尤推定を行うコード)
5.6 パラメータ推定の実行

6.パラメータリカバリー

7.モデル比較
7.1 学習率の非対称性を組み込んだモデル
7.2 モデル比較の実行

8.最後に
- COLUMN モデルの信頼性と妥当性

6章 ベイズ推論モデル

1.ベイズ推論モデル
1.1 ベイズ推論モデルとは
1.2 状態空間モデルとは

2.パラメータ化信念更新モデル
2.1 ビーズ課題
2.2 パラメータ化信念更新モデルとは
2.3 パラメータ化信念更新モデルのパラメータ推定
- COLUMN 最適化手法について

3.カルマンフィルター
3.1 ポイントの出るスロットマシーン課題
3.2 カルマンフィルターとは
3.3 カルマンフィルターのパラメータ推定

4.階層ガウシアンフィルター
4.1 変動性のある逆転学習課題
4.2 階層ガウシアンフィルターとは
4.3 PyHGF による階層ガウシアンフィルター
- COLUMN 変動性カルマンフィルター

5.能動的推論
5.1 自由エネルギー原理とは
5.2 能動的推論モデルの実装
- COLUMN 能動的推論を用いた心理療法の作用メカニズム研究
- COLUMN 潜在原因モデル

計算論的精神医学は精神医学にどのように貢献できるか? ―あとがきに代えてー
索引

執筆者一覧

■著
宗田卓史  国立精神・神経医療研究センター神経研究所
遠山朝子  一橋大学社会科学高等研究院
国里愛彦  専修大学人間科学部
沖村宰   昭和大学発達障害医療研究所
片平健太郎 産業技術総合研究所人間情報インタラクション研究部門
山下祐一  国立精神・神経医療研究センター神経研究所

トピックス