Dalam teori pembelajaran statistik, tidak adakah masalah overfitting pada set tes?


16

Mari kita pertimbangkan masalah tentang mengklasifikasikan dataset MNIST.

Berdasarkan laman web MNIST Yann LeCun , 'Ciresan et al.' mendapat tingkat kesalahan 0,23% pada set uji MNIST menggunakan Jaringan Nevoltural Convolutional.

Mari masing menunjukkan MNIST pelatihan ditetapkan sebagai , MNIST uji ditetapkan sebagai D t e s t , hipotesis akhir mereka diperoleh dengan menggunakan D t r a i n sebagai h 1 , dan tingkat kesalahan mereka pada MNIST Uji set menggunakan h 1 sebagai E t e s t ( h 1 ) = 0,0023 .DtrainDtestDtrainh1h1Etest(h1)=0.0023

Dalam pandangan mereka, karena secara acak sampel uji set dari ruang input terlepas dari h 1 , mereka dapat bersikeras bahwa out-of-sampel kinerja kesalahan hipotesis terakhir mereka E o u t ( h 1 ) dibatasi sebagai berikut dari Hoeffding's Inequality P [ | E o u t ( h 1 ) - E t e s t ( h 1 ) | < ϵ | ]Dtesth1Eout(h1) dimanaN t e s t =| D t e s t | .

P[|Eout(h1)Etest(h1)|<ϵ|]12e2ϵ2Ntest

Ntest=|Dtest|

Dengan kata lain, setidaknya probabilitas , E o u t ( h 1 ) E t e s t ( h 1 ) + 1δ

Eout(h1)Etest(h1)+12Ntestln2δ

Mari kita pertimbangkan sudut pandang lain. Misalkan beberapa orang ingin mengklasifikasikan set tes MNIST dengan baik. Jadi dia pertama kali melihat halaman Web MNIST Yann LeCun , dan menemukan hasil berikut yang diperoleh orang lain menggunakan 8 model yang berbeda,

Hasil klasifikasi MNIST

dan memilih modelnya yang berkinerja terbaik pada set uji MNIST di antara 8 model.g

Baginya, proses belajar sedang mengambil hipotesis yang dilakukan terbaik pada tes set D t e s t dari satu set hipotesis H t r a i n e d = { h 1 , h 2 , . . , h 8 }gDtestHtrained={h1,h2,..,h8} .

Etest(g)

P[|Eout(g)Ein(g)|<ϵ]12|Htrained|e2ϵ2Ntest

1δ

Eout(g)Etest(g)+12Ntestln2|Htrained|δ

Hasil ini menyiratkan bahwa mungkin ada overfitting pada set tes jika kami memilih model berkinerja terbaik di antara beberapa model.

h1Etest(h1)=0.0023h1Dtesth1 adalah hipotesis overfitted pada tes MNIST set.

Eout(h1)Etest(h1)+12Ntestln2|Htrained|δ

Consequently, we got two inequalities

P[Eout(h1)Etest(h1)+12Ntestln2δ]1δ
and
P[Eout(h1)Etest(h1)+12Ntestln2|Htrained|δ]1δ
.

Howerver, it is obvious that these two inequalities are incompatible.

Where am I doing wrong? Which one is right and which one is wrong?

If the latter is wrong, what is the right way to apply the VC bound for finite hypothesis sets in this case?

Jawaban:


1

Among those two inequalities, I think the later is wrong. In brief, what's wrong here is the identity g=h1 given that g is a function of the test data while h1 is a model that is independent of test data.

In fact, g is one of the 8 models in Htrained={h1,h2,...,h8} that best predicts test set Dtest.

Therefore, g is a function of Dtest. For a specific test set, Dtest (like the one you mentioned), it could happens that g(Dtest)=h1, but in general, depending on the test set, g(Dtest) could take any value in Htrained. On the other hand h1 is just one value in Htrained.

For the other question:

If the latter is wrong, what is the right way to apply the VC bound for finite hypothesis sets in this case?

Just don't replace g by h1, you will get the correct bound (for g, of course) and it will have no conflict with the other bound (which is for h1).

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.