一日坊主

雰囲気でやっている

PRML上巻 P19-20

1.2.2 期待値と分散

ある関数f(x)の,確率分布p(x)のもとでの平均値をf(x)の期待値(expectation)と呼び,\mathbb{E}[f]と書く.離散分布に対しては,


\begin{align*}
\mathbb{E}[f]=\sum_{x}p(x)f(x)\tag{1.33}
\end{align*}

で与えられる.

連続変数の場合の期待値は対応する確率密度に関する積分で表される.


\begin{align*}
\mathbb{E}[f]=\int p(x)f(x)\mathrm{d}x\tag{1.34}
\end{align*}

期待値は,有限個のN点の有限和で近似できる.


\begin{align*}
\mathbb{E}[f]=\frac{1}{N}\sum_{n=1}^{N}f(x_n)\tag{1.35}
\end{align*}

多変数関数の期待値の場合は,どの変数について平均を取るかを示すのに添え字を使う.例えば,


\begin{align*}
\mathbb{E}_x\left[f(x,y)\right]\tag{1.36}
\end{align*}

は関数f(x,y)xの分布に関する平均を表す.

条件付き分布についても条件付き期待値を考えることができ,


\begin{align*}
\mathbb{E}_{x}[f|y]=\sum_{x}p(x|y)f(x)\tag{1.37}
\end{align*}

となる.

f(x)の分散(variance)は,


\begin{align*}
\mathrm{var}[f]=\mathbb{E}\left[(f(x)-\mathbb{E}[f(x)])^2\right]\tag{1.38}
\end{align*}

で定義される.2乗を展開すると,


\begin{align*}
\mathrm{var}[f]=\mathbb{E}[f(x)^2]-\mathbb{E}[f(x)]^2\tag{1.39}
\end{align*}

と書くこともできる.

確率変数x自身の分散を考えることができ,


\begin{align*}
\mathrm{var}[x]=\mathbb{E}[x^2]-\mathbb{E}[x]^2\tag{1.40}
\end{align*}

となる.

2つの確率変数xyの共分散(covariance)は


\begin{align*}
\mathrm{cov}[x,y]&=\mathbb{E}_{x,y}\left[\{x-\mathbb{E}[x]\}\{y-\mathbb{E}[y]\}\right]\\
&=\mathbb{E}_{x,y}[xy]-\mathbb{E}[x]\mathbb{E}[y]\tag{1.41}
\end{align*}

と定義され,xyが同時に変動する度合いを表す.

2つの確率変数ベクトル\mathbf{x},\mathbf{y}に関する共分散は,行列


\begin{align*}
\mathrm{cov}[\mathbf{x},\mathbf{y}]&=\mathbb{E}_{\mathbf{x},\mathbf{y}}\left[\{\mathbf{x}-\mathbb{E}[\mathbf{x}]\}\{\mathbf{y}^\mathrm{T}-\mathbb{E}[\mathbf{y}^\mathrm{T}]\}\right]\\
&=\mathbb{E}_{\mathbf{x},\mathbf{y}}[\mathbf{xy}^\mathrm{T}]-\mathbb{E}[\mathbf{x}]\mathbb{E}[\mathbf{y}^\mathrm{T}]\tag{1.42}
\end{align*}

となる.

PRML上巻 P18

x区間(-\infty,z)に入る確率は累積分布関数(cumulative distribution function)


\begin{align*}
P(z)=\int_{-\infty}^{z}p(x)\mathrm{d}x \tag{1.28}
\end{align*}

で定義される.

いくつかの連続変数x_1,\ldots,x_Dがあるとき,これをまとめてベクトル\mathbf{x}で表すと,同時分布p(\mathbf{x})=p(x_1,\ldots,x_D)を定義することができ,\mathbf{x}\mathbf{x}を含む無限小の体積要素\delta \mathbf{x}に入る確率はp(\mathbf{x})\delta \mathbf{x}で与えられる.この多変数確率密度は


\begin{align*}
p(\mathbf{x})\geq 0 \tag{1.29} \\
\int p(\mathbf{x})\mathrm{d}\mathbf{x}=1 \tag{1.30} \\
\end{align*}

を満たす必要がある.

xが離散変数のときはp(x)は確率質量変数(probability mass function)と呼ばれることもある.

確率の加法・乗法定理およびベイズの定理は同様に適用可能であり,x,yを2つの実変数としてその形は


\begin{align*}
p(x)&=\int p(x,y)\mathrm{d}y \tag{1.31} \\
p(x,y)&=p(y|x)p(x) \tag{1.32} \\
\end{align*}

をとる.

PRML上巻 演習問題1.4

演習問題1.4

連続変数x上で定義された確率密度p_x(x)を考える.x=g(y)により非線形変換を施すと密度は(1.27)の変換を受ける.


