モデルの評価

バイアス-バリアンス・トレードオフ

パターン認識と機械学習(PRML)の表記に則る。

目標:実数値の入力変数$x \in \mathbb{R}^D$を観測し、それを用いて実数値の目標変数$t \in \mathbb{R}$を予測すること。

訓練集合を利用して、新たな入力変数の値$\hat{x}$に対して目標変数$\hat{t}$の値を予測すること。

  • 既知の現実

訓練データ集合$\mathcal{D}$として、$N$個の${\bf x}$の観測値${\bf X}=({\bf x}_1,\cdots,{\bf x}_N)^T$、$t$の観測値${\bf t}=(t_1,\cdots,t_N)^T$が与えられたとする。

  • 未知の現実

目標変数$t$が決定論的な関数$y({\bf x})$とガウスノイズ$\epsilon$の和で与えられると考える。 $$t=y({\bf x})+\epsilon$$ ただし、$\epsilon$は期待値$0$、精度(分散の逆数)が$\beta$の正規分布に従う確率変数である。確率変数$t$の確率密度関数は $$p(t|{\bf x},\beta)=\mathcal{N}(t|y({\bf x}),\beta^{-1})$$ と表すことができる。

  • 未知のモデル

損失関数$L(t,y({\bf x}))$を二乗誤差関数$L(t,y({\bf x}))=\{ y({\bf x})-t \}^2$とする。期待損失は \begin{eqnarray} \mathbb{E}[L(t,y({\bf x}))]&=&\int_{\mathbb{R}} \int_{\mathbb{R}^D} L(t,y({\bf x})) p({\bf x},t)d{\bf x}dt \\ &=&\int_{\mathbb{R}} \int_{\mathbb{R}^D} \{ y({\bf x})-t \}^2 p({\bf x},t)d{\bf x}dt \end{eqnarray} と書ける。目標は期待損失$\mathbb{E}[L(t,y({\bf x}))]$を最小にする$y({\bf x})$を選ぶことである。変分 \begin{eqnarray} \frac{\delta \mathbb{E}[L(t,y({\bf x}))]}{\delta y({\bf x})}&=&2\int_{\mathbb{R}}\{ y({\bf x})-t\}p({\bf x},t)dt \\ &=&2y({\bf x}) \int_{\mathbb{R}} p({\bf x},t)dt-2 \int_{\mathbb{R}}t p({\bf x},t)dt \\ &=&2y({\bf x}) p({\bf x})-2 \int_{\mathbb{R}}t p({\bf x},t)dt \\ &=&0 \end{eqnarray} を$y({\bf x})$について解く。ただし、2行目から3行目の式変形は確率の加法・乗法定理を用いている。 $$ y({\bf x})=\frac{\int_{\mathbb{R}}t p({\bf x},t)dt}{p({\bf x})}=\int_{\mathbb{R}}tp(t|{\bf x})dt=\mathbb{E}_t[t|{\bf x}] $$ これは${\bf x}$が与えられた下での$t$の条件付き期待値であり、回帰関数と呼ばれる。ただし、$\mathbb{E}_t[t|{\bf x}]$は確率変数$t$の分布に関する期待値を表し、${\bf x}$の関数になる。最適な予測である条件付き期待値を$h({\bf x})$と書くこととする。 $$h({\bf x})=\mathbb{E}_t[t|{\bf x}]=\int_{\mathbb{R}} t p(t|{\bf x})dt$$

  • 既知のモデル

$y({\bf x},{\bf w})$を線形モデルと考える。 $$y({\bf x},{\bf w}) = \phi ({\bf x})^T {\bf w} $$ 最尤推定では、上記の仮定では最小二乗法同様、二乗和誤差関数を最小化する${\bf w }$を求める。(回帰モデルのipynb参照) $$E_{D} ({\bf w })=\frac{1}{2}\sum_{n=1}^N \{ t_n - \phi ({\bf x_n})^T {\bf w } \}$$ このとき $${\bf w }_{ \mathcal{D}}=( \Phi^T \Phi )^{-1} \Phi^T {\bf t}$$ であり、 $$y({\bf x}; \mathcal{D}) = \phi ({\bf x})^T {\bf w}_{ \mathcal{D}}$$ となる。現実では有限個のデータ$\mathcal{D}$しか与えられないため、理想的な回帰関数$h({\bf x})$を厳密に求めることはできない。

