ユーザ用ツール

サイト用ツール


prml演習8.10の解答

PRML演習8.10の解答

\[ \newcommand\l{\left} \newcommand\r{\right} \newcommand\cmt[1]{\class{Cmt}{\mbox{#1}}} \newcommand\b[1]{\class{Bold}{\mathrm{#1}}} \newcommand\bw{\b{w}} \newcommand\t{\times} \newcommand\e{{=}} \newcommand\independent{\class{Independent}{\vDash}} \newcommand\nindependent{\not\,\kern-0.2em\independent} \]


\(a \independent b \mid \emptyset\) であること

この有向グラフの同時分布は、 \[ \begin{align} p(a,b,c,d) &= p(d \mid c)p(c \mid a,b)p(a)p(b) \tag{1} \\ \end{align} \] と因数分解される。これより \[ \begin{align} p(a,b) &= \sum_c \sum_d p(a,b,c,d) ~~~(\because\ 加法定理(1.10)) \\ &= \sum_c \sum_d p(d \mid c)p(c \mid a,b)p(a)p(b)~~~(\because\ 同時分布(1)) \\ &= p(a)p(b) \sum_c \big\{p(c \mid a,b) \underbrace{\sum_d p(d \mid c)}_{1} \big\} \\ &= p(a)p(b) \underbrace{\sum_c p(c \mid a,b)}_1 \\ &= p(a)p(b) \end{align} \] よって \[ a \independent b \mid \emptyset \] である。

\(a \nindependent b \mid d\) であること

dで条件付けした場合は
\[ \begin{align} p(a,b \mid d) &= \frac{p(a,b,d)}{p(d)} ~~~(\because\ 乗法定理(1.11)) \\ &= \frac{\sum_c p(a,b,c,d)}{p(d)} ~~~(\because\ 加法定理(1.10)) \\ &= \frac{\sum_c p(d \mid c)p(c \mid a,b)p(a)p(b)}{p(d)} ~~~(\because\ 同時分布(1)) \\ &= \frac{p(a)p(b)\sum_c p(d \mid c)p(c \mid a,b)}{p(d)} ~~~(\because\ c\ によらない項を和の外に出す) \\ &= \frac{p(a)p(b)\sum_c p(d,c \mid a,b)}{p(d)} ~~~\cmt{※1} \\ &= \frac{p(a)p(b)p(d \mid a,b)}{p(d)} ~~~(\because\ 加法定理(1.10)) \\ \end{align} \]
\( \begin{align} \cmt{※1}~~~ \cdot&モデル図より \\ &~~d \independent a,b \mid c \\ &よって \\ &~~p(d|c) = p(d|a,b,c) \\ &よって \\ &~~p(d,c|a,b)=p(d|a,b,c)p(c|a,b)~~~(\because\ 加法定理(1.10)) \\ &~~=p(d|c)p(c|a,b) \\ \cdot&もしくは \\ &~~p(a,b,c,d)=p(d|c)p(c|a,b)p(a)p(b)~~~(\because\ 同時分布(1)) \\ &~~=p(d|c)p(c|a,b)p(a,b)~~~(\because\ 上で求めた\ p(a,b)=p(a)p(b)より) \\ &一方\\ &~~p(a,b,c,d)=p(c,d|a,b)p(a,b)~~~(\because\ 加法定理(1.10)) \\ &~~\therefore\ p(c,d|a,b) = p(d|c)p(c|a,b) \\ \end{align} \)
これは \( p(a\mid d)p(b\mid d) \) に因数分解できないので、\(\cmt{※2}\) \[ a \nindependent b \mid d \] である。

(注)確率分布の式変形において、\( a \independent b \mid \emptyset \) のとき、 \( p(a \mid b, d) = p(a \mid d) \) としたくなるが、これ は一般に正しくない。 たとえば、
というモデルを考えると \( a \independent b \mid \emptyset \) であるが \( a \nindependent b \mid d \) である。
\( a \independent b \mid \emptyset \) だからといって、\( a \independent b \mid d \) とはかぎらない、\( a \nindependent b \mid d \) の場合もある。モデルによって異なる。うかつに \( p(a \mid b, d) = p(a \mid d) \) としないこと。(何度もひっかかったのでメモ)

\(\cmt{※2}\) 因数分解できないことの証明

反例を示す。すなわち \[ p(a,b|d)=\frac{p(a)p(b)p(d|a,b)}{p(d)}\ne p(a|d)p(b|d) \] なる例を示す。(演繹的証明はうまくできなかった、、、orz)
\(a,b,c,d\) をそれぞれ \(\{0,1\}\) を取る確率変数とし、(1)の因数分解を満たす確率表を考える。\(\cmt{※3}\) \[ \small \begin{array}{c|l} a\ b\ c\ d\ & p(a,b,c,d)\\ \hline 1\ 1\ 1\ 1\ & 0.0036 \\ 1\ 1\ 1\ 0\ & 0.0204 \\ 1\ 1\ 0\ 1\ & 0.0048 \\ 1\ 1\ 0\ 0\ & 0.0912 \\ 1\ 0\ 1\ 1\ & 0.00675 \\ 1\ 0\ 1\ 0\ & 0.03825 \\ 1\ 0\ 0\ 1\ & 0.00675 \\ 1\ 0\ 0\ 0\ & 0.12825 \\ 0\ 1\ 1\ 1\ & 0.0147 \\ 0\ 1\ 1\ 0\ & 0.0833 \\ 0\ 1\ 0\ 1\ & 0.0091 \\ 0\ 1\ 0\ 0\ & 0.1729 \\ 0\ 0\ 1\ 1\ & 0.02835 \\ 0\ 0\ 1\ 0\ & 0.16065 \\ 0\ 0\ 0\ 1\ & 0.01155 \\ 0\ 0\ 0\ 0\ & 0.21945 \\ \end{array} \] この表において \[ \small \begin{align} &p(a\e1,b\e1|d\e1) = \frac{p(a\e1,b\e1,d\e1)}{p(d\e1)} =\frac{\sum_c p(a\e1,b\e1,c,d\e1)}{\sum_a \sum_b \sum_c p(a,b,c,d\e1)} \\ &~~=\frac{0.0036+0.0048}{0.0036+0.0048+0.00675+0.00675+0.0147+0.0091+0.02835+0.01155} \\ &~~=\frac{0.0084}{0.0856} = 0.0981\ldots \\ &\frac{p(a\e1)p(b\e1)p(d\e1|a\e1,b\e1)}{p(d\e1)} =\frac{p(a\e1)p(b\e1)\frac{p(a\e1,b\e1,d\e1)}{p(a\e1,b\e1)}}{p(d\e1)} \\ &~~=\frac{0.3\t0.4\t\frac{0.0084}{0.12}}{0.0856} =\frac{0.0084}{0.0856} = 0.0981\ldots \\ &p(a\e1|d\e1)p(b\e1|d\e1)=\frac{p(a\e1,d\e1)}{p(d\e1)}\frac{p(b\e1,d\e1)}{p(d\e1)} \\ &~~=\frac{0.0219}{0.0856}\frac{0.0322}{0.0856} = 0.0962\ldots \\ \end{align} \] なので、 \[ \small p(a\e1,b\e1|d\e1) =\frac{p(a\e1)p(b\e1)p(d\e1|a\e1,b\e1)}{p(d\e1)} \ne p(a\e1|d\e1)p(b\e1|d\e1) \] である。よって \[ p(a,b|d) =\frac{p(a)p(b)p(d|a,b)}{p(d)} \ne p(a|d)p(b|d) \] である。

\(\cmt{※3}\) 確率表の作り方

確率表は、同時分布の因数分解(1)の各因子の値を適当に決めてつくることができる。ただし、各因子について規格化条件を満たすようにする。

因子の値を \[ \small \begin{align} &p(a\e1)=0.3 \\ &p(a\e0)=1-0.3=0.7 \\ &p(b\e1)=0.4 \\ &p(b\e0)=1-0.4=0.6 \\ &p(c\e1|a\e1,b\e1)=0.2 \\ &p(c\e0|a\e1,b\e1)=1-0.2=0.8 \\ &p(c\e1|a\e1,b\e0)=0.25 \\ &p(c\e0|a\e1,b\e0)=1-0.25=0.75 \\ &p(c\e1|a\e0,b\e1)=0.35 \\ &p(c\e0|a\e0,b\e1)=1-0.35=0.65 \\ &p(c\e1|a\e0,b\e0)=0.45 \\ &p(c\e0|a\e0,b\e0)=1-0.45=0.55 \\ &p(d\e1|c\e1)=0.15 \\ &p(d\e0|c\e1)=1-0.15=0.85 \\ &p(d\e1|c\e0)=0.05 \\ &p(d\e0|c\e0)=1-0.05=0.95 \\ \end{align} \] とすると、 \[ \begin{array}{c|l} a\ b\ c\ d\ & p(a,b,c,d)=p(a)p(b)p(c|a,b)p(d|c) \\ \hline 1\ 1\ 1\ 1\ & \begin{smallmatrix}p(a=1)p(b=1)p(c=1|a=1,b=1)p(d=1|c=1) \\ = 0.3\t0.4\t0.2\t0.15=0.0036\end{smallmatrix} \\ 1\ 1\ 1\ 0\ & 0.3\t0.4\t0.2\t0.85=0.0204 \\ 1\ 1\ 0\ 1\ & 0.3\t0.4\t0.8\t0.05=0.0048 \\ 1\ 1\ 0\ 0\ & 0.3\t0.4\t0.8\t0.95=0.0912 \\ 1\ 0\ 1\ 1\ & 0.3\t0.6\t0.25\t0.15=0.00675 \\ 1\ 0\ 1\ 0\ & 0.3\t0.6\t0.25\t0.85=0.03825 \\ 1\ 0\ 0\ 1\ & 0.3\t0.6\t0.75\t0.05=0.00675 \\ 1\ 0\ 0\ 0\ & 0.3\t0.6\t0.75\t0.95=0.12825 \\ 0\ 1\ 1\ 1\ & 0.7\t0.4\t0.35\t0.15=0.0147 \\ 0\ 1\ 1\ 0\ & 0.7\t0.4\t0.35\t0.85=0.0833 \\ 0\ 1\ 0\ 1\ & 0.7\t0.4\t0.65\t0.05=0.0091 \\ 0\ 1\ 0\ 0\ & 0.7\t0.4\t0.65\t0.95=0.1729 \\ 0\ 0\ 1\ 1\ & 0.7\t0.6\t0.45\t0.15=0.02835 \\ 0\ 0\ 1\ 0\ & 0.7\t0.6\t0.45\t0.85=0.16065 \\ 0\ 0\ 0\ 1\ & 0.7\t0.6\t0.55\t0.05=0.01155 \\ 0\ 0\ 0\ 0\ & 0.7\t0.6\t0.55\t0.95=0.21945 \\ \end{array} \] という確率表を得る。

表の\(p(a,b,c,d)\) の値は、因数分解(1)を用いて計算するので出来上がった表は因数分解(1)を満たす。
また、 \[ \begin{align} &\sum_a\sum_b\sum_c\sum_d p(a,b,c,d) \\ &~~~~=\underbrace{\sum_b p(b)}_1 \Big( \underbrace{\sum_a p(a) \Big( \underbrace{\sum_c p(c|a,b) \Big( \underbrace{\sum_d p(d|c)}_1 \Big)}_1 \Big)}_1 \Big) \\ &~~~~=1 \\ \end{align} \] なので、因子ごとに規格化していれば \(p(a,b,c,d)\) も規格化されていることになる。
また、 \[ \small \begin{align} q(a\e1)&=\sum_b \sum_c \sum_d p(a\e1,b,c,d) \\ &=p(a\e1,b\e1,c\e1,d\e1)+p(a\e1,b\e1,c\e1,d\e0)+\cdots \\ &=p(a\e1)p(b\e1)p(c\e1|a\e1,b\e1)p(d\e1|c\e1)+p(a\e1)p(b\e1)p(c\e1|a\e1,b\e1)p(d\e0|c\e1) + \cdots \\ &=p(a\e1) \Big(\underbrace{\sum_b p(b)}_1\Big) \underbrace{\sum_c \Big(p(c|a,b) \underbrace{\sum_d p(d|c)}_1 \Big) }_1 \\ &=p(a\e1) \\ \end{align} \] なので、表から求めた \(q(a\e1)\) は、最初に与えた \(p(a\e1)\) と等しくなる。他の因子についても同様のことが示される。
以上より、上の手順で得られた確率表は、因数分解(1)を満たす確率表になっていると言える。

prml演習8.10の解答.txt · 最終更新: 2021/06/28 13:01 by ma

ページ用ツール