現在、多くの人が使用しているコミュニケーションツールの1つにメールがありますよね。最近は連絡にSNSを使用することが増えていますが、それでもメールは定番の連絡手段として、プライベートや仕事など多くの場面で使用されています。
そのメールに備わっている、いくつかの便利な機能の1つに迷惑メールのフィルタリング機能がありますよね。迷惑メールとは広告・勧誘などの不要なメール。それをフィルタリング機能は、迷惑メールと判定したら指定のフォルダに振り分けてくれます。
そして、この便利なフィルタリング機能の仕組みに使用されているのが、ベイズの定理です。詳しく覚えていなくてもベイズの定理について、学生時代に学んだ記憶がある人もいるかもしれません。そのベイズの定理は、最先端技術のAI(人工知能)の開発技術である機械学習にも応用されています。
しかし、AI(人工知能)に使われているといっても、ベイズの定理の計算自体は簡単な仕組みです。そのため、これから機械学習について学ぶなら、1度ベイズの定理の復習をしましょう。そこで今回は、AI(人工知能)などのデジタル技術に用いられているベイズの定理についてお伝えします。
ベイズの定理とは
ベイズの定理とは、18世紀にイギリスの牧師トーマス・ベイズが考案した、結果からその原因を確率で予測し突き止められる計算方法です。一般に確率で予測するといえば、少し先の未来で起きることをイメージしますよね。天気予報で明日の降水確率の予測や株価予測がその例です。
ベイズの定理はその反対で、すでに出ている結果(過去)から原因を確率で求めて予測する定理のことです。この具体例で代表的なものが、冒頭でもお伝えした迷惑メールのフィルタリング機能です。これをベイジアンフィルタといいます。
学生時代に習ったベイズの定理は、日常生活に関係がない計算に見えるかもしれませんが、以外にも身近なところで使われています。そんなベイズの定理は、トーマス・ベイズによって考え出されて約300年になり、現在は統計学に発展しています。次はベイズ統計学についてお伝えしましょう。
ベイズ統計学とは
統計学とは、あるデータの塊から一部のデータの特徴を調べて、そこからデータの塊の全体像の推測や新たな可能性の予測をする学問です。そしてベイズ統計学は、ベイズの定理だけを使用する統計学で、例に挙げた迷惑メールの判別もベイズ統計学に入ります。現在、統計学は大きく頻度統計学とベイズ統計学に分けられ、そのうちの頻度統計学には次の2種類があります。
- 記述統計・・・実際に得られたデータを分析してその特徴を表す
応用例:人口動態調査(出生率、死亡率などの調査) - 推計統計・・・サンプルデータを分析して統計対象の全体像を推測する
応用例:選挙の出口調査
これら頻度統計学で求めるのは、未知の結果です。当たり前ですが、頻度統計学を用いている人口動態調査と選挙の出口調査のどちらも、調査してみないと結果はわからないですよね。
そして、ベイズ統計学では迷惑メールの判別のように、すでに受信し分類された一般メールと迷惑メールの、過去の結果から原因を求めます。まとめると次のようになります。
上記から頻度統計学で分析するデータとは「原因」であり、ベイズ統計学で分析に使うデータは「過去の結果」です。つまり両者は相対的な考え方になり、ベイズ統計学はベイズの定理の考え方をそのまま継承しています。
そのベイズ統計学は現在、最先端技術のAI(人工知能)を開発する機械学習にも使用されています。
なぜ、ベイズの定理が機械学習で使われるのか
ベイズの定理は機械学習の基礎になっています。そうなった理由は、ベイズの定理の特徴である主観確率です。確率には、客観確率と主観確率があります。
次に、自分の誕生日に親友のAさんからプレゼントをもらう確率を考えた場合、自分とAさんとの日頃の関係性が確率を左右します。そのため条件は不確かなので、プレゼントをもらえるか、もらえないかの確率は、自分の期待を込めて考えても1/2なので50%になります。このように人間の主観が入った確率を主観確率といいます。
また、明確な条件(データ)がない状態で想定した、この50%も確率を事前確率といいます。そして、誕生日にプレゼントがもらえたなら、もちろん確率は50%よりも高くなりますよね。これがベイズの定理で求める確率で、事後確率といいます。
このようにベイズの定理では、新しいデータが入るたびに確率を更新できます。
よく見ると、これは学習の流れと同じ「インプット→アウトプット」です。私たち人間も知らなかったことを勉強(インプット)して、できなかったことができるようになり(アウトプット)、次々と新しい情報を学ぶことで成長します。
それはAI(人工知能)も同じで、機械学習ではAI(人工知能)にデータを与えルール・パターンを学習させて、画像認識や株価予測などの分類や予測が行えるようになり、継続して新しいデータを学習させると、精度の高いAI(人工知能)に成長します。
そして、その機械学習の基礎に用いられているのがベイズの定理であり、代表的な応用例がベイジアンフィルタです。では、実際にベイズの定理の計算が、どんな仕組みになのかを次で紹介しましょう。
ベイズの定理の計算の仕組み
ベイズの定理はすでに出ている結果から、その原因を確率で突き止められます。今回は迷惑メールの判別で、その仕組みを紹介します。
ベイズの定理を使って迷惑メールの判別で求めたい事後確率は、「送られてくるメールの内容に「お金」が含まれていた場合、迷惑メールと判別される確率」。つまり「お金」という言葉が原因で迷惑メールに分類される確率です。
これから説明する例では、迷惑メールと判定する条件の1つに「お金」のワードを設定。ある一定期間の受信メールから、無作為に100通のメールを選び、それの一般メールと迷惑メールの割合と、一般メールと迷惑メールのそれぞれで、「お金」が含まれていた割合が次のようになりました。
- 一般メール → 70%(0.7)
お金が含まれていたメール → 5%(0.05) - 迷惑メール → 30%(0.3)
お金が含まれていたメール → 40%(0.4)
ベイズの定理の計算式と、その構成内容は以下の通りです。
P(A|B) = P(B|A)P(A) ÷ P(B)
P(A) → 原因Aが起きる確率(事前確率)
P(B) → 結果がBになる確率
P(A|B) → 結果Bが起きた場合に、原因がAで起こった確率(事後確率)
P (B|A) → 原因Aが起きた場合に、結果がBになる確率
上の構成に、今回の例で使うデータを当てはめてみます。
P(A)・・・原因Aが起きる確率(事前確率)
→ 迷惑メールの確率(0.3)P(B) ・・・結果がBになる確率
→ 全メールの中に「お金」が含まれている確率P (B|A) ・・・原因Aで結果Bが起きる確率
→ 迷惑メールに「お金」が含まれている確率(0.4)P(A|B) ・・・結果Bが原因Aで起こった確率(事後確率)
→ メールに「お金」が含まれていた場合、迷惑メールになる確率
一般メールと迷惑メールの割合は、これまで受信したメール総数からわかった数値ではなく、人間の主観で無作為に選んでいるので、この場合の事前確率は迷惑メールの割合になる30%(0.3)です。
これらのデータをもとに、P(B)を求めます。P(B)は、全メールの中に「お金」が含まれたメールの割合で、次の計算をします。
- P(A) → 0.3(迷惑メールの確率)
- P (B|A) → 0.4(迷惑メールに「お金」が含まれている確率)
P(B) = 0.3 × 0.4 + 0.7×0.05 = 0.12 + 0.035 = 0.155
↑ ↑
迷惑メール 一般メール
そして値が出そろったので、ベイズの定理の計算式に当てはめると次のようになります。
P(A|B) = P(B|A)P(A) ÷ P(B) = P(0.4)P(0.3) ÷ P(0.155) ≒ 0.72
この結果からは、「お金」が原因で迷惑メールに分類される確率が約0.72(72%)になります。
この約72%がベイズの定理で求める事後確率であり、条件付き確率ともいいます。条件付き確率とは、「Aという条件の下で、Bが起きる確率」のことで、P (B|A)の 0.4(迷惑メールに「お金」が含まれている確率)も同じです。
そしてメールは、毎日いろんな相手から送られてきますよね。そのため現在のところ、「お金」が原因で迷惑メールに分類される確率は約72%ですが、日々変化していきます。そこで、今度は約72%を事前確率にして、新しいデータを加え再びベイズの定理で計算することで、「メールに「お金」が含まれていた場合、迷惑メールになる確率」を更新できます。
これらが機械学習の基礎にもなっているベイズの定理の計算の仕組みです。では、ベイズの定理の計算を使うときの注意点について紹介します。
ベイズの定理で計算する際の注意点
初めて、ベイズの定理を使って計算する際の注意点があります。それは頭の中だけで考えないこと。先ほどの迷惑メールの例のように、まず計算式の各構成に書いて当て考えましょう。
P(A|B) = P(B|A)P(A) ÷ P(B)
P(A) → 原因Aが起きる確率(事前確率)
P(B) → 結果がBになる確率
P(A|B) → 結果Bが起きた場合に、原因がAで起こった確率(事後確率)
P (B|A) → 原因Aが起きた場合に、結果がBになる確率
計算自体はそんなに難しくありませんが、慣れないうちは計算式とその大まかな構成内容を見て、頭で考えるだけでは分かりにくいですよね。そこで今回の例のように書き出します。
例:
P (B|A) → 0.4(迷惑メールに「お金」が含まれている確率)P(メールに「お金」が含まれていた場合、迷惑メールになる確率) = P(迷惑メールに「お金」が含まれている確率(0.4))×P(迷惑メールの確率(0.3)) ÷ P(全メールの中に「お金」が含まれている確率)
このように実際に求めたい内容を書いて、当てはめることで分かりやすくなり計算もしやすいので実践してみましょう。
さて今回は、ベイズの定理についてお伝えしました。ベイズの定理とは、結果からその原因を確率で予測する計算方法です。
一般的な確率は、天気予報や株価予測など少し先の未来の予測に使いますが、ベイズの定理はすでに出ている結果(過去)から、その原因が何かを確率で求めて予測し突き止めます。その代表例が迷惑メールのフィルタリング機能のベイジアンフィルタです。
そんなベイズの定理は、18世紀にイギリスの牧師トーマス・ベイズが考案して約300年が経過し、統計学に発展しています。現在の統計学は大きくベイズ統計学と頻度統計学に分けられます。ベイズ統計学と頻度統計学の違いは、次の通りです。
- 頻度統計学・・・原因から結果を求める
- ベイズ統計学・・・結果から原因を求める
両者は相対的な考え方であり、ベイズ統計学はベイズの定理の考え方そのままです。
そしてベイズの定理は、AI(人工知能)を開発する機械学習の基礎になっています。
その大きな理由はベイズの定理の特徴である、人間の主観が入った主観確率の使用です。これは明確なデータがない状況から人間の主観で確率を決めて、ある結果の原因を確率で突き止めていきます。
この人間の主観で決める主観確率を事前確率、その事前確率を使ってベイズの定理で求める確率を事後確率といいます。そして新しいデータが入るたびに、再計算して確率を更新し精度を向上できるのも、ベイズの定理の特徴。
このようなベイズの定理の考え方は、人間の学習の流れと同じ「インプット→アウトプット」です。これは、そのままAI(人工知能)に予測や分類をさせるための機械学習の基礎に用いられ、その代表例がベイジアンフィルタです。
そして、ベイズの定理の計算式は次の通りです。
P(A|B) = P(B|A)P(A) ÷ P(B)
P(A) → 原因Aが起きる確率(事前確率)
P(B) → 結果がBになる確率
P(A|B) → 結果Bが起きた場合に、原因がAで起こった確率(事後確率)
P (B|A) → 原因Aが起きた場合に、結果がBになる確率
式を見ると、ベイズの定理の計算はそんなに難しくありませんよね。しかし、最初は間違えないために、実際に求めたい内容を式の各構成に書いて、わかりやすくして計算しましょう。
【お知らせ】
当メディア(AIZINE)を運営しているAI(人工知能)/DX(デジタルトランスフォーメーション)開発会社お多福ラボでは「福をふりまく」をミッションに、スピード、提案内容、価格、全てにおいて期待を上回り、徹底的な顧客志向で小規模から大規模ソリューションまで幅広く対応しています。
御社の悩みを強みに変える仕組みづくりのお手伝いを致しますので、ぜひご相談ください。