分布$(t,{\bf x}$に従う標本数$N$で互いに独立な多数の訓練データ集合$\mathcal{D}$を考え、このデータ集合$\mathcal{D}$の取り方に関する期待値を考える。 $$\mathbb{E}_{\mathcal{D}} [y({\bf x};\mathcal{D})] = \sum_{\mathcal{D}} \phi ({\bf x})^T {\bf w}_{ \mathcal{D}} p( \mathcal{D})$$

  • バイアス-バリアンス分解 目標変数$t$が決定論的な関数$y({\bf x})$とガウスノイズ$\epsilon$の和で与えられたときの二乗和損失関数は \begin{eqnarray} \{ y({\bf x})-t\}^2 &=& \{y({\bf x}) -\mathbb{E}_t[t|{\bf x}] + \mathbb{E}_t[t|{\bf x}]-t \}^2 \\ &=& \{ y({\bf x}) -\mathbb{E}_t[t|{\bf x}] \}^2 +2 \{ y({\bf x}) -\mathbb{E}_t[t|{\bf x}] \} \{\mathbb{E}_t[t|{\bf x}]-t \}+\{\mathbb{E}_t[t|{\bf x}]-t \}^2 \end{eqnarray} と分解できる。期待二乗和損失関数は \begin{eqnarray} \mathbb{E} [L(t,y({\bf x}))] &=& \int_{\mathbb{R}} \int_{\mathbb{R}^D} \{ y({\bf x})-t \}^2 p({\bf x},t)d{\bf x}dt\\ &=& \int_{\mathbb{R}} \int_{\mathbb{R}^D} \{y({\bf x}) -\mathbb{E}_t[t|{\bf x}] + \mathbb{E}_t[t|{\bf x}]-t \}^2p({\bf x},t)d{\bf x}dt\\ &=& \int_{\mathbb{R}} \int_{\mathbb{R}^D} \{ y({\bf x}) -\mathbb{E}_t[t|{\bf x}] \}^2 p({\bf x},t)d{\bf x}dt+2\int_{\mathbb{R}} \int_{\mathbb{R}^D} \{ y({\bf x}) -\mathbb{E}_t[t|{\bf x}] \} \{\mathbb{E}_t[t|{\bf x}]-t \}p({\bf x},t)d{\bf x}dt+\int_{\mathbb{R}} \int_{\mathbb{R}^D}\{\mathbb{E}_t[t|{\bf x}]-t \}^2p({\bf x},t)d{\bf x}dt \\ &=&\int_{\mathbb{R}} \int_{\mathbb{R}^D} \{ y({\bf x}) -h({\bf x}) \}^2 p({\bf x},t)d{\bf x}dt + \int_{\mathbb{R}} \int_{\mathbb{R}^D}\{h({\bf x})-t \}^2p({\bf x},t)d{\bf x}dt \\ \end{eqnarray} と書くことができる。$\int_{\mathbb{R}} \int_{\mathbb{R}^D}\{h({\bf x})-t \}^2p({\bf x},t)d{\bf x}dt$は達成可能な最小の期待損失の値であり、ノイズと呼ばれる。 \begin{eqnarray} \{ y({\bf x};\mathcal{D})-h({\bf x}) \}^2 &=&\{ y({\bf x};\mathcal{D}) -\mathbb{E}_{\mathcal{D}}[y({\bf x};\mathcal{D})] + \mathbb{E}_{\mathcal{D}}[y({\bf x};\mathcal{D})] -h({\bf x}) \}^2 \\ &=&\{ y({\bf x};\mathcal{D}) -\mathbb{E}_{\mathcal{D}}[y({\bf x};\mathcal{D})] \}^2 +2\{ y({\bf x};\mathcal{D}) -\mathbb{E}_{\mathcal{D}}[y({\bf x};\mathcal{D})] \} \{ \mathbb{E}_{\mathcal{D}}[y({\bf x};\mathcal{D})] -h({\bf x}) \}+ \{ \mathbb{E}_{\mathcal{D}}[y({\bf x};\mathcal{D})] -h({\bf x}) \}^2 \end{eqnarray}
\begin{eqnarray} &=& \mathbb{E}_{ \mathcal{D}}[\{ y({\bf x}; \mathcal{D}) -h({\bf x}) \}^2 ] \\ &=& \mathbb{E}_{ \mathcal{D}}[ \{ y({\bf x};\mathcal{D}) -\mathbb{E}_{\mathcal{D}}[y({\bf x};\mathcal{D})] + \mathbb{E}_{\mathcal{D}}[y({\bf x};\mathcal{D})] -h({\bf x}) \}^2 ]\\ &=& \mathbb{E}_{ \mathcal{D}}[ \{ y({\bf x};\mathcal{D}) -\mathbb{E}_{\mathcal{D}}[y({\bf x};\mathcal{D})] \}^2 +2\{ y({\bf x};\mathcal{D}) -\mathbb{E}_{\mathcal{D}}[y({\bf x};\mathcal{D})] \} \{ \mathbb{E}_{\mathcal{D}}[y({\bf x};\mathcal{D})] -h({\bf x}) \}+ \{ \mathbb{E}_{\mathcal{D}}[y({\bf x};\mathcal{D})] -h({\bf x}) \}^2 ] \\ &=& \mathbb{E}_{ \mathcal{D}}[ \{ y({\bf x};\mathcal{D}) -\mathbb{E}_{\mathcal{D}}[y({\bf x};\mathcal{D})] \}^2 ] +2 \mathbb{E}_{ \mathcal{D}}[ \{ y({\bf x};\mathcal{D}) -\mathbb{E}_{\mathcal{D}}[y({\bf x};\mathcal{D})] \} \{ \mathbb{E}_{\mathcal{D}}[y({\bf x};\mathcal{D})] -h({\bf x}) \} ] + \mathbb{E}_{ \mathcal{D}}[ \{ \mathbb{E}_{\mathcal{D}}[y({\bf x};\mathcal{D})] -h({\bf x}) \}^2 ] \\ &=&\mathbb{E}_{ \mathcal{D}}[ \{ y({\bf x};\mathcal{D}) -\mathbb{E}_{\mathcal{D}}[y({\bf x};\mathcal{D})] \}^2 ]+ \{ \mathbb{E}_{\mathcal{D}}[y({\bf x};\mathcal{D})] -h({\bf x}) \}^2 \end{eqnarray}

$\mathbb{E}_{ \mathcal{D}}[ \{ y({\bf x};\mathcal{D}) -\mathbb{E}_{\mathcal{D}}[y({\bf x};\mathcal{D})] \}^2 ]$をバリアンスと呼び、$\mathbb{E}_{\mathcal{D}}[y({\bf x};\mathcal{D})] -h({\bf x})$をバイアスと呼ぶ。


In [2]:
import numpy as np
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt
%matplotlib inline

In [28]:
N = 10
x = np.linspace(0,1,N)
y = np.sin(2*np.pi*x)
sigma = 0.3
y


Out[28]:
array([  0.00000000e+00,   6.42787610e-01,   9.84807753e-01,
         8.66025404e-01,   3.42020143e-01,  -3.42020143e-01,
        -8.66025404e-01,  -9.84807753e-01,  -6.42787610e-01,
        -2.44929360e-16])

In [17]:
#np.ones(10)
xx = x
#x_order = [x]
X = x
for _ in range(8):
    xx = xx * x
    #x_order += [xx]
    X = np.c_[X,xx]
X


Out[17]:
array([[  0.00000000e+00,   0.00000000e+00,   0.00000000e+00,
          0.00000000e+00,   0.00000000e+00,   0.00000000e+00,
          0.00000000e+00,   0.00000000e+00,   0.00000000e+00],
       [  1.11111111e-01,   1.23456790e-02,   1.37174211e-03,
          1.52415790e-04,   1.69350878e-05,   1.88167642e-06,
          2.09075158e-07,   2.32305731e-08,   2.58117479e-09],
       [  2.22222222e-01,   4.93827160e-02,   1.09739369e-02,
          2.43865264e-03,   5.41922810e-04,   1.20427291e-04,
          2.67616202e-05,   5.94702672e-06,   1.32156149e-06],
       [  3.33333333e-01,   1.11111111e-01,   3.70370370e-02,
          1.23456790e-02,   4.11522634e-03,   1.37174211e-03,
          4.57247371e-04,   1.52415790e-04,   5.08052634e-05],
       [  4.44444444e-01,   1.97530864e-01,   8.77914952e-02,
          3.90184423e-02,   1.73415299e-02,   7.70734663e-03,
          3.42548739e-03,   1.52243884e-03,   6.76639485e-04],
       [  5.55555556e-01,   3.08641975e-01,   1.71467764e-01,
          9.52598689e-02,   5.29221494e-02,   2.94011941e-02,
          1.63339967e-02,   9.07444263e-03,   5.04135702e-03],
       [  6.66666667e-01,   4.44444444e-01,   2.96296296e-01,
          1.97530864e-01,   1.31687243e-01,   8.77914952e-02,
          5.85276635e-02,   3.90184423e-02,   2.60122949e-02],
       [  7.77777778e-01,   6.04938272e-01,   4.70507545e-01,
          3.65950312e-01,   2.84628021e-01,   2.21377350e-01,
          1.72182383e-01,   1.33919631e-01,   1.04159713e-01],
       [  8.88888889e-01,   7.90123457e-01,   7.02331962e-01,
          6.24295077e-01,   5.54928957e-01,   4.93270184e-01,
          4.38462386e-01,   3.89744343e-01,   3.46439416e-01],
       [  1.00000000e+00,   1.00000000e+00,   1.00000000e+00,
          1.00000000e+00,   1.00000000e+00,   1.00000000e+00,
          1.00000000e+00,   1.00000000e+00,   1.00000000e+00]])

In [29]:
D_list = []
for l in range(100):
    t = y + np.random.normal(0,sigma*2,N)
    D_list += [t]

In [12]:
from sklearn.linear_model import LinearRegression

In [30]:
D_list[0]


Out[30]:
array([ 0.86818509,  0.94435552,  0.6027958 ,  1.61559712,  0.33722691,
        0.62434848, -0.80087926, -0.87791364, -0.35864865, -0.66965231])

In [31]:
model = LinearRegression(fit_intercept=True)
model.fit(X, D_list[0])


Out[31]:
LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)

