スパムフィルター(迷惑メールフィルタ)
解説
スパムフィルターとは、受信したメールが「正常なメール(ハム)」か「迷惑メール(スパム)」かを自動的に判別するシステムです。機械学習における「教師あり学習(2値分類)」の最も代表的な応用例として知られています。
ナイーブベイズ分類器の活用
スパムフィルターの歴史において、最も有名なアルゴリズムが「ナイーブベイズ(単純ベイズ)分類器」です。
これは、「『無料』『当選』『クリック』といった単語が含まれている場合、そのメールがスパムである確率は〇〇%である」という確率論(ベイズの定理)に基づき、単語の出現頻度から判定を行う手法です。
「重要なメール」を捨ててはいけない(偽陽性の回避)
スパムフィルターで最も避けなければならないのは、「重要な仕事のメールをスパム判定して捨ててしまうこと(False Positive:偽陽性)」です。
そのため、多少のスパムを見逃したとしても、正常なメールを間違えないように設計する必要があります。このバランス調整は、G検定の「評価指標(混同行列)」の分野でもよく問われます。
G検定対策
出題ポイント
- アルゴリズム:「ナイーブベイズ(単純ベイズ)」が使われる代表例。
- 学習タイプ:正解データ(スパムか否か)を与える「教師あり学習(分類)」。
- 評価指標:「偽陽性(False Positive)」を最小限にするために、「適合率(Precision)」を重視するケースとして出題されやすい。
よくあるひっかけ問題
- × スパムフィルターは、教師なし学習のクラスタリングを用いている
(解説)「これはスパム、これは通常」というラベル付きデータで学習するため、「教師あり学習」です。 - × スパム検知では、適合率よりも再現率(Recall)を最大化すべきである
(解説)逆です。再現率を上げると「怪しいものは全部スパムにする」ことになり、重要なメールまで誤判定(偽陽性)してしまいます。したがって、適合率(スパムだと判定したものが本当にスパムである確率)が重要視されます。
