線形回帰/分類器は、適切な注意を払わずに使用すると、完全に適合しすぎる可能性があります。
ここに小さな例があります。2つのベクトルを作成してみましょう。最初のベクトルはランダムなコインフリップです。5000
set.seed(154)
N <- 5000
y <- rbinom(N, 1, .5)
2番目のベクトルは観測値で、それぞれが500のランダムクラスの1つにランダムに割り当てられます。5000500
N.classes <- 500
rand.class <- factor(sample(1:N.classes, N, replace=TRUE))
フリップy
とランダムクラスの間に関係はないはずrand.class
です。それらは完全に独立して決定されました。
しかし、ロジスティック回帰(線形分類器)を使用してランダムクラスでランダムフリップを予測しようとすると、確かに関係があると考えられます。
M <- glm(y ~ rand.class, family="binomial")
hist(coef(M), breaks=50)
これらの係数のすべての真の値はゼロです。しかし、ご覧のとおり、かなりの広がりがあります。この線形分類器は確かにオーバーフィットです。
− 1515y == 1
y == 0
15
「過剰適合」は正式には定義されていないようです。何故ですか?
過剰適合は、いくつかの複雑性パラメーターを持つモデルのクラスのコンテキスト内で最もよく理解できます。この場合、複雑さがわずかに減少すると、サンプルのパフォーマンスが期待どおりになる場合、モデルはオーバーフィットであると言えます。
モデルに依存しない方法でコンセプトを正確に定義することは非常に困難です。単一のモデルはちょうどフィットします。フィットが上または下になるには、それを比較する何かが必要です。上記の私の例では、この比較は真実でしたが、通常は真実を知らないため、モデルです!
トレーニングとテストセットのパフォーマンスの間の距離の測定によって、このような形式化が可能になりますか?
そのような概念があり、それは楽観主義と呼ばれています。それは以下によって定義されます:
ω = Eテスト− E列車
E
より複雑なモデルでは両方が減少しますが、テストセットでのパフォーマンスはトレインよりもかなり悪い場合があるため、オーバーフィットの本質には至りません。