以下の内容はhttps://pydocument.hatenablog.com/entry/2023/09/25/235523より取得しました。


ベルヌーイ分布の基礎とその応用(スパムフィルターなど)

ベルヌーイ分布は、結果が2種類しかない試行の結果を表現する、確率論および統計学における最も基本的な確率分布です。例えば、コインを投げて表が出るか裏が出るか、製品が品質基準を満たすか満たさないか、といった試行を数学的にモデル化することができます。この記事では、ベルヌーイ分布の定義、確率質量関数、具体例、そしてスパムメールフィルタリングへの応用について解説します。

ベルヌーイ分布とは

ベルヌーイ分布は各試行において、成功する確率を p とすると、ベルヌーイ分布は成功(1)と失敗(0)の確率を記述します。ベルヌーイ分布の確率質量関数(PMF)は、試行が成功する確率を p、失敗する確率を 1-p とすると、次のように表されます。

P(X = x) = p^x * (1-p)^(1-x)

ここで、

  • P(X = x) は、確率変数 Xx という値を取る確率を表します。
  • 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つの特徴を選んだとします。

この場合、あるメールが来て、

  • 「無料」というキーワードが含まれている
  • 送信元は「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 iconのサイトを紹介します。ぜひ活用ください。

[PR]

click.linksynergy.com

click.linksynergy.com

click.linksynergy.com

click.linksynergy.com




以上の内容はhttps://pydocument.hatenablog.com/entry/2023/09/25/235523より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14