LoginSignup
2
1

More than 5 years have passed since last update.

Goodfellow本 第5章 機械学習の基礎

Last updated at Posted at 2018-04-16

社内でGoodfellow「Deep Learning」の日本語訳(松尾研)を週一で勉強会する事にしました。その際、式変形でつまづくことが多かったため、丁寧に書き下しました。
http://www.deeplearningbook.org/

5.1 学習アルゴリズム

5.1.1 タスクT

5.1.2 性能指標P

5.1.3 経験E

p(\vec x) = \prod_{i=1}^n p(x_i | x_1,...,x_{i-1})
\tag{5.1}

確率の連鎖律より
わかりやすくすると

p(x_n,...,x_1) = p(x_n|x_{n-1},...,x_1) \cdot p(x_{n-1},...,x_1)

を繰り返している

p(y|\vec x) = \frac {p(\vec x, y)}{\sum_{y'}p(\vec x, y')} \tag{5.2}

y'があらゆる全ての事例であり、そこから観測できた教師データyについての条件付き確率。

5.1.4 例: 線形回帰

\nabla_{\vec w} MSE_{train} = 0 \tag{5.6}

定義より

\Rightarrow \nabla_{\vec w} \frac{1}{m}\|\vec {\hat y }^{(train)} - \vec y^{(train)}\|_2^2 = 0 \tag{5.7} \\
\Rightarrow \nabla_{\vec w} \frac{1}{m}\|{X}^{(train)} \vec w - \vec y^{(train)}\|_2^2 = 0 \tag{5.8}

2乗ノルムから行列式へ

\Rightarrow \nabla_{\vec w} ({X}^{(train)} \vec w - \vec y^{(train)})^{\mathrm{T}}({X}^{(train)} \vec w - \vec y^{(train)})= 0 \tag{5.9}
(AB)^{\mathrm{T}} = B^{\mathrm{T}} A^{\mathrm{T}}

に注意して、展開

\Rightarrow \nabla_{\vec w} (\vec w^{\mathrm{T}} 
{X}^{(train)\mathrm{T}} {X}^{(train)} \vec w 

- 2 \vec w^{\mathrm{T}} {X}^{(train)\mathrm{T} }\vec y^{(train)} 

+ \vec y^{(train)\mathrm{T}} \vec y^{(train)}

)= 0 \tag{5.10}

w微分

2{X}^{(train)\mathrm{T}}{X}^{(train)} \vec w - 2{X}^{(train)\mathrm{T}} y^{(train)} = 0 \tag{5.11}
{X}^{(train)\mathrm{T}}{X}^{(train)} \vec w = {X}^{(train)\mathrm{T}} y^{(train)} 
\vec w = ({X}^{(train)\mathrm{T}}{X}^{(train)})^{-1} {X}^{(train)\mathrm{T}} y^{(train)}  \tag{5.12}

(5.12)は正規方程式と呼ばれる

5.2 容量,過剰適合,過少適合

5.3 ハイパーパラメータと検証集合

5.4 推定量, バイアス,バリアンス

Algorithm 5.1 k fold cross validation

A(D \backslash D_i) :k分割したデータ集合のi番目を除いた集合\\
f_i : 学習済み関数 \\
e_j = L(f_i, \vec z_j) :個々の誤差を損失関数で計算

5.4.1 point estimator

母集団から抽出された標本を用いて母集団を特徴づけるパラメータ(母数)を推測すること

例えば47都道府県の中の10都道府県にある映画館の合計スクリーン数の平均は93.8だとする。この93.8を47都道府県(=母集団)の平均値(つまり母平均)と見なすのが母平均の点推定
推定された値は一般的に^(ハット)を頭につけて表す。

g : 標本から母集団の統計量(平均や分散など)を推定する関数

5.4.2 bias

biasとはサンプルから得られた何らかの推定量が母集団の推定したい量として扱えるかどうかを調べるもの。

推定量として使うサンプルはランダムで選ばれるので、期待値として計算する。

推定したい関数とは違う平均値をもつ統計量を推定量として使ってしまうことをbiasという。平均値が推定しようとしている量に等しい場合にはunbiased(不偏推定量)という。

例: ベルヌーイ分布

P(x_i;\theta) = \theta^{x_i} (1-\theta)^{(1-x_i)} \tag{5.21}
\begin{align}
bias(\hat \theta_m) &= \mathbb E[\hat \theta_m] - \theta \tag{5.23} \\

&= \mathbb E[\frac{1}{m} \sum_{i=1}^m x_i] - \theta \tag{5.24} \\ 

&= \frac{1}{m} \sum_{i=1}^m \mathbb E[x_i] - \theta 
\tag{5.25} \\

\end{align}

ここで期待値の定義(確率×値)より(式(5.21)が確率に相当)

\mathbb E[x_i] = \sum_{x_i = 0}^1 (x_i \cdot \theta^{x_i} (1-\theta)^{(1-x_i)})

以下省略...

例: 平均ガウス分布推定量

p(x_i; \mu, \sigma^2) = \frac{1}{\sqrt{2\pi \sigma^2}} exp(- \frac{1}{2} \frac{(x_i - \mu)^2}{\sigma^2}) \tag{5.29}
\begin{align}
bias(\hat \mu_m ) &= \mathbb E[\hat \mu_m]- \mu 
\tag{5.31} \\