\begin{align*}
p_y(y)&=p_x(x)\left|\frac{\mathrm{d}x}{\mathrm{d}y}\right| \\
&=p_x(g(y))\left|g'(y)\right| \tag{1.27} \\
\end{align*}

(1.27)微分して,yに関する密度を最大にする位置\hat{y}xに関する密度を最大にする位置\hat{x}とが,ヤコビ因子の影響により一般には単純な\hat{x}=g(\hat{y})という関係にないことを示せ.これは確率密度の最大値が,(通常の関数と異なり)変数の選択に依存することを示している.線形変換の場合には最大値の位置が変数自身と同じ変換を受けることを確かめよ.

演習問題1.4 解答

(1.27)の両辺をyについて微分する


\begin{align*}
p_y'(y)&=p_x'(g(y))g'(y)\left|g'(y)\right|+p_x(g(y))\left|g''(y)\right|
\end{align*}

ここで,yに関する密度を最大にする\hat{y}について,


\begin{align*}
p_y'(\hat{y})&=p_x'(g(\hat{y}))g'(\hat{y})\left|g'(\hat{y})\right|+p_x(g(\hat{y}))\left|g''(\hat{y})\right| \\
&= 0
\end{align*}

が成り立つ. いま,\hat{x}=g(\hat{y})が成り立つと仮定すると,


\begin{align*}
p_x'(\hat{x})g'(\hat{y})\left|g'(\hat{y})\right|+p_x(\hat{x})\left|g''(\hat{y})\right| = 0
\end{align*}

となる.\hat{x}xに関する密度を最大にする位置であるから,p_x'(\hat{x})=0が成り立つ.よって上式の第一項はゼロとなり,


\begin{align*}
p_x(\hat{x})\left|g''(\hat{y})\right| = 0
\end{align*}

となる.いま,x=g(y)非線形変換(g(y)が二次以上の項をもつ)であるから,g''(\hat{y})\neq 0となり,上式が成り立つにはp_x(\hat{x})=0でなければならない.

しかし,確率密度の定義から,\hat{x}xに関する密度を最大にする位置であるためには,p_x(\hat{x})>0でなければならない.よって矛盾する.(証明終わり)

一方,線形変換の場合,g''(\hat{y})=0となるため,上式は成り立つ.

以上.Google先生ありがとう.

PRML上巻 P17

1.2.1 確率密度

連続変数についての確率を考える. 実数値を取る変数x区間(x,x+\delta x)に入る確率が,\delta x \to 0のときp(x)\delta xで与えられるとき,p(x)x上の確率密度(probability density)とよぶ.

このとき,x区間(a,b)にある確率は

\displaystyle{
p(x\in(a,b))=\int_{a}^{b}p(x)\mathrm{d}x \tag{1.24}
}

で与えられる.

確率は非負でxは実数上のどこかの値をとらなければならないことから,確率密度は以下の2つの条件を満たす.


\begin{align*}
p(x)\geq 0 \tag{1.25} \\
\int_{-\infty}^{\infty}p(x)\mathrm{d}x=1 \tag{1.26} \\
\end{align*}

ここで,変数変換x=g(y)を考える. 確率密度p_x(x)に対応する,新しい変数yに関する密度p_y(y)を考えると, 区間(x,x+\delta x)に入る観測値は,\delta xが小さければ区間(y, y+\delta y)に入り, p_x(x)\delta x \simeq p_y(y)\delta yとなる.したがって,


\begin{align*}
p_y(y)&=p_x(x)\left|\frac{\mathrm{d}x}{\mathrm{d}y}\right| \\
&=p_x(g(y))\left|g'(y)\right| \tag{1.27} \\
\end{align*}

となる.

この性質から分かることは,確率密度の最大値は変数の選び方に依存するということ.

今日はここまで.

PRML上巻 P15-17

前回の続き.

確率論の概念を単純な例を使って導入する.

いま,赤と青の2つの箱があり,赤の箱にはりんごが2個とオレンジが6個,青の箱にはりんごが3個とオレンジが1個入っているとする. 箱の1つをランダムに選び,果物をランダムに1個取り出す.そしてどの果物だったかを記録して元の箱に戻す.この試行を多数繰り返す. その際,赤の箱を40%,青の箱を60%選び,箱の中の果物は同じ確からしさで選ぶ.

赤か青の箱を選ぶ確率は,


\begin{align*}
p(B=r)=\frac{4}{10} \tag{1.14} \\
p(B=b)=\frac{6}{10} \tag{1.15} \\
\end{align*}

で与えられる.これらはp(B=r)+p(B=b)=1という関係を満たす.

箱をランダムに選び,青い箱だったとする,するとりんごを選ぶ確率は単に青い箱の中のりんごの個数の比率で\frac{3}{4}である.

箱の種類が与えられた下での果物の条件付き確率を書き下すと以下のとおりとなる.


