線形回帰またはロジスティック回帰で、トレーニング セットに完全に適合する仮説関数が見つかった場合、それは良いことです。その場合、与えられた情報の 100% を使用して新しい情報を予測したことになるからです。
オーバーフィッティングと呼ばれ、悪いことだと言われていますが。
仮説関数を単純にすることで、実際にはノイズを減らす代わりに増やすことができます。
なぜそうなのですか?
6 に答える
実際にはトレーニング セットから何も「学習」していないため、データに適合しただけです。
想像してみてください、あなたは一次元回帰を持っています
x_1 -> y_1
...
x_n -> y_1
このように定義された関数
y_n, if x = x_n
f(x)=
0, otherwise
完璧にフィットしますが、実際には役に立ちません。
希望、これは少し役に立ちました:)
オーバーフィッティングは、トレーニング セットの例を分類規則に適合させるために「一生懸命」しようとすると発生します。
主な理由は次の 2 つです。
- データにノイズが含まれている可能性があります。例の 100% を正しく分類しようとすると、ノイズがカウントされ、このノイズを無視すると悪いルールが得られます。通常ははるかに優れています。
- 分類されたトレーニング セットは、実際のデータのサンプルにすぎないことに注意してください。通常、このソリューションは、誤って分類されたいくつかのサンプルを許容した場合よりも複雑になります。Occam's Razorによると、より単純なソリューションを優先する必要があるため、サンプルの一部を無視する方が良いでしょう。
例:
オッカムのカミソリによると、誤分類されたサンプルを許容し、それがノイズまたは取るに足らないものであると想定し、このデータ セットで単純なソリューション (緑色の線) を採用する必要があります。
回帰がデータの偏差のすべての原因を説明していると仮定すると、回帰はデータに完全に適合すると主張するかもしれません。ただし、システム内のすべての (つまりすべての) 影響を知っている場合は、おそらく回帰は必要ありません。新しい情報を完全に予測する分析ソリューションを持っている可能性があります。
実際には、あなたが持っている情報は、この完全なレベルに達していません。ノイズ (測定誤差、部分的な可観測性など) は、データに偏差を引き起こします。それに応じて、回帰 (またはその他のフィッティング メカニズム) は、ノイズの影響を最小限に抑えながら、データの一般的な傾向を探す必要があります。
実際、このステートメントは書かれているとおりには正確ではありません。仮説関数が線形である場合、データが 100% 一致してもまったく問題ありません。すべての連続非線形関数は、局所的な動作に関する重要な情報を提供する線形関数によって局所的に近似できます。
データが 100% 一致する場合、100 ポイントのデータを 2 次曲線に一致させることも問題ありません。データは一貫して 2 次動作を示すため、データが過剰適合していないことを確信できます。
ただし、十分に高い次数の多項式関数を使用することで、常に 100% の適合を得ることができます。ただし、他の人が指摘したノイズがなくても、その仮説の理論的または実験的な確認がなければ、データが高度な多項式の動作をしていると想定すべきではありません。多項式の動作が示される 2 つの良い指標は次のとおりです。
- 方向限界の 1 つでデータが x^n として成長すると予想する理論的な理由があります。
- より多くのデータが収集されるにつれて、固定次数の多項式適合をサポートしているデータがあります。
ただし、指数関係と逆数関係が十分に高い次数の多項式に適合するデータを持っている場合でも、上記の 2 つの条件のいずれにも従わない傾向があることに注意してください。
ポイントは、データの適合が予測に役立つ必要があるということです。線形フィットが局所的に情報を提供することは常に知っていますが、その情報はフィットするポイントが多いほど有用になります。2 つの点とノイズしかない場合でも、線形適合は、これまでに収集されたデータを理論的に最もよく表し、データの最初の期待値を確立します。ただし、それを超えて、3 点の 2 次近似または 4 点の 3 次近似を使用しても、より多くの情報が有効に得られるわけではありません。これは、1 点を追加して局所的および漸近的な動作情報を想定しているためです。仮説関数の正当化が必要です。その正当化は、より多くの点または理論から来る可能性があります。
(時々出てくる 3 つ目の理由は
- エラーとノイズが特定の範囲を超えて寄与しないと信じる理論的および実験的な理由があり、多項式の仮説を立てて局所微分とデータの一致に必要な動作を調べることができます。
これは通常、データを理解して理論モデルを構築する際に使用されますが、理論の適切な出発点はありません。可能な限り最小の多項式の次数を使用するように努力し、係数のパターンをそれらが示す可能性のあるもの (逆数、指数、ガウスなど) で置き換えることを検討する必要があります。)
このように想像してみてください。n
サンプル/トレーニングセットを表すためにさまざまな値を選択する関数があります。
y(n) = x(n), n is element of [0, 1]
ただし、堅牢なモデルを構築したいので、トレーニング セットに少しノイズを追加する必要があるため、実際にはデータを生成するときに少しノイズを追加します。
data(n) = y(n) + noise(n) = x(n) + u(n)
ここu(n)
で、平均 0 と標準偏差 1 で一様ランダム ノイズをマークしましたU(0,1)
。簡単に言えば、値 を取る可能性が最も0
高く、 から離れた値を取る可能性が低いノイズ信号0
です。
そして、たとえば、10 ポイントを引いてトレーニング セットにします。ノイズがなければ一列に並んでy = x
いる。ノイズがあったため、それらを表現できる最低次数の多項式関数は、おそらく 10 次のような関数ですy = a_10 * x^10 + a_9 * x^9 + ... + a_1 * x + a_0
。
考えてみれば、トレーニング セットからの情報の推定を使用するだけで、おそらく 10 次多項式関数よりも単純な関数が得られ、実際の関数に近かったでしょう。
実際の関数は[0, 1]
間隔外の値を持つことができますが、何らかの理由でトレーニング セットのサンプルはこの間隔からしか収集できないことをさらに考慮してください。さて、単純な推定は、トレーニング セットの間隔の外ではおそらくかなりうまく機能するでしょうが、トレーニング セットを完全に適合させると、あちこちに多くの浮き沈みがあり、オーバーフィットした関数が得られます :)