Pythonで基礎から機械学習 「ベイズ入門からPRMLへ」

# はじめに
　この「Pythonで基礎から機械学習」シリーズの目的や、環境構築方法、シリーズの他の記事などは以下まとめページを最初にご覧下さい。

https://karaage.hatenadiary.jp/machine-learning-study


　今回は、ベイズを勉強しようとしたのですが、恥ずかしながら自分のレベルではちゃんと説明できるほど理解できませんでした。

　調べるうちに色々有用と思われるサイトや書籍をまとめました。また自分が再チャレンジするためと、こんな情報でも役にたつ人がいるかもしれないので、恥を忍んでここに公開します。

# ベイズとは？
　全くうまく説明できる自信が無いので、分かりやすいと思われるサイトをリンクします。一言でベイズといっても、ベイジアンとかベイズ統計学とかベイズ推定とかベイズの定理とか、ベイズと名がつくものが色々あって初心者は混乱しがちです。

[ベイズ統計・ベイズ機械学習を始めよう](https://www.bigdata-navi.com/aidrops/2423/)

[多項式あてはめで眺めるベイズ推定~今日からきみもベイジアン~](https://www.slideshare.net/tanutarou/ss-80824894)

[ベイズ統計学の概論的紹介（スライド）](https://www.slideshare.net/naokihayashi714/ss-161469671)

[（頻度主義から抜け出すための）ベイズ問題10連発](https://qiita.com/yoneken/items/657feb4824bc63fa2fc2)

## ベイズの定理
　ベイズ統計学の根幹をなす（と思う）定理です。式は以下の通りです。

$P(X)$：事象 $X$ が起きる確率
$P(Y|X)$ ：事象 $X$ が起きたもとで事象 Y が起きる確率


```math
P(A|B) = \frac{P(B|A)P(A)}{P(B)}
```

　この式自体は、そこまで難しいものではなく、条件付き確率から求めることができます。以下のヨビノリたくみ先生の動画が分かりやすいと思います。

[【大学数学】ベイズの定理【確率統計】（YouTube動画）](https://www.youtube.com/watch?v=oUN_GhB00fU)

　その他、参考になりそうなリンクをはっておきます。

[【初心者向け】ベイズの定理とは？](
https://qiita.com/ea-yasuda/items/1ffcd518af18c6fa0063)

[ベイズの定理の基本的な解説](https://mathtrain.jp/bayes)

## ベイズの応用例
　ベイズの応用例は多岐に渡ります。よく例に挙げられるのは以下です。

- 迷惑メールの分類
- 確率ロボットの分野（SLAM等）
- 検査の罹患率（病気である確率）算出
- 機械学習・ディープラーニング

　迷惑メールの例は、以下参照下さい。
[具体例でわかる！ベイズ推定とベイズの定理](https://statisticsworld.hatenadiary.com/entry/2019/12/31/225737)

　検査の罹患率は、今ホットな話題ですね。以下の記事もベイズを用いて計算されています。
[COVID-19 日本国内の潜在的な陽性者数を推定する試み](http://statmodeling.hatenablog.com/entry/covid19-estimate-total-number-of-positives-in-japan)

　機械学習・ディープラーニングとも関係が深く[深層学習はガウス過程](http://machine-learning.hatenablog.com/entry/2018/01/13/142612)という話もあるようです。正直全然理解しきれていません。精進したいと思います。

# PRML（パターン認識と機械学習）
　PRMLはPattern Recognition and Machine Learningの略で、日本では「パターン認識と機械学習」という名前で売られている本のことです。ネットでは黄色本とか、ビショップ本とか呼ばれることが多いです。これはほぼベイジアンのための本で、ベイジアンになるためには、これを読まないといけないと言われている本です（多分）。

　正直私は全然読みこなせていません。

## PRML原著
　黄色本、買おうとすると高いのですが、実は英語版であればPDFが無料で公開されています。

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">PRML、英語版はPDFが無料公開されていることをフォロワーさんに教えていただく。そして、中身に微かに見覚えあるのでこれ挫折済みのやつだ <a href="https://t.co/yJBtbp1JxI">https://t.co/yJBtbp1JxI</a></p>&mdash; からあげ (@karaage0703) <a href="https://twitter.com/karaage0703/status/1184351512262144007?ref_src=twsrc%5Etfw">October 16, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

[PRML原著](https://www.microsoft.com/en-us/research/people/cmbishop/#!prml-book)

「Pattern Recognition and Machine Learning by Christopher Bishop」と書かれているリンクをクリックするとダウンロードできます。


## PRML解説
　多くの解説がネットにあります。本書だけでは途方にくれてしまう方は、ガイドとしてどうぞ。私はこれらがあっても、全然読みこなせませんでした。

[パターン認識と機械学習（PRML）まとめ](http://aidiary.hatenablog.com/entry/20100829/1283068351)

[PRML の本読みをしています @section3](https://nykergoto.hatenablog.jp/entry/2019/11/12/PRML_の本読みをしています_%40section3)

[パターン認識と機械学習の学習 普及版](https://herumi.github.io/prml/)
main.pdfというリンクからダウンロードできます。

[PRMLの機械学習アルゴリズムを実装して理解する](https://qiita.com/amber_kshz/items/e912a59ffc1365cb6adf)

[PRMLのアルゴリズムをPython(ほぼNumpyだけ)で実装](https://qiita.com/ctgk/items/fc83b224ded1c0059a61)

[松尾研の輪読会の資料](https://deeplearning.jp/seminar/#1515565927378-9a11fdc4-798a)

[PRML輪読 #1,2](https://qiita.com/oyoroco_/items/65f7c8b1927172ae501a)


[インターネット各地に散逸する「パターン認識と機械学習」の解説資料を集約するリポジトリ](https://github.com/tsg-ut/awesome-prml-ja)


# まとめ
　ベイズに関しては、ほぼリンクだけで終わってしまいました。ちゃんと理解してからまとめようと思ったのですが、調べた内容がいつまでも下書きのまま残ってしまっているのも勿体無い気がしたので、一区切りということで公開することにしました。

　他、初学者に役立つ情報あればありがたいです。いつかPRMLを読みこなして立派なベイジアンになりたいなと思っています。