ベイズ統計ファンサイト の
入門者向け解説
を理解する為に使ったメモ書きです。
とんでもない勘違いをしていたらごめんなさい。
X 信念(belief) †
D 判断材料(decision-maker) †
- D1 :文中にV1agraがでてきた
- D2 :文中にV1agraがでてこない
P(X) 事前確率(prior) †
- P(X1) :SPAMである割合
- P(X2) :SPAMでない割合
P(D|X) 事後確率(posterior) †
- P(D1|X1) :SAPMに分類されたもののうち文中にV1agraがでてきた割合
- P(D2|X1) :SAPMに分類されたもののうち文中にV1agraがでこない割合
- P(D1|X2) :SAPMに分類されないもののうち文中にV1agraがでてきた割合
- P(D2|X2) :SAPMに分類されないもののうち文中にV1agraがでこない割合
P(D)=Σi( P(D|Xi)*P(Xi) ) 尤度(likelihood) †
- P(D1)=P(D1|X1)*P(X1) + P(D1|X2)*P(X2) :文中にV1agraがでてきた割合
- P(D2)=P(D2|X1)*P(X1) + P(D2|X2)*P(X2) :文中にV1agraがでてこない割合
P(X|D) = P(D|X) * P(X) / P(D) ベイズ推定(Bayesian) †
- P(X1|D1) = P(D1|X1) * P(X1) / P(D1) : 文中にV1agraがでてきた場合SPAMである確率
- P(X2|D1) = P(D1|X2) * P(X2) / P(D1) : 文中にV1agraがでてきた場合SPAMでない確率
- P(X1|D2) = P(D2|X1) * P(X1) / P(D2) : 文中にV1agraがでてこない場合SPAMである確率
- P(X2|D2) = P(D2|X2) * P(X2) / P(D2) : 文中にV1agraがでてこない場合SPAMでない確率
ベイズ推定の例 †
学習DBが以下の状態の場合、
SPAM | Clean
●●○○○ | ●○○○○ (●V1agraあり ○V1agraなし)
新しくV1agraが文中に出てくるメールを受け取ったとき、そのメールがSPAMな確率は
P(X1|D1) = P(D1|X1) * P(X1) / P(D1)
2 1 3 2
= --- * --- / --- = ---
5 2 10 3
要は学習DBにある●3個のうち何個がSPAM側にいるかを計算している。
ベイズ推定の直感的な理解 †
P(X1|D1) * P(D1)
= P(D1|X1) * P(X1)
= 学習DB全体のなかで SPAM かつ 文中にV1agraが出てくる割合
両辺を P(D1) で割って
P(X1|D1) = P(D1|X1) * P(X1) / P(D1)
- A 行動(action)
- A1 : メールを捨てる
- A2 : メールを残しておく
- U(A|X) 効用値(utility value)
- U(A1|X1) = 100 : SPAMであったのでメールを捨てたときの効用値
- U(A1|X2) = -100 : SPAMでないのにメールを捨てたときの効用値
- U(A2|X1) = -10 : SPAMであったのにメールを残しておいたときの効用値
- U(A2|X2) = 100 : SPAMでないのでメールを残しておいたときの効用値
- E(A|D)=Σi( U(A|Xi)*P(Xi|D) ) 期待効用 (expected utility value)
- E(A1|D1) = U(A1|X1)*P(X1|D1) + U(A1|X2)*P(X2|D1)
: 文中にV1agraが出てきたとき、メールを捨ててしまった場合の効用値の期待値
- E(A2|D1) = U(A2|X1)*P(X1|D1) + U(A2|X2)*P(X2|D1)
: 文中にV1agraが出てきたとき、メールを残しておいた場合の効用値の期待値
- E(A1|D2) = U(A1|X1)*P(X1|D2) + U(A1|X2)*P(X2|D2)
: 文中にV1agraが出てこないとき、メールを捨ててしまった場合の効用値の期待値
- E(A2|D2) = U(A2|X1)*P(X1|D2) + U(A2|X2)*P(X2|D2)
: 文中にV1agraが出てこないとき、メールを残しておいた場合の効用値の期待値
- DがDxに決まったとき、E(Ai|Dx) の大小を比較して、もっとも期待効用の大きい行動Aiを取ればよい
で、キミはベイズ推定を使って何がやりたいわけ? †
- 多数のサイトから集めたRSS(新着記事)の並べ替えをしたい
- 入力(学習データ):ユーザが記事をクリックする順番
- 出力:記事の得点(読まれ易い記事が高得点)
- 3日間隔で記事が書かれるblogサイトに記事が書かれたときには、
毎日大量に更新されている新聞社などよりも上位に表示されるようにしたい
- そこで小数の事例も扱えるベイズ推定というわけです
Computer