elsur.jpn.org >

« 読了:Li & Anderson (2009) 生命力モデルによる生存分析 | メイン | 読了:「忘却のサチコ」「プリンセスメゾン」「俺の姫靴を履いてくれ」「百姓貴族」「アップルシード」 »

2016年2月29日 (月)

 しばらく前にメモを取った奴。どうも最近は気ばかり急いて、メモだけ取って放り投げているものが多い。

 以前ベイジアン・ネットワークのソフトの講習会に行ったとき、休憩時間に開発元の講師の方を捕まえて、目的変数が二値ひとつ、説明変数が複数という状況で、ナイーブベイズ学習器とロジスティック回帰とどう使い分ければいいんですかね? と尋ねた。その若い方は「さあ...」という返事であった。わからないというよりも、ちょっと一言では答えられない、ということだったのかな。
 実のところ、この問いはずっと心に引っかかっている問いで、自分なりの経験的な答えのようなものはなくはないのだが、いちど専門の人に訊ねてみたいものだ、と思っていた。

Ng, A.Y., Jordan, M.I. (2001) On Discriminative vs. Generative classifiers: A comparison of logistic regression and naive Bayes. Advances in Neural Information Processing Systems 14 (NIPS 2001).

 そのものずばりのタイトルなので、NIPSなどというオドロオドロシイ出典にも関わらず手に取った。Google様によれば被引用件数1314。まじっすか。

 著者いわく。
 入力$x$とラベル$y$を受け取って同時確率$p(x, y)$をモデル化し、所与の$x$についてベイズルールで$p(y|x)$を予測し、もっともありそうなラベル$y$をピックアップする。これが生成的分類器である。いっぽう、事後確率$p(y|x)$を直接にモデル化するのが識別的分類器である。
 Vapnik(1998)いわく、汝分類課題のためにより一般的な課題を解く勿れ。回り道してないで、さっさと$p(y|x)$をモデル化しろ。とこのように、ふつうは識別的分類器のほうが好まれている。また、必要な事例数はモデルの自由パラメータ数と線形の関係にあることが多いという言い伝えもある。こういう信念は正しいのでしょうか。
 いま、「入力とラベルの同時尤度を最適化しましょう」という基準に従う分類器を$h_{Gen}$とする。それと同じパラメトリックなファミリーのモデルで、「条件付き尤度$p(y|x)$を最適化しましょう」ないし「$p(y|x)$に閾値をつけて予測したときの訓練誤差を最小化しましょう」という基準に従う分類器を$h_{Dis}$とする。このペアを生成-判別ペアと呼ぼう。たとえば$p(x|y)$を正規分布、$p(y)$を多項分布とすれば、正規判別分析とロジスティック回帰モデルがペア。入力が離散なら、ナイーブ・ベイズとロジスティック回帰がペアだ。
 どっちが優れているだろうか? ナイーブベイズとロジスティック回帰を比べる。

 入力変数は$n$個とする。出力ラベルは二値とする。$m$個のiidな事例をとってきて訓練セット$S$とする。
 赤コーナー、生成モデルの入場です。ナイーブベイズ分類器。$S$を使って$\hat{p}(x_i | y)$と$\hat{p}(y)$を予測する。
 入力変数がすべて二値の場合、$S$におけるイベント発生数を$\sharp s\{\cdot\}$と書くとして、予測式は
 $\displaystyle \hat{p}(x_i = 1 | y=b) = \frac{\sharp s\{x_i=1, y=b\}+l}{\sharp s\{y=b\}+2l}$
と書ける。$l=0$とすれば経験的推定値。伝統的には$l$を正の整数にすることが多く(1とか)、これは確率のラプラス・スムージングにあたる。さて、$h_{Gen}(x)=T$という予測値を返すのは、下式が正であるとき、その時に限る。[めんどくさいので省略するけど、$\prod$は$i$から$n$まで回る]
 $\displaystyle l_{Gen}(x) = \log \frac{(\prod \hat{p}(x_i|y=T)) \hat{p}(y=T)}{(\prod \hat{p}(x_i|y=F)) \hat{p}(y=F)}$
 入力変数がすべて連続の場合は...[めんどくさいので省略。要するに正規判別]
 青コーナー、識別モデルの登場です。ロジスティック回帰。予測式は
 $p (y=T | x; \beta, \theta) = 1/(1+\exp(-\beta^T x -\theta))$
$h_{Dis}(x)=T$という予測値を返すのは、下式が正であるとき、その時に限る。
 $l_{Dis}(x) = \sum \beta_i x_i + \theta$

 で...
 ここから難しい数学用語が乱舞するので、ほぼ3pにわたってまるきり理解できないのだが、とにかくこういうことがいえるらしい。

 私のような呑み込みの悪い哀れなアホのために(ちがうかな)、事例が示してある。15個のデータセットで事例数を変えながら成績を比較。ほんとだ、最初はナイーブベイズが勝ち、データが増えるとともにロジスティック回帰がキャッチアップするデータセットが多い。

 。。。というわけで、肝心のところは全然理解できていないんだけど、結論のみ学ばせていただきました。へー、知らんかった、そうなんですか。
 純粋に素人の感想ですけど、これ、入力空間のなかの学習事例の分布によっても違うんじゃないかと思うんですが、どうなんでしょうか。あくまで経験的な印象だけど、ロジスティック回帰で判別するにあたっては、(もちろんもともと線形判別が可能な課題だとして、) 学習事例の数そのものよりも「閾値の近くにある」学習事例の数が勝負になるような気がする。誰に教わったのかはっきりしないが、「人数は少なくてもいいから、合否ぎりぎりの奴を15人は集めろ」という言い伝えが耳に残っている。その点はナイーブ・ベイズでも同じことなのかなあ。

論文:データ解析 - 読了:Ng & Jordan (2001) 対決!ナイーブベイズ vs. ロジスティック回帰