Noisy-ORモデルのお勉強

すごい人「これってNoisy-ORモデルと似てるよね」
僕「...ソウ..デスネ」
ということになったので,ちょっとお勉強しました.ネットでWikipediaあたりがサクっと引っかかってくれるものかと思ったのですが,どうも引っかからないので,枕にしていたベイジアンネットの本を広げました.

Probabilistic Graphical Models: Principles and Techniques (Adaptive Computation and Machine Learning series)

Probabilistic Graphical Models: Principles and Techniques (Adaptive Computation and Machine Learning series)


学生についての教員の推薦状の質L(良いを1,悪いを0)が,授業中の質問の質Q(良いを1,悪いを0)とその人の論文の質F(良いを1,悪いを0)に依存して決まるとする.ORモデルは,右の図のグラフのように書けて,二つの入力に対して論理和(OR)を取った値が出力となる.つまり,質問の質か論文の質のどちらかが良ければ,推薦状の質は必ず良いということを表す.



でも,もしかしたら,教員は学生がどんな質問をしたかなんて覚えてないかもしれないし,論文なんて読んでる時間はないかもしれない.いや,そもそも教員は推薦状を書く才能がないかもしれない.こういう風に現実はかなりNoisyである.
左の図は,上のORモデルをNoisy-ORモデルとして書きなおしたものである.丸が2つ増えて階層的になっているのはNoisyであることを表現している(例えば,学生が良い質問をしていたけど,教員が覚えてなかった確率はP(Q'=0|Q=1)と書ける).
では,Noisy-ORモデルで推薦状の質が良い(もしくは悪い)確率はどのように計算するのか.今, \lambda_F = P(F'=1|F=1) \lambda_Q = P(Q'=1|Q=1)としよう.ついでに,教員の推薦状を書く才能を \lambda_0で表そう(小さいほど良い).そうすると,推薦状の質が悪い確率は, P(L=0|F,Q) = (1-\lambda_0)(1-\lambda_F)(1-\lambda_Q)となる.直感的には,ORモデルは全ての入力が0のとき出力が0になるので,Noisy-ORモデルでは全ての入力が失敗の確率の積として表せる.
また,推薦状の質が良い確率は,全ての入力が0であるわけがないという確率なので, P(L=1|F,Q) = 1 - (1-\lambda_0)(1-\lambda_F)(1-\lambda_Q)となる.

以上がNoisy-ORモデルの説明.ここでは入力が2つの場合を考えましたが,K個の場合に拡張するのも容易です.

とまあ,こんな感じ.