ベルヌーイ分布は、結果が2種類しかない試行の結果を表現する、確率論および統計学における最も基本的な確率分布です。例えば、コインを投げて表が出るか裏が出るか、製品が品質基準を満たすか満たさないか、といった試行を数学的にモデル化することができます。この記事では、ベルヌーイ分布の定義、確率質量関数、具体例、そしてスパムメールフィルタリングへの応用について解説します。
ベルヌーイ分布とは
ベルヌーイ分布は各試行において、成功する確率を p とすると、ベルヌーイ分布は成功(1)と失敗(0)の確率を記述します。ベルヌーイ分布の確率質量関数(PMF)は、試行が成功する確率を p、失敗する確率を 1-p とすると、次のように表されます。
P(X = x) = p^x * (1-p)^(1-x)
ここで、
- P(X = x) は、確率変数 X が x という値を取る確率を表します。
- x は 0(失敗)または 1(成功)のいずれかの値を取ります。
- p は成功の確率を表します(0 ≤ p ≤ 1)。
- 1-p は失敗の確率を表します。
この式は、x が 1 のとき(成功の場合)には P(X = 1) = p となり、x が 0 のとき(失敗の場合)には P(X = 0) = 1-p となることを意味します。数式が難しそうに見えるかもしれませんが、要するに「成功する確率は p、失敗する確率は 1-p」ということを、少し形式的に表現しているだけです。
具体例で理解するベルヌーイ分布
例1: コイントス
コインを1回投げることを考えます。表が出ることを「成功」、裏が出ることを「失敗」と定義します。公正なコインであれば、表が出る確率 p は 0.5、裏が出る確率 1-p も 0.5 です。この場合、ベルヌーイ分布は以下のようになります。
- P(X = 1) = 0.5 (表が出る確率)
- P(X = 0) = 0.5 (裏が出る確率)
例2: 製品の合格/不合格判定
ある工場で製造された製品が、品質検査に合格するか不合格になるかを考えます。合格する確率を p とすると、不合格になる確率は 1-p です。例えば、合格率が 90% (p = 0.9) の場合、ベルヌーイ分布は以下のようになります。
- P(X = 1) = 0.9 (合格する確率)
- P(X = 0) = 0.1 (不合格になる確率)
ベルヌーイ分布の応用のシナリオ:メールのスパムフィルター
ベルヌーイ分布は、メールのスパムフィルターの設計に応用されています。この実例を基に、ベルヌーイ分布を活用する手順を説明します。
1. データの収集
スパムメールと非スパムメール(正常なメール)のデータセットを収集します。各メールには、「スパム」または「非スパム」のラベルを付けます。さらに、各メールから特徴を抽出します。特徴とは、例えば、特定の単語やフレーズの出現の有無、送信元の情報などです。
2. 特徴の選択
スパムフィルターで使う特徴を選択します。効果的な特徴としては、以下のようなものが考えられます。
- 特定のキーワード: 「無料」、「割引」、「今すぐ」といった、スパムメールによく含まれる単語
- フレーズ: 「今すぐクリック」、「期間限定」など、スパムメールでよく使われるフレーズ
- 送信元の情報: スパムメール送信者として知られているドメインやIPアドレス
- その他の特徴: 大文字の多用、HTMLメールの有無、添付ファイルの有無など
3. パラメータ推定
ベルヌーイ分布のパラメータ p(スパムである確率)を推定します。これは、トレーニングデータセットを使って計算します。
- スパムメールにおける特徴の出現頻度: スパムメールの中で、選択した各特徴が出現する割合を計算します。これが、各特徴の p (スパムである場合の確率)になります。
- 非スパムメールにおける特徴の出現頻度: 非スパムメールの中で、選択した各特徴が出現する割合を計算します。これが、各特徴の 1-p (スパムでない場合の確率)になります。
4. メールのスコア計算
新しいメールが来たとき、そのメールがスパムである可能性を計算します。これは、選択した各特徴について、それがメール中に存在する場合は p を、存在しない場合は 1-p を掛け合わせることで行います。
ここでは、例として3つの特徴を選んだとします。
- 特徴1: キーワード「無料」が含まれているか (p = 0.6、スパムメールの60%に含まれる)
- 特徴2: 送信元が「example.com」ドメインか (1-p = 0.9、非スパムメールの90%がこのドメインから)
- 特徴3: 「今すぐクリック」というフレーズが含まれているか (p = 0.8、スパムメールの80%に含まれる)
この場合、あるメールが来て、
- 「無料」というキーワードが含まれている
- 送信元は「example.com」ではない
- 「今すぐクリック」というフレーズが含まれている
とします。このメールのスコアは、下記のように計算します。
スコア = 0. 6 \* (1 - 0.9) \* 0.8 = 0.048
5. スパムの閾値設定
計算されたスコアが、あらかじめ設定した閾値を超えるかどうかで、メールをスパムと判定するかどうかを決定します。
例えは、
- 閾値 = 0.1: スコアが0.1を超えるメールはスパムと判定。この場合、先ほどのメール(スコア0.048)はスパムとは判定されません。
- 閾値 = 0.04: スコアが0.04を超えるメールはスパムと判定。この場合、先ほどのメールはスパムと判定されます。
閾値を高くすると、スパムと判定されるメールは減りますが、本当にスパムであるメールを見逃す可能性が高まります。逆に閾値を低くすると、より多くのメールをスパムと判定できますが、正常なメールを誤ってスパムと判定してしまう可能性も高まります。
6. メールの分類
スコアが閾値を超えた場合、そのメールはスパムと分類され、迷惑メールフォルダに移動されたり、削除されたりします。閾値を超えなければ、そのメールは正常なメールとして扱われます。
ベルヌーイ分布の限界とその他の手法
ベルヌーイ分布は単純で扱いやすい一方、いくつかの限界もあります。
- 特徴間の独立性の仮定: ベルヌーイ分布は、各特徴が互いに独立であると仮定しています。しかし、実際には特徴間に関連性がある場合も多く、この仮定が成り立たないことがあります(例えば、「割引」と「無料」という単語は一緒に出現しやすい)。
- 特徴の有無のみを考慮: ベルヌーイ分布は、特徴が存在するかしないか(0 か 1 か)だけを考慮し、その出現頻度や程度は考慮しません。
これらの限界を克服するため、実際には、ナイーブベイズ分類器(多項分布を使用)、サポートベクターマシン(SVM)、ロジスティック回帰など、より高度な機械学習アルゴリズムがスパムフィルターには用いられます。これらのアルゴリズムは、特徴間の関連性を考慮したり、特徴の重み付けを行ったりすることで、より高い精度でスパムを検出できます。
データ分析に必須の知識・考え方 統計学入門 仮説検定から統計モデリングまで重要トピックを完全網羅 [ 阿部 真人 ]
まとめ
ベルヌーイ分布は、2種類の結果しか起こらない試行(ベルヌーイ試行)の結果をモデル化するための、基本的かつ重要な確率分布です。コイン投げや製品の合否判定のような単純な例から、Webサイトのクリック率予測、薬の効果判定、そしてスパムフィルターのような応用まで、幅広い分野で活用されています。単純ながらも強力な手法で、確率・統計の基礎を理解する上で欠かせない概念です。
最後に統計・確率、データ分析の学習に利用できるUdemy
のサイトを紹介します。ぜひ活用ください。
[PR]