機械学習について色々と勉強していくとモデルの当てはまりの良さの指標としてバイアスバリアンスがたびたび出現する。

そこで私は毎度のことながら「バイアスとバリアンスてどっちがどっちだっけ?」というような考えが頭の中で巡り、毎度毎度調べる羽目になっている。

そこでしっかりとバイアスとバリアンスについて理解するために今回まとめる。



バイアスとバリアンスとは何か?

まず初めに機械学習モデルの当てはまり指標としてのバイアスとバリアンスとは何かについて説明する。

バイアス

これは一言で言うと「真の値(学習データ)と平均予測値のずれの大きさ」である。

つまりバイアスが大きいとはモデルの予測がかなり外れていることを表し、バイアスが小さいということはモデルがかなりの精度で予測できていることを表す。

 

バイアスは「偏り」という意味であるが、機械学習の概念的に覚える時は「真の値とモデルの予測値の偏りがどのくらいあるか」という風に覚えると定着するかね。

バリアンス

これも一言で言うと「予測値のばらつきの大きさ」である。

つまりバリアンスが大きいと学習データごとに予測値が大きく変化することを表し、バリアンスが小さいと学習データにかかわらず予測値がほぼ一定になるということを表します。

 

バリアンスは「分散」という意味なので、覚え方としては「学習データに応じた予測値の分散の大きさ」でしょうか。



数式で理解する

概念が理解できたところで、数式でもしっかりと理解していきましょう。

ここで回帰を例にし、真のモデル(誰も観測ができないモデル)を\(y=f(x)+\sigma\), 学習モデル(近似曲線)を\(\widehat{f}(x)\)とする。

この時にモデルの当てはまりの良さの指標として平均2乗誤差を考えます。

その式は以下のようになります。

$$
E[(f(x)-\widehat{f}(x))^{2}] = {(E[\widehat{f}(x)]-f(x))^{2}+ E[(\widehat{f}(x)-E [\widehat{f}(x)])^{2}]+ \sigma ^{2}}
$$

導出に関しては割愛させていただく。

このとき、第1項はバイアスです。

先ほど紹介したように学習モデルの予測平均値と真の値の差を表しています。

 

第2項目はバリアンスです。

この式は学習モデルの分散を表しており、先ほどの概念と一致します。

 

第3項は真のモデルに内在する誤差でありコントロールできないどうしようもできないものです。

 

視覚的に理解する

ここで直観的に理解できるように視覚的にバイアスとバリアンスを見てみたい。

射撃を例に、中心(赤丸)を真の値とし、打ち抜いた部分(黒丸)を予測値として考えてみよう。

バイアスとバリアンスのイメージ図

バイアスとバリアンスが両方高いと予測値は真の値との誤差がかなりあり、予測値もバラバラになり不安定なモデルと言える。

逆に両方低い場合であると、予測値は真の値の周りに固まっており、予測がかなり安定していると言える。

またバリアンスが高いものは過学習しているとみなすことができるのですが、その時には正則化などをして過学習を抑える必要があります。
正則化についてはこちら→正則化について忘れないためのメモ

 



まとめ

今回はバイアスとバリアンスに関してまとめてきたが結局、

バイアスは「真の値と予測値の平均の誤差

バリアンスは「予測値のばらつき」である。

 

Written by Taiga

スポンサーリンク