オーストラリアで勉強してきたMLデザイナーの口語自由詩

主に、データ分析・機械学習・ベイズ・統計について自由に書く。

ベイズと機械学習の甘い関係

f:id:yukinagae:20171121114242p:plain

TL;DR

内容

前回までで以下のベイズの定理を求めることができた。 (まだ Think Bayes の4ページでしかない!)

 p(A|B) = \dfrac{p(A)p(B|A)}{p(B)}

また、この式が p(A|B) などの条件付き確率をつなぎ合わせる(結合確率)であることが理解できた。

単純に式を覚えるだけでなく、その式の導き方を理解できたということは素晴らしい。

ただ未だにベイズの枠組みが「何の役に立つのか」「他の手法と比べてどのようなメリットがあるのか」がわかっていないため、ぬるっとした虚無感だけが残る。

そもそも、ベイズ機械学習とはどのような関係にあるのだろうか。どのように関連づけることができるだろうか。

一旦機械学習の観点から考えてみよう。


Quoraというアカデミックな質問サイトがあり、ここでは機械学習に関連する質問も多くあり重宝している(stackoverflowみたいなものと考えてもらっていい)。しかも、大学の教授レベルの親切な人たちが回答してくれているため、回答や説明のレベルが高い。

ここに「What is Bayesian machine learning?」という質問に対する回答がある。この回答を順に見てみよう。

まずは機械学習の定義がある。

機械学習は、データから学習することで世界について何かを記述/予測するモデルを作成するための手法です。(Google翻訳から意訳。重要箇所を太字にした)

つまり、乱暴にまとめると以下のような図式になる。

[データ] => [モデル] => [予測] 

ではベイズ的アプローチを活用した場合の機械学習とはどのようなものだろうか。

ベイズアプローチによる機械学習は、データとは無関係に、モデルに関する事前の信念を適用することができる。これは、モデルを自信を持って学習するために大量のデータがない場合に特に有効です。(Google翻訳から意訳。重要箇所を太字にした)

事前の信念というのは今まで学んできた言葉だと、事前情報のことだろう。つまり以下の図式のように、データだけでなく事前情報を利用することで機械学習のモデルを構築することができる(ようだ)。

[データ] => [モデル with 事前情報] => [予測]

現時点では、「モデル」とは何か明確にわかっている必要はなく、ブラックボックスのようなものだと思っておいてよいだろう。

加えて重要なのは、大量のデータがない場合にも有効という点だろう。既に知られているように、多くの機械学習の手法は大量のデータ(いわゆるビッグデータ)を必要とする。しかし、Cold Start問題などデータが少ない場合にも適用できる手法があれば選択肢が広がるだろう。

つまり、事前情報(既に知っているドメイン知識)でデータの少なさを補うことができるということらしい。

大雑把にここまでわかったことをまとめてみよう。


抽象的な理解はこれくらいで十分だ。次は具体的な例で手を動してみよう。

参考資料