In [33]:
model.predict(X)


Out[33]:
array([ 0.86818509,  0.94435552,  0.6027958 ,  1.61559712,  0.33722691,
        0.62434848, -0.80087926, -0.87791364, -0.35864865, -0.66965231])

In [ ]:
plt.plot(x,y,color='green')
plt.scatter(x,t)

In [34]:
plt.plot(x,model.predict(X),color='green')
plt.scatter(x,t)


Out[34]:
<matplotlib.collections.PathCollection at 0x104de5550>

統計的学習の基礎の表記に則る。

目標:実数値の入力変数$X \in \mathbb{R}^p$を観測し、それを用いて実数値の目標変数$Y \in \mathbb{R}$を予測すること。

訓練集合を利用して、新たな入力変数の値$\hat{x}$に対して目標変数$\hat{t}$の値を予測すること。

  • 既知の現実

訓練データ集合$\mathcal{T}$として、$N$個の${\bf x}$の観測値${\bf X}=(x_1,\cdots,x_N)^T$、$t$の観測値${\bf y}=(y_1,\cdots,y_N)^T$が与えられたとする。

  • 未知の現実

目標変数$Y$が決定論的な関数$y({\bf x})$とガウスノイズ$\epsilon$の和で与えられると考える。 $$Y=f(X)+\epsilon$$ ただし、$\epsilon$は期待値$E(\epsilon)=0$、分散が$Var(\epsilon)=\sigma_{\epsilon}^2$の正規分布に従う確率変数である。確率変数$Y$の確率密度関数は $$p(t|{\bf x},\beta)=\mathcal{N}(t|y({\bf x}),\beta^{-1})$$ と表すことができる。

  • 未知のモデル

