http://nbviewer.ipython.org/github/bakfoo/pyconjp/tree/master/
修士の大学院生レベルですが,確率論的プログラミング入門として,以下のビデオチュートリアルは非常に良いです.
Harvard Extentions AM207
Machine Learning Summer School in Sydney, 2015 http://rp-www.cs.usyd.edu.au/~mlss/
Machine Learning Summer School in Iceland, 2014 http://mlss2014.hiit.fi/slides.php
from IPython.display import YouTubeVideo
# Bob Carpenter: "Bayesian Inference and MCMC" in MLSS Sydney 2015
YouTubeVideo('qQFF4tPgeWI')
# Bob Carpenter: "Stan Hands-on" in MLSS Sydney 2015
YouTubeVideo('6NXRCtWQNMg')
# Michael Betancourt: "Hamiltonian Monte Carlo and Stan" in MLSS Iceland 2014
YouTubeVideo('pHsuIaPbNbY')
# Michael Betancourt: "Hamiltonian Monte Carlo and Stan" in MLSS Iceland 2014
YouTubeVideo('xWQpEAyI5s8')
確率論的プログラミングはまだ若い分野ですので,計算環境の構築方法が成熟していません.チュートリアルではpymc3やpystanを利用しますが,それらの開発者は基本的にUbuntuにAnaconda Pythonを利用してるので,まともに動作する環境はどうしてもUbuntu + Anacondaが中心になってしまいます.以下に構築前の注意を列挙します.
http://nbviewer.ipython.org/github/bakfoo/pyconjp/tree/master/
それぞれのOS環境にて,C/C++のビルドができるところまで完了している,というのがチュートリアル環境を構築するための大前提です.たとえばUbuntuでは,
apt-get install build-essential
が完了している,ということです.OSX環境であればXcodeとコマンドラインツールがインストール済みで,コマンドラインでgccが動作するということです.
以下のサイトからダウンロードしてAnaconda Pythonをインストールしてください.Python3.4を使います.
https://www.continuum.io/downloads
すでにAnaconda環境がある場合は,以下のようにpython環境を新しくすれば,既存の環境を壊すことなくチュートリアルの環境が構築できます.
conda create -n pycon python=3.4
source activate pycon
conda install anaconda
以下の手順でpipを利用してpymc3を構築します.ポイントはtheano, pymc3ともに最新版のリポジトリのものを利用しないとバグのために動作しない,ということです.インストール時にc/c++のビルドを行います.公式インストール手順:https://pymc-devs.github.io/pymc3/getting_started/
pip install --upgrade --no-deps git+git://github.com/Theano/Theano.git
pip install --process-dependency-links git+https://github.com/pymc-devs/pymc3
pip install pasty
pip install seaborn
次に以下の手順でpipを利用してpystanを構築します.インストール時にc/c++のビルドを行います.公式インストール手順:https://pystan.readthedocs.org/en/latest/getting_started.html
pip install pystan
以上でチュートリアル環境の構築は終了です.
注意: 下記にある三番目のdocker runの"[LOCAL DIR]”の部分はご自分のディレクトリを指定ください.
docker-machine create --driver virtualbox --virtualbox-memory 3081 dev
eval "$(docker-machine env dev)"
docker run -t -i -v [LOCAL DIR]:/notebook -p 8888:8888 yutakashino/pyconjp:v1.2 /bin/bash
root@d3c2644d9fb3:/notebook# git clone https://github.com/bakfoo/pyconjp.git
root@d3c2644d9fb3:/notebook# ipython notebook --ip=* --port=8888
http://192.168.99.101:8888/tree/pyconjp