1行定義
スパムフィルタとは、受信したメールが迷惑メールかどうかを判定し、迷惑メールを通常のメールから振り分ける仕組みのことです。
くわしく
スパムフィルタは、受信したメールが迷惑メール(スパム)かどうかを判定し、迷惑メール用のフォルダに移すなどして振り分ける仕組みです。インターネットの普及で迷惑メールが急増した時期に、機械学習が日常で役立つことを示した身近な応用例になりました。
規則から学習へ
初期のフィルタは、「特定の語句を含むメールは迷惑メールとする」のように、人が書いた規則で判定していました。しかし送信者は表現を次々に変えるため、規則の追加が追いつきません。そこで、迷惑メールと通常のメールの実例から判定基準を学ぶ方法が広まりました。1998年には、ナイーブベイズ分類器で迷惑メールを判定する研究が発表されました。2002年にはポール・グレアムが、手元の迷惑メールと通常のメールから単語ごとの確率を求める方法を公開し、ベイジアンフィルタが広まるきっかけになりました。
仕組み
機械学習の言葉でいえば、スパムフィルタは「迷惑メール」と「通常のメール」の2クラスに振り分ける分類問題です。正解ラベルの付いたメールを学習データにする教師あり学習で作ります。ナイーブベイズでは、「無料」「当選」のような語が、迷惑メールと通常のメールでそれぞれどれくらい現れるかを数えます。そのうえで、受信したメールが迷惑メールである確率を計算し、しきい値を超えれば迷惑メールと判定します。
誤判定のバランス
誤判定には2種類あります。迷惑メールを陽性とすると、迷惑メールの見逃しは偽陰性、必要なメールを迷惑メールとする誤りは偽陽性です。大事な連絡が迷惑メール用のフォルダに入ると気づきにくいため、一般に偽陽性の損失のほうが大きいとされます。この誤りを抑えたいときは、適合率を重視します。しきい値を下げて見逃しを減らすと、偽陽性は増えやすくなります。また、送信者は手口を変え続けるので、新しいデータで再学習し、性能を監視し続ける必要があります。
G検定での出題
出題のされ方
機械学習が普及した背景の応用例として、規則を人手で書く方法との違い、正解ラベル付きのデータで学ぶ分類問題であること、2種類の誤判定と評価指標の選び方が問われます。
混同しやすい用語
違いを表で比べる
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
スパムフィルタのように、データをあらかじめ決めたクラスに振り分ける問題は、機械学習では回帰問題に分類される。
答えを見る
答え × 誤り
決められたクラスに振り分けるのは分類問題です。回帰問題は、売上や気温のように連続した数値を予測する問題を指します。
-
ナイーブベイズ分類器を使ったスパムフィルタは、迷惑メールと通常のメールとで、各単語がどれくらいの確率で現れるかの違いを手がかりに判定する。
答えを見る
答え ◯ 正しい
単語ごとの出現確率を学習データから求め、ベイズの定理で迷惑メールである確率を計算します。単語どうしを互いに独立とみなして、計算を簡単にしています。
-
スパムフィルタが判定の手がかりに使えるのは、メール本文に含まれる単語に限られる。
答えを見る
答え × 誤り
送信元のドメイン、添付ファイルの有無、件名に含まれる記号の割合なども手がかりになります。1998年のナイーブベイズの研究でも、こうした特徴を単語に加えると精度が上がることが示されました。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目5 機械学習)
- Mehran Sahami, Susan Dumais, David Heckerman, Eric Horvitz, A Bayesian Approach to Filtering Junk E-Mail, AAAI Workshop on Learning for Text Categorization, AAAI Technical Report WS-98-05 (1998) (Abstract、Domain Specific Properties)
- Paul Graham, A Plan for Spam (2002年8月)