機械学習基礎理論独習

誤りがあればご指摘いただけると幸いです。数式が整うまで少し時間かかります。リンクフリーです。

勉強ログです。リンクフリーです
目次へ戻る

PRML演習問題 8.3(標準)

問題

表8.2で与えられる同時分布を持つ3つの2値変数a,b,c\in\{0,1\}を考える。
この分布が以下の特性を持つことを直接計算によって示せ。
aおよびbは周辺依存である。すなわちp(a,b)\not=p(a)p(b)
しかしcで条件付けられると独立である。すなわちc=0およびc=1のいずれの場合でもp(a,b|c)=p(a|c)p(b|c)である。

参照

表8.2

a b c
p(a,b,c)\times1000
0 0 0
192
0 0 1
144
0 1 0
48
0 1 1
216
1 0 0
192
1 0 1
64
1 1 0
48
1 1 1
96
解答

まず、p(a,b)\not=p(a)p(b)を示します。

p(a,b)を計算します。

\begin{eqnarray}
p(a=0,b=0)&=&\sum_{c\in\{0,1\}}p(a=0,b=0,c)\\
&=&p(a=0,b=0,c=0)+p(a=0,b=0,c=1)\\
&=&0.192+0.144\\
&=&0.336\tag{1}\\
p(a=0,b=1)&=&\sum_{c\in\{0,1\}}p(a=0,b=1,c)\\
&=&p(a=0,b=1,c=0)+p(a=0,b=1,c=1)\\
&=&0.048+0.216\\
&=&0.264\tag{2}\\
p(a=1,b=0)&=&\sum_{c\in\{0,1\}}p(a=1,b=0,c)\\
&=&p(a=1,b=0,c=0)+p(a=1,b=0,c=1)\\
&=&0.192+0.064\\
&=&0.256\tag{3}\\
p(a=1,b=1)&=&\sum_{c\in\{0,1\}}p(a=1,b=1,c)\\
&=&p(a=1,b=1,c=0)+p(a=1,b=1,c=1)\\
&=&0.048+0.096\\
&=&0.144\tag{4}\\
\end{eqnarray}

(1),(2),(3),(4)を表にまとめます。
表1

a b
p(a,b)
0 0
0.336
0 1
0.264
1 0
0.256
1 1
0.144

p(a)を計算します。

\begin{eqnarray}
p(a=0)&=&\sum_{b\in\{0,1\}}p(a=0,b)\\
&=&p(a=0,b=0)+p(a=0,b=1)\\
&=&0.336+0.264\\
&=&0.6\tag{5}\\
p(a=1)&=&\sum_{b\in\{0,1\}}p(a=1,b)\\
&=&p(a=1,b=0)+p(a=1,b=1)\\
&=&0.256+0.144\\
&=&0.4\tag{6}\\
\end{eqnarray}

(5),(6)を表にまとめます。
表2

a
p(a)
0
0.6
1
0.4

p(b)を計算します。

\begin{eqnarray}
p(b=0)&=&\sum_{a\in\{0,1\}}p(a,b=0)\\
&=&p(a=0,b=0)+p(a=1,b=0)\\
&=&0.336+0.256\\
&=&0.592\tag{7}\\
p(b=1)&=&\sum_{a\in\{0,1\}}p(a,b=1)\\
&=&p(a=0,b=1)+p(a=1,b=1)\\
&=&0.264+0.144\\
&=&0.408\tag{8}\\
\end{eqnarray}

(7),(8)を表にまとめます。
表3

b
p(b)
0
0.592
1
0.408

表1,表2,表3より、p(a,b),p(a),p(b),p(a)p(b)を表にまとめます。
表4

a b
p(a,b)
p(a)
p(b)
p(a)p(b)
0 0
0.336
0.6
0.592
0.6\times0.592=0.3552
0 1
0.264
0.6
0.408
0.6\times0.408=0.2448
1 0
0.256
0.4
0.592
0.4\times0.592=0.2368
1 1
0.144
0.4
0.408
0.4\times0.408=0.1632

表4より、p(a,b)\not=p(a)p(b)が示せました。

次に、p(a,b|c)=p(a|c)p(b|c)を示します。

確率の乗法定理より、p(a,b|c)=p(a,b,c) / p(c)なので、まずはp(c)を計算します。

\begin{eqnarray}
p(c=0)&=&\sum_{a\in\{0,1\}}\sum_{b\in\{0,1\}}p(a,b,c=0)\\
&=&p(a=0,b=0,c=0)+p(a=0,b=1,c=0)+p(a=1,b=0,c=0)+p(a=1,b=1,c=0)\\
&=&0.192+0.048+0.192+0.048\\
&=&0.48\tag{9}\\
p(c=1)&=&\sum_{a\in\{0,1\}}\sum_{b\in\{0,1\}}p(a,b,c=1)\\
&=&p(a=0,b=0,c=1)+p(a=0,b=1,c=1)+p(a=1,b=0,c=1)+p(a=1,b=1,c=1)\\
&=&0.144+0.216+0.064+0.096\\
&=&0.52\tag{10}
\end{eqnarray}

(9),(10)を表にまとめます。
表5

c
p(c)
0
0.48
1
0.52

