elsur.jpn.org >

« 読了:Naik & Raman (2003) 広告媒体間のシナジー効果をカルマン・フィルタで華麗に推定するぜ | メイン | 読了:「恋は雨上がりのように」「私の少年」「アルテ」「サトコとナダ」「独身OLのすべて」「山賊ダイアリーSS」 »

2017年12月 5日 (火)

Lewis, D.D. (1998) Naive (Bayes) at forty: The independence assumption in information retrieval. ECML-98 (European Conference on Machine Learning), pp.4-15.

 40年にも及ぶ長い歴史を持つ、ご存じナイーブベイズ分類器について、(パターン認識じゃなくて)情報検索の文脈でレビューしますという論文。
 タイトルからして面白そうで、待ち時間中の時間潰し用に鞄にいれていた論文。読み始めてすぐに関心と違うことに気が付いたのだが(information retrievalって文字通り文書検索とかのことなのね)、フガフガと楽しく読了。

 まずはおさらいから。
 ベイズの定理によれば、特徴ベクトル$X=x$を持つイベント(ここでは文書)が$C$のどこかのクラス$c_k$に落ちるとして、
 $P(C=c_k|X=x) = P(C=c_k) \times \frac{P(X=x|C=c_k)}{P(x)}$
簡略化して
 $P(c_k | x) = P(c_k) \times \frac{P(x|c_k)}{P(x)}$
と書きますね。
 $P(x|c_k), P(c_k), P(x)$がわかれば$P(c_k|x)$がわかるわけだけど、あいにく$x$がとりうる値は天文学的な数がある。そこで登場するのが、
 $P(x | c_k) = \prod_j P(x_j | c_k)$
としようというアイデア。文書タイプ$c_k$のもとで$x$の各要素は互いに独立だと考えるわけだ。こうして出来上がる分類器をナイーブベイズ分類器という。
 分類器の性能は、$P(c_k|x)$の推定値の良さではなくて、$\hat{P}(c_k) \times \prod \hat{P}(x_j|c_k)$が正しい$c_k$において最大となるかどうかによって決まる。

 ここでちょっと寄り道して、文書をどう表現するかという話。
 情報検索システムのために文章の表現を作るための方法は実にたくさん提案されている。しかし、驚くべきことに、そしていささかがっくりすることに[←ほんとにこう書いてある]、言語学的知識や領域知識ぬきの構造的に単純な表現、すなわちbag of wordsをつくっちゃったほうがうまくいく模様である。なので、ここでもそう考えます。

 さて。
 文書がある単語を持つかどうかを二値変数$x_j$で表すとしよう。この場合、ナイーブベイズはもっと簡単に書けて[...中略...]、結局は下式となる。$p_{jk} = P(x_j = 1 | c_k)$として
 $\log P(c_k|x)$
 $= \log P(c_k)$
 $+ \sum_j x_j \log (p_{jk}/(1-p_{jk}))$
 $+ \sum_j \log(1-p_{jk}) $
 $- \log P(x)$
 最後の$\log P(x)$はどこのクラスでも同じだから、ふつうは無視する。
 もし2クラスだったらもっと簡単になって... [数式略]
 情報検索ではこのモデルを「二値独立モデル」という。二値独立モデルは、検索結果の上位項目に対して検索ユーザが関連性をフィードバックし、その判断を学習してランキングを改善する際に使えないかというので関心が持たれた。

 二値独立モデルはいまではほとんど使われていない。その理由は、語の頻度を無視している点にある。文書の長さを無視しているという問題もある。
 そこでいろんなバリエーションが提案された。

 さて、ナイーブベイズ分類器における独立性の仮定はそもそも不自然なわけで、これをなんとかしようという研究もある。3つの方向がある。

 云々。

論文:データ解析 - 読了:Lewis (1998) ナイーブベイズ、四十にして惑わず