アラフォーからの機械学習

アラフォーです。機械学習や統計学の解説記事を書いていきます

バイアスとバリアンスを理解する

よくバイアスがあると言うことがありますが、これが一体何を意味しているのかを説明するというのが今回の意図です。データをもとに母数を言い当てることを推定といいます。ちなみに母数とは、正規分布における平均値や分散などそのモデルが持っている特性値です。仮にデータが正規分布をもとに生成されるデータであるとすれば、平均値と分散がわかればそのデータ生成プロセスを解明できることになります。ただ、一般には大本の(母集団)の平均値や分散がわかるということはあまりなく、得られたデータからそれらを言い当てる(推定する)ということになります。当然、完璧に言い当てられるわけではありませんから「誤差」を評価する必要が出てくるわけです。ここで問題になるのがどういった推定量(推定した値)が良いのでしょうか。なるべく誤差が小さければよいというのは当たり前ですが、ちょっとあやふやそうです。というのも、推定量も確率変数なのでなんらかの分布になるのです。一方で母数は定数です。推定量は確率変数なので、期待値や分散が計算できます。よって、これらの統計量が推定量の良さを計るヒントになりそうです。

母数が定数で、推定量が確率変数であるというところを直感的にわかるよう示した図です。この場合、どちらの推定量の分布が良いと言えるでしょうか。はい右側です。推定量の分布の中心が母数に近いからです。分布の中心は期待値を使って数値的に表現できます。母数を\theta、推定量\hat{\theta}としたとき、母数と推定量の期待値の差が小さければ良いので、

\displaystyle{
\begin{align}
    \mathrm{Bias}(\hat{\theta}) = \mathrm{E}[\hat{\theta}(\boldsymbol{X})]- \theta
\end{align}
}

と書き、これをバイアスと言います。なので、バイアスとは真の値との平均的なズレのことです。このバイアスが0であるような場合、つまり

\displaystyle{
    \begin{align}
        \mathrm{E}[\hat{\theta}(\boldsymbol{X})] = \theta
    \end{align}
}

のとき、推定量の分布の中心と母数が一致していますので、いわゆる偏りがありません。偏りが無いので不偏性を持つと言います。また、不偏性を持つ推定量を不偏推定量と言います。不偏であるとは推定量が平均的に母数の周りに分布していることを意味します。不偏性を持てばすべてハッピーかと言えばそうでもありません。推定量の散らばりが大きすぎればダメです。ということで、散らばりを評価するため推定量の分散も必要になります。これは分散の定義どおりに、

\displaystyle{
    \begin{align}
        \mathrm{Var}(\hat{\theta}) = \mathrm{E}[\{\hat{\theta}(\boldsymbol{X}) - \mathrm{E}[\hat{\theta}(\boldsymbol{X})]\}^2]
    \end{align}
}

になります。これを分散、または英語のバリアンスと言います。これら2つを推定量の良さを計る指標をすれば良いことになります。が、できれば1つの式にまとめたいところではあります。ちょっとだけ見方を変えて、推定量と母数の差を評価することを考えてみます(念のためですが、バイアスは推定量の期待値と母数の差を評価していますので違います。)。これはいわゆる誤差の評価になりますので、評価方法はいろいろとあると思いますが、ここでは平均2乗誤差(MSE)を用います。MSEは真の値と予測値の差の2乗の平均値です。推定量は確率変数なので期待値という表現を使うと、

\displaystyle{
    \begin{align}
        \mathrm{MSE}(\theta, \hat{\theta}) = \mathrm{E}[\{\hat{\theta}(\boldsymbol{X}) - \theta\}^2]
    \end{align}
}

になります。この式を変形してみます。

\displaystyle{
    \begin{align}
        \mathrm{MSE}(\theta, \hat{\theta}) &= \mathrm{E}[\{\hat{\theta}(\boldsymbol{X}) - \theta\}^2] \nonumber \\
        &= \mathrm{E}[ \hat{\theta}^2(\boldsymbol{X}) - 2\theta\hat{\theta}^2(\boldsymbol{X}) + \theta^2] \nonumber \\
        &= \mathrm{E}[\hat{\theta}^2(\boldsymbol{X})] - 2\theta\mathrm{E}[\hat{\theta}(\boldsymbol{X})] + \theta^2 \nonumber \\
        &= \mathrm{E}[\hat{\theta}^2(\boldsymbol{X})] - 2\theta\mathrm{E}[\hat{\theta}(\boldsymbol{X})] + \{\mathrm{E}[\hat{\theta}(\boldsymbol{X})] - \theta\}^2  \nonumber \\
        & \space \space \space + 2\theta\mathrm{E}[\hat{\theta}(\boldsymbol{X})] - \{\mathrm{E}[\hat{\theta}(\boldsymbol{X})]\}^2 \nonumber \\
        &= \{\mathrm{E}[\hat{\theta}(\boldsymbol{X})] - \theta\}^2 + \mathrm{E}[\hat{\theta}^2(\boldsymbol{X})] - \{\mathrm{E}[\hat{\theta}(\boldsymbol{X})]\}^2 \\
    \end{align}
}

2行目から3行目については、母数は定数なので期待値の外に出せます。ここで(3)式は分散の公式を使うと以下のように変形できますので、

\displaystyle{
    \begin{align}
        \mathrm{Var}(\hat{\theta}) = \mathrm{E}[\hat{\theta}^2(\boldsymbol{X})] - \{\mathrm{E}[\hat{\theta}(\boldsymbol{X})]\}^2
    \end{align}
}

よって、(5)式は(1)式と(6)式を用いると、

\displaystyle{
    \begin{align}
        \mathrm{MSE}(\theta, \hat{\theta}) = \{ \mathrm{Bias}(\hat{\theta}(\boldsymbol{X}))\}^2 + \mathrm{Var}(\hat{\theta}(\boldsymbol{X}))
    \end{align}
}

となります。MSEはバイアスとバリアンスの足し算の式で書けることがわかります。なお、不偏推定量であればバイアスが0になりますので、MSEは分散と一致します。

参考