Git Product home page Git Product logo

pythonbayesianmlbook's Introduction

PythonBayesianMLBook

「Pythonではじめるベイズ機械学習入門」のサポートページです。 本で紹介されているソースコードや正誤表を掲載していく予定です。

notebookの実行環境

2022年5月現在、Google Colaboratoryで実行するのが一番簡単です。 各notebookの下記アイコンをクリックするだけで開けます。 colab-badge

今後、Colaboratoryのライブラリのバージョン変更などで動かなくなった場合、書籍に記載のバージョンをインストールして実行してください。requirements.txtも用意してあります。

正誤表

ページ 該当箇所
第4刷まで p.43 下段コードブロック5, 6行目 # 撹乱項 $\varepsilon$ は平均0の一様分布に従うとする
z_proposal = z_current + step_size * np.random.uniform(-1, 1)
# 撹乱項 $\varepsilon$ は平均0の正規分布に従うとする
z_proposal = z_current + step_size * np.random.randn()

*これに伴い図1.7~図1.13もやや変更あり(本レポジトリのnotebook/1_3_近似推論手法.ipynb参照)。なお、p39に記載の通りランダムウォークMH法では一様分布を利用する場合もあります。
第4刷まで p.45 下段コードブロック6行目 x_proposal = x_current + step_size * np.random.uniform(-1, 1) x_proposal = x_current + step_size * np.random.randn()
第5刷まで p.47 上段コードブロック5行目 az.plot_autocorr(np.array(posterior_large_step[n_burnin:]), ax=ax) az.plot_autocorr(np.array(posterior_large_step), ax=ax)
第4刷まで p.47 上段コードブロック6行目 ax.set_title('step_size = 0.01') ax.set_title('step_size = 10.0')
第5刷まで p.47 上段コードブロック10行目 az.plot_autocorr(np.array(posterior_small_step[n_burnin:]), ax=ax) az.plot_autocorr(np.array(posterior_small_step), ax=ax)
第4刷まで p.47 上段コードブロック11行目 ax.set_title('step_size = 10.0') ax.set_title('step_size = 0.01')
第4刷まで p.48 図 1.10 上段のプロットのタイトル: step_size=0.01
中段のプロットのタイトル: step_size=10.0
上段のプロットのタイトル: step_size=10.0
中段のプロットのタイトル: step_size=0.01

pythonbayesianmlbook's People

Contributors

kidaufo avatar gashin-learning avatar sammy-suyama avatar

Stargazers

 avatar  avatar sudo minoru avatar Rentarou Miyata avatar Yasuhiro Morioka avatar shum avatar s-popper avatar  avatar Shinpei Iwafune avatar 清水 駿太 avatar Charles Li avatar  avatar Takumi Horiba avatar  avatar daiki.ogawa avatar Yasuo Kabe avatar  avatar TanimotoRui avatar  avatar  avatar  avatar TomohiroAzuma avatar Soshi Tanabe avatar  avatar Eisuke Ito avatar Masayuki Yamaguchi avatar Yuji.K avatar Naoto Tachibana avatar skosaka avatar TAISEI Tosaki avatar  avatar  avatar Hiroaki MATSUMOTO avatar moa avatar Yohei Nishimura avatar Kohei Mito avatar yusumi avatar Yusuke Oba avatar  avatar Kei-ichiro kubota avatar Kyohei Uto avatar Daiki Tatematsu avatar  avatar ss avatar  avatar  avatar  avatar  avatar izuna385 avatar Joji Maeno avatar  avatar Kazuki Yamauchi avatar shinya ogata avatar Максим Эмбаухов avatar hrntsm avatar  avatar SyusukeYasui avatar etoyama avatar Takaki avatar  avatar Nozomi Maki avatar

Watchers

Toshihide Higashimori avatar  avatar etoyama avatar  avatar  avatar

pythonbayesianmlbook's Issues

極めて軽微な誤植

極めて細かい話で恐縮ですが,1_3_代表的な確率分布.ipynb での
二項分布(binomial distribution)入力[14] # サンプル化から分散を計算
ポアソン分布(Poisson distribution)入力[18] # サンプル化から分散を計算
は,いずれも「化」は削除して「サンプルから分散を計算」かと存じます.
書籍では,そのようになっております.

また,一様分布(uniform distribution)の入力[23] および出力[23] は不要ではないでしょうか(入力[21] および出力[21] で既出のため).

メトロポリス・ヘイスティングス法の実装について

p43の下段のプログラムの4, 5行目ですが、「攪乱項εは平均0の一様分布に従うとする」とあり、一様分布からサンプリングしています。
しかしながら、p42には提案分布を正規分布とするとありますので、この通り実装するのであれば、正規分布からサンプリングしないといけないのではないでしょうか?
間違えていたら申し訳ございませんが、ご確認宜しくお願い致します。

p47のコードのタイポについて

私が間違っているかもしれないのですが、p47の最初のコードにある自己相関のプロットについて、axes[0]はposterior_large_stepをプロットしている一方でタイトルにはstep size=0.01(一番ステップ幅が小さいもの)になっていました。これはaxes[1]でプロットしているposterior_small_stepと逆になっているのではないかと思ったのですが、正しいでしょうか?

仮に正しいとして図1.10を見直すと、真ん中の図(step size=0.01)は収束に向かっているが、ステップ幅が小さすぎてサンプル数が足りていない様子を表していると解釈できたりしますか?

他方で、図1.10の上の図(step size=10.0)は、自己相関が一旦なくなるもののステップ幅が大きすぎるために再び自己相関を持ってしまうと解釈できたりしますか?

よろしくお願いします。

軽微なコード誤植(chapter1/1_3_近似推論手法.ipynb)

該当 jupyter notebook の In [27]: に関する指摘です。

posterior_large_stepposterior_small_step は burn-in 期間を除外済ですので、[n_burnin:] は不要と思われます。
お手数ですがご確認お願いいたします。

Before

fig, axes = plt.subplots(3, 1, figsize=(10, 10), sharex=True)
ax = axes[0]
az.plot_autocorr(np.array(posterior_large_step[n_burnin:]), ax=ax)
ax.set_title(f'step size = 10.0')
ax.set_ylabel('autocorr')

ax = axes[1]
az.plot_autocorr(np.array(posterior_small_step[n_burnin:]), ax=ax)
ax.set_title(f'step size = 0.01')
ax.set_ylabel('autocorr')
~~~

After

fig, axes = plt.subplots(3, 1, figsize=(10, 10), sharex=True)
ax = axes[0]
az.plot_autocorr(np.array(posterior_large_step), ax=ax)
ax.set_title(f'step size = 10.0')
ax.set_ylabel('autocorr')

ax = axes[1]
az.plot_autocorr(np.array(posterior_small_step), ax=ax)
ax.set_title(f'step size = 0.01')
ax.set_ylabel('autocorr')
~~~

ライセンスについて

PythonBayesianMLBookリポジトリ内のソースコード類はどういったライセンス形態で公開されているのでしょうか?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.