青の統計学-DS Playground-

ベイズ統計学

ベイズの定理、事前分布、事後分布、MCMC法、階層ベイズモデルなど、ベイズ統計学の理論と実践

スパムフィルタリングのベイズ計算 レベル1

メールのスパムフィルタにおいて、「割引」という単語がスパムメールに出現する確率は0.8、正常メールに出現する確率は0.1である。全メールの20%がスパムメールとして分類されている。「割引」という単語を含むメールがスパムである確率はいくらか。小数第3位まで求めよ(小数第4位を四捨五入すること)。

解説

ベイズの定理によるスパムフィルタリング

現代のメールシステムでのスパムフィルタリングは、ベイズの定理を基盤とした分類手法です。この問題では、特定の単語の出現による事後確率を計算します。

問題設定の整理
  • 単語出現率(スパム):P(「割引」|スパム) = 0.8
  • 単語出現率(正常):P(「割引」|正常) = 0.1
  • 事前確率(スパム):P(スパム) = 0.2
  • 事前確率(正常):P(正常) = 0.8
  • 求める値:P(スパム|「割引」)

Step 1: ベイズの定理の適用

$$P(\text{スパム}|\text{「割引」}) = \frac{P(\text{「割引」}|\text{スパム}) \times P(\text{スパム})}{P(\text{「割引」})}$$

Step 2: 全確率の法則による分母の計算

$$P(\text{「割引」}) = P(\text{「割引」}|\text{スパム}) \times P(\text{スパム}) + P(\text{「割引」}|\text{正常}) \times P(\text{正常})$$
$$P(\text{「割引」}) = 0.8 \times 0.2 + 0.1 \times 0.8$$
$$P(\text{「割引」}) = 0.16 + 0.08 = 0.24$$

Step 3: 事後確率の計算

$$P(\text{スパム}|\text{「割引」}) = \frac{0.8 \times 0.2}{0.24} = \frac{0.16}{0.24} = \frac{2}{3} ≈ 0.667$$

小数第3位まで:0.667

結果の解釈

「割引」という単語を含むメールがスパムである確率は約66.7%です。これは:

  • 単語の識別力:この単語はスパム判定に有効
  • 事前確率の影響:スパム率20%から66.7%に上昇
  • 尤度比:$\frac{0.8}{0.1} = 8$倍の識別力

実際の数値で確認

1,000通のメールを分析した場合:

  • スパムメール:200通(うち160通に「割引」が出現)
  • 正常メール:800通(うち80通に「割引」が出現)
  • 「割引」を含むメール計:240通
  • うちスパム:160通
  • 確率:160/240 = 2/3 ≈ 66.7%

ナイーブベイズ分類器への拡張

実際のスパムフィルタでは複数の単語を組み合わせます:

$$P(\text{スパム}|w_1, w_2, \ldots, w_n) \propto P(\text{スパム}) \prod_{i=1}^n P(w_i|\text{スパム})$$
  • 独立性仮定:「ナイーブ」な仮定だが実用的
  • 計算効率:線形時間での分類
  • 学習データ:大量のラベル付きメールデータ
問題 1/20
カテゴリ一覧に戻る
問題検索