検証の精度は高いが、研究のテストの精度が低い場合はどうなりますか?


15

機械学習の研究における検証について具体的な質問があります。

私たちが知っているように、機械学習体制は、トレーニングデータでモデルをトレーニングし、検証セットで候補モデルから選択し、テストセットで精度を報告するように研究者に求めます。非常に厳密な研究では、テストセットは1回しか使用できません。しかし、論文を発表する(または提出する)前に、テストの精度が最新の結果よりも良くなるまでパフォーマンスを改善する必要があるため、研究シナリオになることはありません。

ここで問題が発生します。50%が最も最先端の結果であり、私のモデルは一般に50--51の精度を達成できるとしましょう。これは平均して優れています。

ただし、私の最高の検証精度(52%)では、テスト精度が非常に低くなります(例:49%)。次に、検証accをさらに改善できない場合、全体的なパフォーマンスとして49%を報告する必要がありますが、これは望みではありません。これは本当に私が問題を研究することを妨げますが、私の仲間にとっては問題ではありません。52%のaccが見られないからです。

では、人々は通常どのように研究を行っていますか?

同じ状況が発生する可能性があるため、ps k-fold検証は役に立ちません。

回答:


9

定義により、トレーニングの精度(または使用しているメトリック)がテストよりも高い場合、オーバーフィットモデルがあります。本質的に、あなたのモデルは、より大きなデータ母集団には適用できないため、パフォーマンスが低下するトレーニングデータでパフォーマンスを向上させるのに役立つ詳細を学習しました。

k-fold検証が役に立たないと言う理由がわかりません。その目的は、モデルの過剰適合を回避することです。おそらくあなたは十分なデータを持っていませんか?このような声明は重要です。特に、このような相互検証方法が強く推奨される場合に研究を擁護する場合は重要です。

テストセットを1回だけ使用することはできないと言います(ここでもサンプルサイズが小さいと仮定します)。私の経験では、最も一般的なパスは、モデルのk倍交差検証です。サンプルサイズが100の場合、10倍のCVの例を取り上げ、計算を簡単にするために分類問題がバイナリであると仮定します。したがって、データを10個の異なるフォールドに分割しました。次に、モデルを9/10倍に適合させ、1/10を除外しました。この最初の実行では、結果の混同マトリックスは次のとおりです。

    0  1
0   4  1
1   2  3

その後、次の1/10のフォールドを残してこの分析を繰り返し、残りの9/10でトレーニングします。そして、次の混乱マトリックスを入手してください。完了すると、10個の混同行列ができました。次に、これらの行列を合計し(したがって、100個すべてのサンプルが予測されました)、統計(精度、PPV、F1-スコア、カッパなど)を報告します。精度が望んでいるところにない場合、他の多くの可能性があります。

  1. モデルを改善する必要がある(パラメーターを変更する)
  2. 別の機械学習アルゴリズムを試す必要がある場合があります(すべてのアルゴリズムが同じように作成されるわけではありません)
  3. より多くのデータが必要です(微妙な関係を見つけるのは困難です)
  4. データの変換を試みる必要がある場合があります(使用するアルゴリズムによって異なります)
  5. 従属変数と独立変数の間に関係がない場合があります

問題の事実は、トレーニングよりも低いテストメトリック(精度など)は、新しい予測モデルを作成しようとするときに、モデルが必要以上に適合していることを示しています。


返信いただきありがとうございます。私が懸念しているのは、機械学習技術を適用するのではなく、出版物の機械学習研究です。多くの場合、ベンチマークは、トレーニング、検証、およびテストセットの標準的な分割を提供します。さらに、k-foldは分散のみを削減します。私はまだ(平均的な)検証acc。という状況に出くわすかもしれません。高いですが、テストacc。低い。
Mou

モデルを少し再設計すると、モデル(および仮説クラス)が変更されるため、異常値を無視できるのは面白いことですが、仮説からモデルを選択しているため、これはハイパーパラメーターの調整には機能しませんクラス。しかし、実際、私たち研究者は、不明確な仮説クラスを持っています---私たちは好きなことをやっています。それは研究中に本当に気になります。しばしば、精度の差は通常非常に小さく、たとえば0.1%です。
Mou

@Mou、私はあなたの第一の質問が何であるかまだ少し不確かだと思います。複数の質問があるようです。外れ値の処理は別のトピックです。パラメーターを最適化しようとしているか、最終モデルを評価しようとしていますか?これは異なるフィールドに固有の場合がありますが、0.1%の変更はほとんど意味がありません。私の答えにリストされているオプションを追求するか、現在のモデルとデータからしか多くを取得できないことを受け入れることができます。モデルはまだオーバーフィットのように見えます(わずかではありますが)。
cdeterman

仰るとおりです。私のモデルがあまり良くないことを受け入れなければなりません。しかし、数日前、高いcv acc。+低テストacc。私の画面にジャンプしなかったので、私のモデルは世界で最高のものでした。今、私は何も変更していませんが、そうではありません。さらに、cv acc。で52%を超えることは望みません。これは私の研究にとどまりますが、同僚はそれについて心配する必要はありません。
Mou

数値を変更するには何かを変更する必要があります。またはseed、再現性を考慮して設定していないランダム化があります。cvプロシージャにはランダム化があり、繰り返されるとわずかに異なる結果が返される可能性があります(ただし、これは推測に過ぎません)。パフォーマンスを向上させるために、他のモデルやデータ変換を検討することをお勧めします。
cdeterman
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.