損失関数$L(Y,\hat{f}(X))$を2乗誤差関数$L(Y,\hat{f}(X))=\{ Y-\hat{f}(X) \}^2$とする。期待損失は \begin{eqnarray} E[L(Y,\hat{f}(X))]&=&\int_{\mathbb{R}} \int_{\mathbb{R}^D} L(t,y({\bf x})) p({\bf x},t)d{\bf x}dt \\ &=&\int_{\mathbb{R}} \int_{\mathbb{R}^D} \{ y({\bf x})-t \}^2 p({\bf x},t)d{\bf x}dt \end{eqnarray} と書ける。目標は期待損失$\mathbb{E}[L(t,y({\bf x}))]$を最小にする$y({\bf x})$を選ぶことである。変分 \begin{eqnarray} \frac{\delta \mathbb{E}[L(t,y({\bf x}))]}{\delta y({\bf x})}&=&2\int_{\mathbb{R}}\{ y({\bf x})-t\}p({\bf x},t)dt \\ &=&2y({\bf x}) \int_{\mathbb{R}} p({\bf x},t)dt-2 \int_{\mathbb{R}}t p({\bf x},t)dt \\ &=&2y({\bf x}) p({\bf x})-2 \int_{\mathbb{R}}t p({\bf x},t)dt \\ &=&0 \end{eqnarray} を$y({\bf x})$について解く。ただし、2行目から3行目の式変形は確率の加法・乗法定理を用いている。 $$ y({\bf x})=\frac{\int_{\mathbb{R}}t p({\bf x},t)dt}{p({\bf x})}=\int_{\mathbb{R}}tp(t|{\bf x})dt=\mathbb{E}_t[t|{\bf x}] $$ これは${\bf x}$が与えられた下での$t$の条件付き期待値であり、回帰関数と呼ばれる。ただし、$\mathbb{E}_t[t|{\bf x}]$は確率変数$t$の分布に関する期待値を表し、${\bf x}$の関数になる。最適な予測である条件付き期待値を$h({\bf x})$と書くこととする。 $$h({\bf x})=\mathbb{E}_t[t|{\bf x}]=\int_{\mathbb{R}} t p(t|{\bf x})dt$$

  • 既知のモデル

