野次馬エンジニア道

野次馬な気持ちでプログラミングをあれこれと綴ります

確率論 - ベイズの定理

はてなブログは、Tex形式で数式がかけるらしい。今日は苦手な確率に関して野次馬してみる。

同時確率(joint probability)

二つの事象がどちらも起こる確率。

{ \displaystyle
P(X \cap Y)=P(X,Y)
}

周辺確率(marginal probability)

他の事象にかかわりなく一つの事象だけの確率。つまり { \displaystyle
P(X)
}とか{ \displaystyle
P(Y)
}

同時確率を全て足し合わせて、{ \displaystyle
P(X)
}を求めることをYについて周辺化するという。

{ \displaystyle
P(X)= \sum_Y P(X,Y)
}

これは加法定理(sum rule)と呼ばれる。

条件付き確率(conditional probability)

ある事象Yが起こるという条件の下で別の事象Xが起きる確率は { \displaystyle
P(X \mid Y)
} となる。

同時確率との関係は、

{ \displaystyle
P(X,Y)=P(X \mid Y)P(Y)=P(Y \mid X)P(X)
}

これは乗法定理(product rule)と呼ばれる。

ベイズの定理

同時確率と条件付き確率の関係がベイズの定理となる。

{ \displaystyle
P(Y \mid X) = \frac{P(X,Y)}{P(X)} = \frac{P(X \mid Y)P(Y)}{P(X)}
}

P(Y)を事前確率、P(X \mid Y)を尤度、{P(Y \mid X)}を事後確率と呼ぶ。

分母の正規化定数は、 P(X) = P(X \mid Y)P(Y) + P(X \mid \overline{Y})P(\overline{Y})で算出可能。

データの更新

X_2が追加で得られた場合

{ \displaystyle
P(Y \mid X, X_2) = \frac{P(X_2 \mid X, Y)P(Y \mid X)}{P(X_2|X)}
}

一つ前の事後確率が事前確率となっていることに注目。

ナイーブベイズ(NaiveBayes)

スパムフィルタや文書のカテゴリ分けに用いられる確率的な分類器。

{ \displaystyle
P(Y \mid \mathbf{X}) = \frac{P(\mathbf{X} \mid Y)P(Y)}{P(\mathbf{X})}
}

 \mathbf{X}=(X_1,X_2,...X_D)単語からなる文書と、Yがスパムかや文書のカテゴリを表す。

事前確率 P(Y)は事前にカテゴリ分けをした文書から算出可能。分母のP(\mathbf{X})はどの文書で等しいため計算不要。尤度は積の形に分解すると

{ \displaystyle
P(\mathbf{X} \mid Y)P(Y) = P(Y)P(X_0,X_1,...X_D \mid Y)
                         = P(Y)\prod_{d=1}^{D}P(X_d\mid Y)
}

 P(X_d\mid Y)は、あるカテゴリの中の全ての文書の中で X_kの単語が出現する確率となる。

あとは、事前確率と尤度から事後確率が最大となるカテゴリを計算すればよい

 \displaystyle
arg\ max_y\ P(Y)\prod_{d=1}^{D}P(X_d\mid Y)

確率は小さい値を取る可能性があるので対数を取って、

 \displaystyle
arg\ max_y\ \left( logP(Y) + log\sum_{d=1}^{D}P(X_d\mid Y) \right)

とする。最大事後確率推定(MAP推定: maximum a posteriori estimation)と呼ばれる。