p(a,b,c),p(c),p(a,b|c)を表にまとめます。
表6

a b c
p(a,b,c)
p(c)
p(a,b\mid c)=p(a,b,c) / p(c)
0 0 0
0.192
0.48
0.192/0.48=0.4
0 0 1
0.144
0.52
0.144/0.52\approx0.277
0 1 0
0.048
0.48
0.048/0.48=0.1
0 1 1
0.216
0.52
0.216/0.52\approx0.415
1 0 0
0.192
0.48
0.192/0.48=0.4
1 0 1
0.064
0.52
0.064/0.52\approx0.123
1 1 0
0.048
0.48
0.048/0.48=0.1
1 1 1
0.096
0.52
0.096/0.52\approx0.185

確率の乗法定理より、p(a|c)=p(a,c) / p(c)なので、まずはp(a,c)を計算します。

\begin{eqnarray}
p(a=0,c=0)&=&\sum_{b\in\{0,1\}}p(a=0,b,c=0)\\
&=&p(a=0,b=0,c=0)+p(a=0,b=1,c=0)\\
&=&0.192+0.048\\
&=&0.24\tag{11}\\
p(a=0,c=1)&=&\sum_{b\in\{0,1\}}p(a=0,b,c=1)\\
&=&p(a=0,b=0,c=1)+p(a=0,b=1,c=1)\\
&=&0.144+0.216\\
&=&0.36\tag{12}\\
p(a=1,c=0)&=&\sum_{b\in\{0,1\}}p(a=1,b,c=0)\\
&=&p(a=1,b=0,c=0)+p(a=1,b=1,c=0)\\
&=&0.192+0.048\\
&=&0.24\tag{13}\\
p(a=1,c=1)&=&\sum_{b\in\{0,1\}}p(a=1,b,c=1)\\
&=&p(a=1,b=0,c=1)+p(a=1,b=1,c=1)\\
&=&0.064+0.096\\
&=&0.16\tag{14}
\end{eqnarray}

(11),(12),(13),(14)より、p(a,c),p(c),p(a|c)を表にまとめます。
表7

a c
p(a,c)
p(c)
p(a\mid c)=p(a,c) / p(c)
0 0
0.24
0.48
0.24 / 0.48=0.5
0 1
0.36
0.52
0.36/0.52\approx0.692
1 0
0.24
0.48
0.24/0.48=0.5
1 1
0.16
0.52
0.16/0.52\approx0.308

確率の乗法定理より、p(b|c)=p(b,c) / p(c)なので、まずはp(b,c)を計算します。

\begin{eqnarray}
p(b=0,c=0)&=&\sum_{a\in\{0,1\}}p(a,b=0,c=0)\\
&=&p(a=0,b=0,c=0)+p(a=1,b=0,c=0)\\
&=&0.192+0.192\\
&=&0.384\tag{15}\\
p(b=0,c=1)&=&\sum_{a\in\{0,1\}}p(a,b=0,c=1)\\
&=&p(a=0,b=0,c=1)+p(a=1,b=0,c=1)\\
&=&0.144+0.064\\
&=&0.208\tag{16}\\
p(b=1,c=0)&=&\sum_{a\in\{0,1\}}p(a,b=1,c=0)\\
&=&p(a=0,b=1,c=0)+p(a=1,b=1,c=0)\\
&=&0.048+0.048\\
&=&0.096\tag{17}\\
p(b=1,c=1)&=&\sum_{a\in\{0,1\}}p(a,b=1,c=1)\\
&=&p(a=0,b=1,c=1)+p(a=1,b=1,c=1)\\
&=&0.216+0.096\\
&=&0.312\tag{18}
\end{eqnarray}

(15),(16),(17),(18)より、p(b,c),p(c),p(b|c)を表にまとめます。
表8

b c
p(b,c)
p(c)
p(b\mid c)=p(b,c) / p(c)
0 0
0.384
0.48
0.384 / 0.48=0.8
0 1
0.208
0.52
0.208 / 0.52=0.4
1 0
0.096
0.48
0.096 / 0.48=0.2
1 1
0.312
0.52
0.312 / 0.52=0.6

表6、表7、表8より、p(a,b|c),p(a|c),p(b|c),p(a|c)p(b|c)を表にまとめます。
表9

a b c
p(a,b\mid c)
p(a\mid c)
p(b\mid c)
p(a\mid c)p(b\mid c)
0 0 0
0.4
0.5
0.8
0.5\times0.8=0.4
0 0 1
0.277
0.692
0.4
0.692\times0.4\approx0.277
0 1 0
0.1
0.5
0.2
0.5\times0.2=0.1
0 1 1
0.415
0.692
0.6
0.692\times0.6\approx0.415
1 0 0
0.4
0.5
0.8
0.5\times0.8=0.4
1 0 1
0.123
0.308
0.4
0.308\times0.4\approx0.123
1 1 0
0.1
0.5
0.2
0.5\times0.2=0.1
1 1 1
0.185
0.308
0.6
0.308\times0.6=0.185

表9より、p(a,b|c)=p(a|c)p(b|c)が示せました。

最後に

何も工夫せず計算してしまいました。orz
例えば、p(c=0)を計算したなら、p(c=1)=1-p(c=0)などとすべきでした。

目次へ戻る