$f(X)$を線形モデルと考える。 $$f(X) = X^T {\bf \beta} $$ 最小2乗法では二乗和誤差関数を最小化する${\bf \beta}$を求める。(回帰モデルのipynb参照) $$RSS(\beta)=\sum_{i=1}^N \{ y_i - f(x_i) \}$$ このとき $${\bf w }_{ \mathcal{D}}=( \Phi^T \Phi )^{-1} \Phi^T {\bf t}$$ であり、 $$y({\bf x}; \mathcal{D}) = \phi ({\bf x})^T {\bf w}_{ \mathcal{D}}$$ となる。現実では有限個のデータ$\mathcal{D}$しか与えられないため、理想的な回帰関数$h({\bf x})$を厳密に求めることはできない。

分布$(t,{\bf x}$に従う標本数$N$で互いに独立な多数の訓練データ集合$\mathcal{D}$を考え、このデータ集合$\mathcal{D}$の取り方に関する期待値を考える。 $$\mathbb{E}_{\mathcal{D}} [y({\bf x};\mathcal{D})] = \sum_{\mathcal{D}} \phi ({\bf x})^T {\bf w}_{ \mathcal{D}} p( \mathcal{D})$$

  • バイアス-バリアンス分解 目標変数$t$が決定論的な関数$y({\bf x})$とガウスノイズ$\epsilon$の和で与えられたときの二乗和損失関数は \begin{eqnarray} \{ y({\bf x})-t\}^2 &=& \{y({\bf x}) -\mathbb{E}_t[t|{\bf x}] + \mathbb{E}_t[t|{\bf x}]-t \}^2 \\ &=& \{ y({\bf x}) -\mathbb{E}_t[t|{\bf x}] \}^2 +2 \{ y({\bf x}) -\mathbb{E}_t[t|{\bf x}] \} \{\mathbb{E}_t[t|{\bf x}]-t \}+\{\mathbb{E}_t[t|{\bf x}]-t \}^2 \end{eqnarray} と分解できる。期待二乗和損失関数は \begin{eqnarray} \mathbb{E} [L(t,y({\bf x}))] &=& \int_{\mathbb{R}} \int_{\mathbb{R}^D} \{ y({\bf x})-t \}^2 p({\bf x},t)d{\bf x}dt\\ &=& \int_{\mathbb{R}} \int_{\mathbb{R}^D} \{y({\bf x}) -\mathbb{E}_t[t|{\bf x}] + \mathbb{E}_t[t|{\bf x}]-t \}^2p({\bf x},t)d{\bf x}dt\\ &=& \int_{\mathbb{R}} \int_{\mathbb{R}^D} \{ y({\bf x}) -\mathbb{E}_t[t|{\bf x}] \}^2 p({\bf x},t)d{\bf x}dt+2\int_{\mathbb{R}} \int_{\mathbb{R}^D} \{ y({\bf x}) -\mathbb{E}_t[t|{\bf x}] \} \{\mathbb{E}_t[t|{\bf x}]-t \}p({\bf x},t)d{\bf x}dt+\int_{\mathbb{R}} \int_{\mathbb{R}^D}\{\mathbb{E}_t[t|{\bf x}]-t \}^2p({\bf x},t)d{\bf x}dt \\ &=&\int_{\mathbb{R}} \int_{\mathbb{R}^D} \{ y({\bf x}) -h({\bf x}) \}^2 p({\bf x},t)d{\bf x}dt + \int_{\mathbb{R}} \int_{\mathbb{R}^D}\{h({\bf x})-t \}^2p({\bf x},t)d{\bf x}dt \\ \end{eqnarray} と書くことができる。$\int_{\mathbb{R}} \int_{\mathbb{R}^D}\{h({\bf x})-t \}^2p({\bf x},t)d{\bf x}dt$は達成可能な最小の期待損失の値であり、ノイズと呼ばれる。 \begin{eqnarray} \{ y({\bf x};\mathcal{D})-h({\bf x}) \}^2 &=&\{ y({\bf x};\mathcal{D}) -\mathbb{E}_{\mathcal{D}}[y({\bf x};\mathcal{D})] + \mathbb{E}_{\mathcal{D}}[y({\bf x};\mathcal{D})] -h({\bf x}) \}^2 \\ &=&\{ y({\bf x};\mathcal{D}) -\mathbb{E}_{\mathcal{D}}[y({\bf x};\mathcal{D})] \}^2 +2\{ y({\bf x};\mathcal{D}) -\mathbb{E}_{\mathcal{D}}[y({\bf x};\mathcal{D})] \} \{ \mathbb{E}_{\mathcal{D}}[y({\bf x};\mathcal{D})] -h({\bf x}) \}+ \{ \mathbb{E}_{\mathcal{D}}[y({\bf x};\mathcal{D})] -h({\bf x}) \}^2 \end{eqnarray}
\begin{eqnarray} &=& \mathbb{E}_{ \mathcal{D}}[\{ y({\bf x}; \mathcal{D}) -h({\bf x}) \}^2 ] \\ &=& \mathbb{E}_{ \mathcal{D}}[ \{ y({\bf x};\mathcal{D}) -\mathbb{E}_{\mathcal{D}}[y({\bf x};\mathcal{D})] + \mathbb{E}_{\mathcal{D}}[y({\bf x};\mathcal{D})] -h({\bf x}) \}^2 ]\\ &=& \mathbb{E}_{ \mathcal{D}}[ \{ y({\bf x};\mathcal{D}) -\mathbb{E}_{\mathcal{D}}[y({\bf x};\mathcal{D})] \}^2 +2\{ y({\bf x};\mathcal{D}) -\mathbb{E}_{\mathcal{D}}[y({\bf x};\mathcal{D})] \} \{ \mathbb{E}_{\mathcal{D}}[y({\bf x};\mathcal{D})] -h({\bf x}) \}+ \{ \mathbb{E}_{\mathcal{D}}[y({\bf x};\mathcal{D})] -h({\bf x}) \}^2 ] \\ &=& \mathbb{E}_{ \mathcal{D}}[ \{ y({\bf x};\mathcal{D}) -\mathbb{E}_{\mathcal{D}}[y({\bf x};\mathcal{D})] \}^2 ] +2 \mathbb{E}_{ \mathcal{D}}[ \{ y({\bf x};\mathcal{D}) -\mathbb{E}_{\mathcal{D}}[y({\bf x};\mathcal{D})] \} \{ \mathbb{E}_{\mathcal{D}}[y({\bf x};\mathcal{D})] -h({\bf x}) \} ] + \mathbb{E}_{ \mathcal{D}}[ \{ \mathbb{E}_{\mathcal{D}}[y({\bf x};\mathcal{D})] -h({\bf x}) \}^2 ] \\ &=&\mathbb{E}_{ \mathcal{D}}[ \{ y({\bf x};\mathcal{D}) -\mathbb{E}_{\mathcal{D}}[y({\bf x};\mathcal{D})] \}^2 ]+ \{ \mathbb{E}_{\mathcal{D}}[y({\bf x};\mathcal{D})] -h({\bf x}) \}^2 \end{eqnarray}

$\mathbb{E}_{ \mathcal{D}}[ \{ y({\bf x};\mathcal{D}) -\mathbb{E}_{\mathcal{D}}[y({\bf x};\mathcal{D})] \}^2 ]$をバリアンスと呼び、$\mathbb{E}_{\mathcal{D}}[y({\bf x};\mathcal{D})] -h({\bf x})$をバイアスと呼ぶ。

訓練データ集合$T$とする.入力$x_0$ 平均2乗誤差(MSE:mean squared error) \begin{eqnarray} MSE(x_0) &=& E_T[(f(x_0)-\hat{y}_0)^2] \\ &=& E_T[(\hat{y}_0 - E_T[\hat{y}_0] + E_T[\hat{y}_0] - f(x_0))^2] \\ &=& E_T[(\hat{y}_0 - E_T[\hat{y}_0])^2 +2(\hat{y}_0 - E_T[\hat{y}_0])(E[\hat{y}_0] - f(x_0)) + (E_T[\hat{y}_0] - f(x_0))^2] \\ &=& E_T[(\hat{y}_0-E[\hat{y}_0])^2]+2E_T[(\hat{y}_0 - E_T[\hat{y}_0])(E[\hat{y}_0] - f(x_0))] + E_T[(E_T[\hat{y}_0] - f(x_0))^2] \\ &=& E_T[(\hat{y}_0-E[\hat{y}_0])^2]+(E_T[\hat{y}_0] - f(x_0))^2 \\ &=& Var_T[\hat{y}_0] + (Bias[\hat{y}_0])^2 \end{eqnarray} バリアンス(分散) $$ Var_T[\hat{y}_0]=E_T[(\hat{y}_0-E[\hat{y}_0])^2] $$ バイアス $$ Bias[\hat{y}_0]=E_T[\hat{y}_0] - f(x_0) $$

母集団分布 $$\tilde{t} = h({\bf x})+\tilde{\epsilon}$$ $x$のときの母集団の最良推定量 $$h({\bf x})=E[\tilde{t}|\tilde{\bf x}={\bf x}]=\int_{\mathbb{R}} tp(t|{\bf x})dt$$

標本から推定した$y$ $$y({\bf x};D)=E_D[\tilde{t}|{\bf x}]$$

\begin{eqnarray} L( \tilde{t},y({\bf x};D))&=&(y({\bf x};D)- \tilde{t})^2 \\ &=& (y({\bf x};D)-E[ \tilde{t}|{\bf x}] +E[\tilde{t}|{\bf x}] - \tilde{t})^2\\ &=& (y({\bf x};D)-E[ \tilde{t}|{\bf x}])^2 +2(y({\bf x};D)-E[ \tilde{t}|{\bf x}])(E[ \tilde{t}|{\bf x}] - \tilde{t})+(E[\tilde{t}|{\bf x}] - \tilde{t})^2 \end{eqnarray}\begin{eqnarray} E[L]&=& \int_{\mathbb{R}} \int_{\mathbb{R}^p} L(t,y({\bf x}))p({\bf x},t)d{\bf x}dt \\ &=& \int_{\mathbb{R}} \int_{\mathbb{R}^p} (y({\bf x};D)- t)^2 p({\bf x},t)d{\bf x}dt \\ &=& \int_{\mathbb{R}} \int_{\mathbb{R}^p} ((y({\bf x};D)-E[ \tilde{t}|{\bf x}])^2 +2(y({\bf x};D)-E[ \tilde{t}|{\bf x}])(E[ \tilde{t}|{\bf x}] - t)+(E[\tilde{t}|{\bf x}] - t)^2 )p({\bf x},t)d{\bf x}dt\\ &=&\int_{\mathbb{R}} \int_{\mathbb{R}^p} (y({\bf x};D)-E[ \tilde{t}|{\bf x}])^2p({\bf x},t)d{\bf x}dt+2\int_{\mathbb{R}} \int_{\mathbb{R}^p}(y({\bf x};D)-E[ \tilde{t}|{\bf x}])(E[ \tilde{t}|{\bf x}] - t)p({\bf x},t)d{\bf x}dt +\int_{\mathbb{R}} \int_{\mathbb{R}^p}(E[\tilde{t}|{\bf x}] - t)^2 p({\bf x},t)d{\bf x}dt \\ &=& \end{eqnarray}

In [ ]: