バイアスとバリアンス

監修していたMITのテキストの翻訳を直していて気づいたのだが,バイアスとバリアンスの訳と解釈が,混乱を招いていると思われる.

ほとんどの教科書でバイアスは「的からずれていること」,バリアンス(分散と訳される)は「的の中心からのばらつきが大きいこと」と説明されている.さらに,これらはトレードオフ関係にあるので,片方を良くしようとすると,もう片方が悪くなると説明している.この説明をもとに機械学習の精度を改善しようとすると,混乱を招く.

モダンな機械学習(というか深層学習)では,訓練集合,開発集合,テスト集合の3つにデータを分けて実験を行う.訓練集合でパラメータ(重み)をチューニングし,開発集合で実際のデータで巧く動くようにハイパーパラメータをチューニングし,テスト集合で評価する.

まずは訓練集合での正解率を上げることを目標に実験をするのだが,訓練データでの性能がいまいちな状態を「高バイアス」とよぶ.これを改善するには,ネットワークの規模を大きくして学習容量を大きくしたり,訓練時間を長くしたりすることが考えられる.

訓練データでそこそこの成績をあげられたら,今度は開発集合に対して性能を評価する.これがいまいちな状態が「高バリアンス」であり,いわゆる過剰適合(過学習とよばれることが多いが,私は嫌いだ)になっていることを表す.これを改善するには,データの量を増やしたり,正則化、正規化を行ったりすることが考えられる.

正則化、正規化には,色々な方法があるが,深層学習で手軽なのは、重み減衰、ドロップアウトの追加、バッチ正規化をすることである.

この記事が気に入ったらサポートをしてみませんか?