2019年3月9日発売

『ガウス過程と機械学習』サポートページ

持橋大地 (統計数理研究所)  [ホームページ]
大羽成征 (京都大学)  [ホームページ]

News:

さまざまな分野でのガウス過程の例

天文学:
"Finding Galaxies in the Shadows of Quasers with Gaussian Processes", Roman Garnett, Shirley Ho, Jeff Schneider, ICML 2015.
紹介スライド (持橋): gpgalaxy.pdf [paper]
生態学:
"Fast and flexible Bayesian species distribution modelling using Gaussian processes", Methods in Ecology and Evolution 7(5), 2016. https://besjournals.onlinelibrary.wiley.com/doi/10.1111/2041-210X.12523
他にもありましたら, ぜひお知らせください.

実習用 Google Colaboratoryノートブック

2019/3/11に阪大で行われた機械学習・データ科学スプリングキャンプ 2019での実習用ノートブックです. 持橋分はあまり完成されていませんので, ご注意下さい. この内容は完全に無保証です.
上のファイルは読み取り専用ですので, 「ファイル」→「ドライブにコピーを保存」 でColaboratory上の新しいノートブックとして開くか, 「ファイル」→「.ipynbをダウンロード」でファイルをダウンロードすれば, 自分のPCで実行することができます.

ガウス過程についての全般的な情報源

ガウス過程の計算パッケージ

基本的には, パッケージに頼らずに本書の解説に従って自分でプログラムを書いてみることを強く推奨します. 下のサンプルプログラムもご覧下さい.

各章の計算プログラム

本書の図版に用いた, PythonおよびMATLABによる計算プログラムを公開しています.
全体に共通するライブラリ: library.zip (使い方はこの章の最後をご覧ください)
※読者の方から, 以下のPythonプログラムの一部のPython3版を公開したとの連絡をいただきました. こちらです. new!

1章 線形回帰モデル

説明プログラム,データ
単回帰モデル. スクリプト: linear.py
データ: linear.dat
重回帰モデル. スクリプト: multiple.py
データ: multiple.dat
基底関数による線形回帰モデル. スクリプト: lm.py
データ: nonlinear.dat

2章 ガウス分布

説明プログラム,データ
1次元のガウス分布の確率密度関数のプロット. スクリプト: gauss1.py
Box-Muller法による, ガウス分布からのサンプルの生成. スクリプト: gauss1-sample.py
2次元の標準ガウス分布のプロット. スクリプト: gauss2.py
相関を持つ2次元のガウス分布からのサンプルの生成. スクリプト: gauss2-gen.py

3章 ガウス過程

説明プログラム,データ

様々なカーネルによるガウス過程からのサンプル. スクリプト: kernels.py
ガウス過程回帰 (ハイパーパラメータ最適化なし). スクリプト: gpr-simple.py
データ: gpr.dat
ガウス過程回帰 (ハイパーパラメータ最適化あり). スクリプト: gpr.py
データ: gpr.dat
コーシー分布を観測モデルとする, 外れ値に頑健なガウス過程回帰. 推定には楕円スライスサンプリング(8章)を用いています. スクリプト: gpr-cauchy.py
elliptical.py
データ: gpr-cauchy.dat
ニューラルネットがガウス過程に漸近する様子. 各点が, 重みを事前分布からサンプルした1つのニューラルネットを表しています. スクリプト(MATLAB): nngp.m
step.m

5章 ガウス過程の計算法

説明プログラム,データ
補助変数法の例 (1次元の場合). スクリプト(MATLAB): gp1d.m
gk.m
両方を同じディレクトリに置いて, gp1d.mを実行すると図が描画できます.
KISS-GPのデモ. スクリプト(MATLAB): kissgp_demo.m
実行にはGPMLが必要です. 説明はスクリプトの内部に書かれていますので, そちらに従って下さい.

7章 ガウス過程による教師なし学習

説明プログラム,データ
ガウス過程による教師なし学習の概要図. スクリプト: unsup.py
ガウス過程潜在変数モデル (GPLVM). スクリプト: gplvm.py
データ: oil.dat oil.labels
オプションは % gplvm.py または % gplvm.py --help を実行してください.
仮想的な植物の個体数(久保さん緑本)の, ポアソン分布を用いたガウス過程回帰モデル. GPyを使用しています. スクリプト: gpr-poisson.py
データ: kubo.dat

library.zipの使用方法

% export PYTHONPATH=$PYTHONPATH:/foo/bar/library(展開したディレクトリ)
のようにして library/ ディレクトリにパスを通すか, 現在のディレクトリに
% unzip -j library.zip
としてファイルを展開してください.

動画など


daichi
Last modified: Tue Aug 16 09:54:04 2022