Overfitting / Underfitting dengan ukuran data set

11

Dalam grafik di bawah ini,

  • x-axis => Ukuran set data
  • y-axis => Skor validasi silang

masukkan deskripsi gambar di sini

  • Garis merah untuk Data Pelatihan

  • Garis hijau untuk Pengujian Data

Dalam tutorial yang saya maksudkan, penulis mengatakan bahwa titik di mana garis merah dan garis hijau tumpang tindih,

Mengumpulkan lebih banyak data tidak mungkin meningkatkan kinerja generalisasi dan kami berada di kawasan yang cenderung kurang sesuai dengan data. Karena itu masuk akal untuk mencoba dengan model dengan kapasitas lebih besar

Saya tidak bisa mengerti arti dari kalimat tebal dan bagaimana itu terjadi.

Hargai bantuan apa pun.

tharindu_DG
sumber
Apa itu garis merah dan hijau?
Kasra Manshaei
1
@KasraManshaei: Saya telah memperbarui pertanyaan.
tharindu_DG
1
Jika memungkinkan, silakan tambahkan tautan ke tutorial. Akan membantu kami memahami jawaban dan konteks dengan lebih baik :)
Dawny33
@ Dawny33: Ini tutorial video dan mengunggahnya akan melanggar masalah hak cipta, saya kira. :)
tharindu_DG

Jawaban:

6

Jadi, underfitting berarti Anda masih memiliki kapasitas untuk meningkatkan pembelajaran Anda sementara overfitting berarti Anda telah menggunakan kapasitas lebih dari yang dibutuhkan untuk belajar.

Area hijau adalah tempat kesalahan pengujian meningkat, yaitu Anda harus terus menyediakan kapasitas (baik titik data atau kompleksitas model) untuk mendapatkan hasil yang lebih baik. Semakin banyak garis hijau, semakin datar itu artinya Anda mencapai titik di mana kapasitas yang disediakan (yaitu data) cukup dan lebih baik untuk mencoba menyediakan jenis kapasitas lain yang merupakan kompleksitas model.

Jika tidak meningkatkan skor tes Anda atau bahkan menguranginya itu berarti bahwa kombinasi Data-Kompleksitas entah bagaimana optimal dan Anda dapat menghentikan pelatihan.

Kasra Manshaei
sumber
Terima kasih atas jawabannya. Saya memiliki beberapa ambiguitas. - Di akhir grafik, garis hijau dan garis merah bertemu. Tidakkah itu berarti kita memiliki cukup data untuk model kita? - Apakah mungkin untuk mendapatkan akurasi yang lebih baik dari set tes daripada set pelatihan? - Katakanlah kita punya model yang lebih baik dan bagaimana seharusnya grafik itu?
tharindu_DG
1
"Bukankah itu berarti kita memiliki cukup data untuk model kita?" Itulah yang saya tulis. Ya, Anda memiliki cukup data sehingga jika Anda ingin meningkatkan Anda harus mencoba lebih banyak kompleksitas. Data sudah cukup. "Apakah mungkin untuk mendapatkan akurasi yang lebih baik dari set tes daripada set pelatihan?" Saya tidak pernah melihat hal seperti itu. Itu mungkin terjadi dalam satu percobaan tetapi tidak secara umum. Pertanyaan ini dapat diterjemahkan menjadi "Bisakah saya tahu lebih banyak dari yang saya tahu?" dan jawabannya adalah "Tentu saja tidak!"
Kasra Manshaei
1
"Katakanlah kita punya model yang lebih baik dan seperti apa grafik itu?" Saya berasumsi (Anda mencoba dan memberi tahu saya jika saya benar :)) bahwa baik pelatihan dan tes meningkat atau tidak. Ada kemungkinan bahwa pelatihan meningkat dan tes jatuh tetapi tidak sebaliknya dan juga mungkin bahwa keduanya membaik untuk sementara waktu kemudian tes jatuh yang disebut Overfitting. Anda harus menghentikan pelatihan di jalur tes titik mulai turun
Kasra Manshaei
5

Sementara Kasra Manshaei memberikan jawaban umum yang baik (+1), saya ingin memberikan contoh yang mudah dimengerti.

Pikirkan masalah yang sangat sederhana: Menyesuaikan fungsi f:[0,1]R. Untuk melakukannya, Anda mengambil model dari kelas polinomial. Demi argumen, katakanlah Anda mengambil polinomial derajat 0. Kapasitas model ini sangat terbatas karena hanya dapat memenuhi konstanta. Ini pada dasarnya akan menebak nilai rata-rata (tergantung pada fungsi kesalahan, tentu saja, tetapi tetap sederhana). Jadi relatif cepat Anda akan memiliki perkiraan yang cukup bagus tentang apa parameter terbaik untuk model semacam ini. Kesalahan pengujian dan pelatihan Anda akan hampir identik, tidak peduli berapa banyak contoh yang Anda tambahkan. Masalahnya bukan bahwa Anda tidak memiliki cukup data, masalahnya adalah bahwa model Anda tidak cukup kuat: Anda kurang pakaian .

Jadi mari kita pergi sebaliknya: Katakan Anda memiliki 1000 titik data. Mengetahui sedikit matematika, Anda memilih polinomial tingkat 999. Sekarang Anda dapat menyesuaikan data pelatihan dengan sempurna. Namun, data Anda mungkin hanya cocok dengan data terlalu sempurna. Misalnya, lihat (dari blog saya )

masukkan deskripsi gambar di sini

Dalam hal ini, Anda memiliki model lain yang juga cocok dengan data. Jelas, model biru tampak agak tidak alami di antara titik data. Model itu sendiri mungkin tidak dapat menangkap jenis distribusi dengan baik, sehingga membatasi model untuk sesuatu yang lebih sederhana sebenarnya dapat membantunya. Ini bisa menjadi contoh overfitting .

Martin Thoma
sumber
1
@Moose sangat bagus! (+1) untuk memahami penjelasan
Kasra Manshaei
0

Dalam kasus Anda, Anda memiliki - celah yang sangat kecil (atau tidak ada) antara kurva kereta api dan tes yang menunjukkan bahwa model memiliki bias / pakaian dalam yang tinggi, solusi: perlu memilih model yang lebih kompleks; - Demi penyelesaian, perlu menambahkan kasus yang berlawanan ketika kesenjangan antara kereta dan kurva tes sangat besar yang menunjukkan varians tinggi / overfitting, solusi: a) terus meningkatkan Ukuran Kumpulan data; b) pilih model yang kurang rumit, c) lakukan regularisasi.

Danylo Zherebetskyy
sumber
0

Anda dapat melakukan salah satu dari semua hal berikut ini:

1) ubah fitur yang Anda masukkan ke dalam model

2) pilih model yang berbeda untuk digunakan

3) memuat lebih banyak data ke dalam model (mungkin bukan opsi bagi Anda, tetapi biasanya ini pilihan)

ABU
sumber