\begin{align*}
p(F=a|B=r)=\frac{1}{4} \tag{1.16} \\
p(F=o|B=r)=\frac{3}{4} \tag{1.17} \\
p(F=a|B=b)=\frac{3}{4} \tag{1.18} \\
p(F=o|B=b)=\frac{1}{4} \tag{1.19} \\
\end{align*}

これらの確率も規格化されており,


\begin{align*}
p(F=a|B=r)+p(F=o|B=r)=1\tag{1.20} \\
p(F=a|B=b)+p(F=o|B=b)=1\tag{1.21} \\
\end{align*}

が成り立つ.

ここで確率の加法・乗法定理を使うと,りんごを選ぶ確率を計算することができて,


\begin{align*}
p(F=a)&=p(F=a|B=r)p(B=r)+p(F=a|B=b)p(B=b) \\
&= \frac{1}{4}\times\frac{4}{10}+\frac{3}{4}\times\frac{6}{10}=\frac{11}{20}\tag{1.22}
\end{align*}

となる.また加法定理からp(B=b|F=o)=1-\frac{2}{3}=\frac{1}{3}が成り立つ.

ここで,ベイズの定理の重要な解釈を考える.

選んだ果物の種類を教えられる前にどの箱を選んだかを尋ねられたら,我々のもつ最も完全な情報はp(B)という確率値で与えられる.これを事前確率(prior probability)と呼ぶ.なぜなら,どの果物を選んだかを観測するより事前に得られる確率値だからである. 一旦果物がオレンジだと分かれば,ベイズの定理を使って,確率p(B|F)を計算できる.これを事後確率(posterior probability)と呼ぶ.なぜなら,これはFを観測した事後の確率だからである.

2つの変数の同時分布がその周辺分布の積に分解できるとき(p(X,Y)=p(X)p(Y)),XYは独立(independent)であるという.乗法定理からp(Y|X)=p(Y)であることがわかり,Xが与えられた下でのYの条件付き確率は実際にXの値に独立になる.

果物の箱の例で言えば,各箱に同じ比率でりんごとオレンジが入っていれば,p(F|B)=P(F)となって,りんごが選ばれる確率はどの箱が選ばれたかに独立となる.

今日はここまで.

PRML上巻 P15

一昨日の続き.

1.11に,2変数に対する同時分布の単純な例を使って,周辺分布および条件付き分布の概念を図示する. 左上の図は,同時分布からの生成を模して生成したN=60個のサンプルデータ点をプロットしてある. 残りの図は周辺分布p(X), p(Y)と,左上の図の下側の行に対応する条件付き分布p(X|Y=1)ヒストグラムを表す.

%matplotlib inline

import matplotlib.pyplot as plt
import japanize_matplotlib
import numpy as np
np.random.seed(42)
# figure 1.11

def min_max(x: np.ndarray) -> np.ndarray:
    """min-max normalization"""
    n_min = np.min(x) - 0.001
    n_max = np.max(x) + 0.001
    return (x - n_min) / (n_max - n_min)

x = min_max(np.concatenate([np.random.normal(0.3, 0.2, 33), np.random.normal(0.7, 0.2, 27)]))
y = np.concatenate([np.random.rand(33), np.random.rand(27) + 1])

fig, axs = plt.subplots(2, 2, figsize=(12, 8))

axs[0, 0].scatter(x, y)
axs[0, 0].grid(True)
axs[0, 0].set_xticks(np.linspace(0, 1, 10))
axs[0, 0].set_yticks(np.linspace(0, 2, 3))
axs[0, 0].xaxis.set_ticklabels([])
axs[0, 0].yaxis.set_ticklabels([])
axs[0, 0].set_title('$p(X,Y)$')
axs[0, 0].set_xlabel('$X$')
axs[0, 0].set_ylabel('$Y$')

axs[0, 1].set_title('$p(Y)$')
axs[0, 1].hist(y, bins=np.linspace(0, 2, 3), rwidth=0.8, orientation='horizontal')
axs[0, 1].set_xticks([])
axs[0, 1].set_yticks([])

axs[1, 0].set_title('$p(X)$')
axs[1, 0].hist(x, bins=np.linspace(0, 1, 10), rwidth=0.8)
axs[1, 0].set_xticks([])
axs[1, 0].set_yticks([])
axs[1, 0].set_xlabel('$X$')

axs[1, 1].set_title('$p(X|Y=1)$')
axs[1, 1].hist(x[:33], bins=np.linspace(0, 1, 10), rwidth=0.8)
axs[1, 1].set_xticks([])
axs[1, 1].set_yticks([])
axs[1, 1].set_xlabel('$X$')

f:id:twakamori:20210304021932p:plain
figure 1.11

ヒストグラムは,ある確率分布から生成した有限個の点だけが与えられたとき,もとの確率分布をモデル化する単純な方法とみなすことができる.

今日はここまで.