&= \mathbb E[\frac{1}{m} \sum_{i=1}^m x_i] - \mu
\tag{5.32} \\


&= (\frac{1}{m} \sum_{i=1}^m \mathbb E[x_i]) - \mu
\tag{5.33}
\end{align}

ここでガウス分布の期待値は平均値であるからして

\mathbb E[x_i] = \mu

以下省略...

例: ガウス分布の分散の推定量

https://physnotes.jp/stat/unb_est/
この素晴らしいサイトにすべて載っているので省略

5.4.3 分散と標準誤差

中心極限定理より、

Var[\frac{1}{m} \sum_{i=1}^m x_i] = \frac{\sigma^2}{m}

よって、

SE(\hat \mu_m) = \sqrt{Var[\frac{1}{m} \sum_{i=1}^m x_i]} = \sqrt{\frac{\sigma^2}{m}} = \frac{\sigma}{\sqrt m}

95%信頼区間は

標本平均 \pm 1.96 \sqrt{標本分散}\\
= \hat \mu_m \pm 1.96SE(\hat \mu_m)

の間となる。

例: ベルヌーイ分布

Var(\hat \theta_m) = Var(\frac{1}{m} \sum_{i=1}^m x_i) \tag{5.48}

ここで、

Var[aX] = a^2 Var[X]

より

(5.48) = \frac{1}{m^2} Var(\sum_{i=1}^m x_i) \tag{5.49} 

さらにベルヌーイ分布の分散は

Var(x_i) = \theta (1 - \theta)

なので

(5.49) = \frac{1}{m^2} \sum_{i=1}^m \theta (1-\theta) \tag{5.50}

以下省略...

5.4.4 平均事情誤差を最小化するためのバイアスとバリアンスとのトレードオフ

\begin{align}
MSE &= \mathbb E[(\hat \theta_m - \theta)^2] \tag{5.53} \\

&= \mathbb E[((\hat \theta_m - \mathbb E[\hat \theta_m]) + (\mathbb E[\hat \theta_m] - \theta) )^2] \\

&= \mathbb E[(\hat \theta_m - \mathbb E[{\theta}])^2]+ 

2(\hat \theta_m- \mathbb E[\hat \theta_m]) \cdot (\mathbb E[\hat \theta_m] -\theta) + 

E[(\mathbb E[\hat \theta_m] - \theta)^2] \tag{1}

\end{align}

ここで、

\begin{align}
2(\hat \theta_m- \mathbb E[\hat \theta_m]) \cdot (\mathbb E[\hat \theta_m] -\theta) 

&= 2(\hat \theta_m E[\hat \theta_m] - \theta \hat \theta_m - E[\hat \theta_m ^ 2] + E[\hat \theta_m]\theta) \\

&= 2(E[\hat \theta_m ^2 - \theta \hat \theta_m]) + 
E[-\hat \theta_m ^ 2] + E[\hat \theta_m \theta]) \\

&= 2(E[\hat \theta_m ^2 - \theta \hat \theta_m]) + 
E[-\hat \theta_m ^ 2 +  \theta\hat \theta_m])

&= 0


\end{align}

よって

\begin{align}
(1) &= \mathbb E[(\hat \theta_m - \mathbb E[{\theta}])^2]+ 

E[(\mathbb E[\hat \theta_m] - \theta)^2] \\

&= bias(\hat \theta_m)^2 + var(\hat \theta_m) \tag{5.54}
\end{align}

5.4.5 一致性

サンプル数について極限を取ると推定量は真のパラメータに近づく

almost sure convergence(概収束)は推定量と真のパラメータが一致する確率が1という意味

絶対に一致すると言う意味ではなく、成立していない事象があるかもしれないが、そのような現象の確率は限りなく0に追いやれると言う意味

5.5 最優推定

arg max: P_modelが最大となるような引数(入力)
logが単調増加で積が和として表せることができることに注意すれば(5.56)〜(5.60)はいける

5.5.1

例:最尤法としての線形回帰

\begin{align}
\sum_{i=1}^m logp(y_i| \vec x_i; \vec \theta) 

&= \sum_{i=1}^m log (\sqrt{\frac{1}{2\pi \sigma^2}} e^{(-\frac{(\hat y_i - y_i)^2}{2 \sigma^2})}) \tag{5.64}\\

&= \sum_{i=1}^m\frac{m}{2}log(\frac{1}{2\pi \sigma^2}) \cdot (-\frac{(\hat y_i - y_i)^2}{2\sigma^2}) 
\\

&= \sum_{i=1}^m -\frac{m}{2}log(2\pi \sigma^2) \cdot (-\frac{(\hat y_i - y_i)^2}{2\sigma^2}) \\

&= -mlog(\sigma) -\frac{m}{2} log(2\pi)\cdot (- \sum_{i=1}^m\frac{(\hat y_i - y_i)^2}{2\sigma^2}) \\

&= -mlog(\sigma) -\frac{m}{2} log(2\pi)\cdot (- \sum_{i=1}^m\frac{\|\hat y_i - y_i\|^2}{2\sigma^2}) 


\end{align}
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1