IIR13章まとめ

13章は、テキスト分類とナイーブベイズについて。

テキスト分類

例えば、メールボックスの中からスパムをフィルタリングすることを考えよう。

スパムと自動で判別し、フィルタリングするためには、どうすればよいか?


また、言語による分類など、様々なところでテキスト分類は必要である。

以下、テキスト分類の3つの手法を挙げる。

手動で分類

テキストセットが小さい時は問題ないが、基本的に対象となるテキストセットは大きいことが多く、分類が難しくコストがかかる。

よって自動で分類したい。

ルールに従う

ルールを決め、それに従って自動で分類を行う。

ルールが洗練されていれば正確に分類できるが、そのようなルールを作成し、メンテナンスを行うのはコストがかかる。

統計的・確率的に行う

訓練データを学習させて、それを基に確率的・統計的に分類を行う。(教師あり学習)

以下では、この手法の1つとして、ナイーブベイズ(Naive Bayes)を扱う。

ナイーブベイズ

ドキュメント d が与えられた時に、それがクラス c である確率P(c|d)を考える。

ナイーブベイズにより、条件付き独立の下、以下の式が成立する。

P(c)は、c の事前確率。ドキュメントセットにおけるクラス c の割合。

P(t|c)は、クラス c 中でのターム t の出現頻度。

ただし、 T は出現回数を表す。

ここではタームの出現位置を考慮していない。これを特にbag of wordsモデルという。

最終的にP(c|d)が最大になるようなクラスに分類できればよく、それは以下のように求められる。

しかし上式は非常に小さい数の積であり、このままではアンダーフローをおこしてしまうので、logを取って積を和に変換する。

また、もう1つ問題があり、P(d|c)はP(t|c)の積で求まるのだが、 c に含まれていないターム t が1つでもあればP(d|c)は0になってしまう。

これを0頻度問題といい、これを避けるために、Tに1を加えるラプラススムージング(Laplace Smoothing)を行う。

以下に例を挙げる。

この時、以下の式が成り立つ。

よって、次のように計算できる。

ナイーブベイズの特徴をあげる。

  • 他の複雑な学習法則よりもロバストである
  • 均一で重要な特徴が多数ある場合は、決定木などの手法よりよい
  • テキスト分類のよいベースラインを与えてくれている
  • 非常に速い
  • メモリ効率がよい