続・わかりやすい パターン認識
第2章 事前確率と事後確率>2.2 ベイズ更新 (p.32)
を、プログラムで計算してみる。
コインを複数回投げた場合では回投げ終わって回表が出た、という具合にすべての結果が出た後で各コインである確率を計算したが、今回は1回投げるごとに逐次更新していく(ベイズ更新)。
回目の事後確率 を回目の事前確率として、新たに得られたコインの面から事後確率を更新する:
# coin_probability3.rb |
10回投げて7回表が出る時の確率の遷移
| コイン1 | コイン2 | コイン3 | |
|---|---|---|---|
| 事前 | 0.1 | 0.4 | 0.5 |
| 1: 表 | 0.170 | 0.511 | 0.319 |
| 2: 表 | 0.253 | 0.569 | 0.178 |
| 3: 表 | 0.339 | 0.572 | 0.089 |
| 4: 表 | 0.423 | 0.535 | 0.042 |
| 5: 裏 | 0.258 | 0.653 | 0.089 |
| 6: 表 | 0.330 | 0.627 | 0.043 |
| 7: 表 | 0.404 | 0.576 | 0.020 |
| 8: 裏 | 0.249 | 0.709 | 0.042 |
| 9: 表 | 0.313 | 0.667 | 0.020 |
| 10: 裏 | 0.182 | 0.777 | 0.041 |