sn42
R&D Job in Japan.
Topics
My Twitter
未知のデータを予測するためには汎化性能が重要となります。訓練用のデータから評価用に分割して見ないようにすることで、未知のデータへの当てはまりを評価することが出来ます。 一般的には、評価用のデータを繰り返し変更して汎化性能を評価します。これを「交差検証」といいます。
手法 | 分け方 | 評価回数 |
---|---|---|
K-fold CV | 全てのサンプルをK個に分割し、それぞれ1回ずつ評価用とする。 | K 回 |
Leave-One-Out CV | 全てのサンプルを一回ずつ評価用とする。 | サンプル数 回 |
Shuffle Split | 全てのサンプルから、ある割合でランダムに評価用とする。 | 任意 回 |
バイアス・バリアンスのトレードオフ
評価用のサンプル数が小さい場合、モデルのバリアンス(複雑さ)が低下します。逆に大きい場合、訓練用のサンプルが小さくなり、モデルのバイアス(適合度)が低下します。つまり、評価用のサンプル数が小さいと overfitting しやすく、大きいと underfitting しやすくなります。
手法 | バイアス(モデルの適合度) | バリアンス(モデルの複雑さ) |
---|---|---|
K-fold CV | 大 | 小 |
Leave-One-Out CV | 小 | 大 |
Shuffle Split | 中 | 中 |
階層的データ構造の維持
クラスや日付などのデータの性質を均一にして分割する必要があります。NeuroImagingでは、Session, Subject を単位として分割するとよいです。
ハイパーパラメータ調節のためにネストしたループを作り、内ループでハイパーパラメータの最適化、外ループで精度評価を行う方法。
精度(Accuracy) は、分類問題において正答数の割合として得られます。Gaël Varoquaux et al., 2017 では、fMRIを中心とした NeuroImaging 実験の2クラス分類における精度誤差を調査しています。以下の図1がその結果です。Nested Cross Validation を行い、外ループの精度と内ループの精度の差を比較しています。
Leave-One-Sumple-Out CV (最上段)では、精度の差が大きくなっていることがわかります。K-fold CV(中段)や、Shuffle Split(最下段)では、その差が小さくなっていて、ばらつきも抑えられています。以上の経験的な結果から、NeuroImagingでは、Session, Subject を単位として Shuffle Split を繰り返し行うことが精度誤差を減らすことに繋がると思われます。
これは、サンプル同士が独立ではないからです。脳実験データは時系列データであるため、時系列的な相関がサンプル間に生じやすいです。さらに、被験者に特有な脳活動のために、被験者内のサンプル同士の相関が高くなりやすいです。
サンプル数を多くする・モデルの複雑さを低くすることで、バイアスを減らすことが重要となります。 Gaël Varoquaux, 2018 では、蓄積された大規模な公開データの利用を推奨しています。
Permutation Test のようなノンパラメトリックな手法で基準値を算出し、精度誤差を評価することができます。