小さな検証セットを使用できますか?


15

データをテストセットと検証セットに分割する背後にある理由を理解しています。また、スプリットのサイズは状況によって異なりますが、一般的には50/50から90/10に変わることも理解しています。

RNNを作成して、スペルを修正し、約500万文のデータセットから開始します。50万文を削り取り、残りの約450万文で訓練します。トレーニングが完了したら、検証セットを取得して精度を計算します。

興味深いことに、検証セットのわずか4%で69.4%の精度が得られ、このパーセンテージはどちらの方向でも0.1%以上変化しません。最終的には、数値が69.5%のままであるため、検証を短くしました。

では、おそらく1%で済ませる可能性があるのに、なぜ検証のために10%を切り捨てるのでしょうか?それは重要ですか?


4
一般的な答えは、10,000を超えるサンプルサイズが人口の非常に代表的なサブセットになると言うことです。サンプルが正しく描画されていた場合、サンプルを増やすとコストがかかる場合がありますが、表示される推定値はほぼ同じです。信頼区間の概念を探します。
アレクセイバーナコフ

回答:


20

検証セットを大きくすると、サンプル外のパフォーマンスをより正確に推定できます。しかし、お気づきのように、ある時点でその見積もりは必要なだけ正確になり、そのポイントに到達するために必要な検証サンプルサイズについて大まかな予測を行うことができます。

シンプル正しい/間違って分類精度のために、あなたに推定の標準誤差を計算することができ(ベルヌイ変数の標準偏差)、pは正しい分類の確率、nは検証セットのサイズです。もちろん、pはわかりませんが、その範囲についてはある程度知っているかもしれません。たとえば、60〜80%の精度を期待しており、推定値の標準誤差が0.1%未満であるとします 。√p(1p)/npnpn(検証セットのサイズ)は どれくらいの大きさですか?p=0.6の場合: n> 0.6 0.6 2

p(1p)/n<0.001
np=0.6 については、P=0.8、我々が得る: N>0.8-0.82
n>0.60.620.0012=240,000
p=0.8 これを教えてくれるので、あなたは、検証のために、あなたの500万データサンプルの5%未満を使用して逃げることができました。より高いパフォーマンスが期待される場合、または特にサンプル外のパフォーマンス推定値の標準誤差が低いことに満足している場合(たとえば、p=0.7でse <1%の場合、必要な検証サンプルは2100だけです) 、またはデータの20分の1未満)。
n>0.80.820.0012=160,000
p=0.7

これらの計算は、Timが答えで指摘した点も示しています。推定の精度は、トレーニングセットに対するサイズではなく、検証セットの絶対サイズ(つまり)に依存するということです。n

(また、ここで代表的なサンプリングを想定していることを付け加えることができます。データが非常に異なる場合は、検証データにトレインおよびテストデータと同じ条件などがすべて含まれていることを確認するために、より大きな検証セットを使用する必要があるかもしれません。 )


14
p(1p)p=1/2p(1p)=1/4p(1p)/n1/4n
イルマリカロネン

11

Andrew NgによるCoursera.orgのディープラーニングコースで、この問題に関する素晴らしい議論が提供されています。彼が指摘しているように、8:2や9:1のような標準の分割は、データが小さいから中程度の大きさの場合に有効ですが、現在の多くの機械学習の問題は大量のデータを使用します(例:数百万の観測)このようなシナリオでは、2%、1%、またはそれ以下のデータをテストセットとして残し、トレーニングセットの残りのすべてのデータを取得できます(実際、開発セットも使用することを主張します)。彼が主張するように、アルゴリズムにフィードするデータが多いほど、そのパフォーマンスは向上します。これは特にディープラーニングに当てはまります*(彼は、これが非深層学習機械学習アルゴリズムの場合であってはならないことにも注意します)。

Alex Burnのコメントで既に気付いたように、それは実際にはテストセットのサイズではなく、問題の代表性に関するものです。通常、データのサイズが大きくなると、より代表的なものになりますが、そうである必要はありません。これは常にトレードオフであり、問​​題固有の考慮事項を作成する必要があります。テストセットがXケースよりも小さく、またはデータのY%よりも小さくてはならないというルールはありません。

*- 免責事項: Andrew Ngの議論をここで繰り返しますが、自分自身をディープラーニングのスペシャリストとは考えていません。


2
「実際にはテストセットのサイズではなく、問題の代表性についてです。」-おそらく絵のように言えば、トレーニングセットがほぼすべて猫で構成されている場合、犬と猫を扱うものに大きなトレーニングセットを使用しても意味がありません。
JMは、統計学者ではありません

具体的には、これは週1で「電車/開発/テスト・セット」講義していたの。「ディープ・ニューラルネットワークの改善ハイパチューニング、正則と最適化」(。全体の深い学習専門のPT 2である)のコース
icc97

2
講義からの完全な引用は次のとおりです。「この例では、100万の例があり、開発に10,000、テストに10,000だけが必要な場合、比率はこの10,000が100万の1%であるため、 98%のトレイン、1%の開発、1%のテストがあります。100万を超える例がある場合、99.5%のトレインと0.25%の開発、0.25%のテストになるアプリケーションも見ました。または、開発者0.4%、テスト0.1%かもしれません。」
icc97

5

Asymptotic Statistical Theory of Overtraining and Cross-Validation甘利俊一らの論文 [1]彼らは検証セットとして除外するサンプルの最適量を研究し(早期停止の目的で)、最適な分割はと結論付けます。1/2N、 どこ N使用可能なサンプルの数です。あなたの場合N=5106 最適な分割は 0.00032=0.032。式によれば、1580個のサンプルが最適です。

[1] https://www.ncbi.nlm.nih.gov/pubmed/18255701

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.