「原因」と「結果」をひっくり返す魔法の数式。新人エンジニアのためのベイズの定理入門

こんにちは。ゆうせいです。

最近、機械学習やAIの勉強をしていると、必ずと言っていいほど「ベイズの定理」という言葉に出会いますよね。

名前がついている定理と聞くと、なんだかとても難解で、新しい数学の概念を覚えなければならないような気がして身構えてしまいませんか。

でも、実はそんなに恐れる必要はありません。

ベイズの定理は、前回お話しした「条件付き確率」の形を少し変えただけの、いわば「双子」のような存在だからです。

今日は、このベイズの定理がどこから来て、エンジニアにとってなぜそんなに重要なのか。その正体を数式のアレルギーが出ないように、丁寧に紐解いていきましょう。

全ての始まりは「条件付き確率」から

まず、ベイズの定理を理解するための出発点は、たった一つの定義式です。

前回、トランプの話で出てきた「条件付き確率」を思い出してください。

ある事象 B (例えば「熱がある」)が起きたという条件下で、事象 A (例えば「インフルエンザである」)が起きる確率は、次のように定義されます。

P(A|B) = \frac{P(A \cap B)}{P(B)}

ここで、 P(A \cap B) は「 AB が同時に起きる確率」、 P(B) は「とにかく B が起きる確率」でしたね。

これを日本語で言うと、「 B の世界の中で、 A が占める割合」ということになります。これが全ての基本です。

視点を変えると別の式が見える

さて、ここで視点を少し変えてみましょう。

AB が同時に起きる」という状況は、どちらを主役にしても変わりませんよね。

「インフルエンザで、かつ熱がある」

「熱があって、かつインフルエンザである」

これらは全く同じ事象を指しています。

つまり、主役を入れ替えた以下の式も成り立つのです。

P(B|A) = \frac{P(A \cap B)}{P(A)}

これは、「 A (インフルエンザ)の世界の中で、 B (熱が出る)が占める割合」を表しています。

2つの式をつなぐ「架け橋」を作る

ここで、ちょっとした式変形をします。

上の2つの式は、どちらも分子に P(A \cap B) という共通のパーツを持っています。

この共通部分について、式を書き換えてみましょう。

1つ目の式から分母を払うとこうなります。

P(A \cap B) = P(A|B) \times P(B)

2つ目の式から分母を払うとこうなります。

P(A \cap B) = P(B|A) \times P(A)

左辺が同じなのですから、右辺同士もイコールで結べますよね。

P(A|B) \times P(B) = P(B|A) \times P(A)

この等式が、ベイズの定理へと続く架け橋です。

完成!これがベイズの定理だ

さあ、ゴールは目の前です。

私たちが知りたいのは、「結果( B )が出たときの、原因( A )の確率」、つまり P(A|B) です。

さきほどの架け橋の式を、 P(B) で割ってみましょう。

P(A|B) = \frac{P(B|A) \times P(A)}{P(B)}

おめでとうございます! これが「ベイズの定理」の正体です。

どうでしょう。

新しい魔法の公式が出てきたわけではありません。

条件付き確率の定義をいじって、「=」でつないで形を整えただけなのです。

なぜこの変換が「最強」なのか

「式変形はわかったけど、結局これの何が嬉しいの?」

そう思ったエンジニアのみなさん。ここからが本題です。

この定理の凄さは、「確率の向きを逆転できる」という点にあります。

通常、私たちは「原因 \to 結果」のデータは集めやすいのです。

例えば、システムのテストをしているときを想像してください。

原因 A :データベースがダウンしている

結果 B :接続エラーが出る

「データベースがダウンしたら、エラーが出る確率 P(B|A) 」は、仕様書を見たりテストしたりすればすぐにわかります(ほぼ 100\% ですよね)。

しかし、運用中に本当に知りたいのはその逆です。

「エラーが出た(結果 B )! このとき、データベースがダウンしている(原因 A )確率はいくつか?」

つまり、 P(A|B) が知りたいのです。

ベイズの定理を使えば、手に入りやすい「原因 \to 結果」のデータを使って、本当に知りたい「結果 \to 原因」の確率を計算できてしまうのです。

これが、ベイズの定理が「診断」や「推定」に不可欠だと言われる理由です。

分母の正体(全確率の法則)

最後に、補足として分母の P(B) について少し触れておきましょう。

これは「とにかく結果 B が起きる確率」ですが、現実には様々な原因が考えられます。

例えば「接続エラー( B )」の原因には、「DBダウン( A_1 )」もあれば、「ネットワーク切断( A_2 )」、「プログラムのバグ( A_3 )」もあるでしょう。

このとき、分母 P(B) は、それぞれの原因ごとの確率をすべて足し合わせたものになります。

P(B) = P(B|A_1) \times P(A_1) + P(B|A_2) \times P(A_2) + \dots

これを「全確率の法則」と呼びますが、要するに「ありえる可能性を全部足して、全体を 100\% にしましょう」と言っているだけです。

これによって、複数の仮説(原因)の中から、どれが一番怪しいかを比較できるようになります。

今後の学習の指針

いかがでしたか。

ベイズの定理とは、条件付き確率の定義を応用して、「結果から原因を推測するための道具」に作り変えたものでした。

単なる数式ではなく、「今見えている現象から、見えない真実をあぶり出すためのレンズ」だと思うと、少しワクワクしてきませんか。

これからの学習の指針として、実際に「迷惑メールフィルター」の仕組みを調べてみることをおすすめします。

「メールに『無料』という単語が含まれている(結果)」とき、「それが迷惑メールである(原因)確率」を計算する。まさにベイズの定理が、私たちのメールボックスを毎日守ってくれている様子がわかりますよ。

難しそうな名前の定理も、分解してみれば私たちの頼れる味方です。

ぜひ現場でのデータ分析に役立ててくださいね。

セイ・コンサルティング・グループでは新人エンジニア研修のアシスタント講師を募集しています。

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。

学生時代は趣味と実益を兼ねてリゾートバイトにいそしむ。長野県白馬村に始まり、志賀高原でのスキーインストラクター、沖縄石垣島、北海道トマム。高じてオーストラリアのゴールドコーストでツアーガイドなど。現在は野菜作りにはまっている。