Definisi matematika / Algoritma untuk overfitting


18

Apakah ada definisi matematis atau algoritmik overfitting?

Definisi yang sering disediakan adalah plot 2-D klasik dari titik-titik dengan garis yang melewati setiap titik dan kurva kehilangan validasi tiba-tiba naik.

Tetapi apakah ada definisi matematis yang ketat?

Jawaban:


22

Ya ada (sedikit lebih) definisi yang ketat:

Diberikan model dengan seperangkat parameter, model dapat dikatakan overfitting data jika setelah sejumlah langkah pelatihan, kesalahan pelatihan terus berkurang sementara kesalahan sampel (tes) mulai meningkat.

masukkan deskripsi gambar di sini Dalam contoh ini kesalahan sampel (pengujian / validasi) pertama menurun sejalan dengan kesalahan kereta, kemudian mulai meningkat sekitar era ke-90, yaitu saat overfitting dimulai

Cara lain untuk melihatnya adalah dari segi bias dan varians. Kesalahan sampel keluar untuk suatu model dapat didekomposisi menjadi dua komponen:

  • Bias: Kesalahan karena nilai yang diharapkan dari model yang diestimasikan berbeda dari nilai yang diharapkan dari model yang sebenarnya.
  • Varians: Kesalahan karena model peka terhadap fluktuasi kecil dalam kumpulan data.

Overfitting terjadi ketika bias rendah, tetapi variansnya tinggi. Untuk kumpulan data mana model sebenarnya (tidak dikenal) adalah:X

Y=f(X)+ϵ - menjadi derau yang tidak dapat direduksi dalam kumpulan data, dengan dan , ϵE(ϵ)=0Var(ϵ)=σϵ

dan model yang diperkirakan adalah:

Y^=f^(X) ,

maka kesalahan pengujian (untuk titik data uji ) dapat ditulis sebagai:xt

Err(xt)=σϵ+Bias2+Variance

Bias2=E[f(xt)f^(xt)]2Variance=E[f^(xt)E[f^(xt)]]2

(Secara tegas, dekomposisi ini berlaku dalam kasus regresi, tetapi dekomposisi yang sama berlaku untuk fungsi kerugian, misalnya dalam kasus klasifikasi).

Kedua definisi di atas terkait dengan kompleksitas model (diukur berdasarkan jumlah parameter dalam model): Semakin tinggi kompleksitas model, semakin besar kemungkinan terjadinya overfitting.

Lihat bab 7 dari Elemen Pembelajaran Statistik untuk perlakuan matematis yang ketat dari topik tersebut.

masukkan deskripsi gambar di sini Pengorbanan Bias-Variance dan Variance (yaitu overfitting) meningkat dengan kompleksitas model. Diambil dari ESL Bab 7


1
Apakah mungkin untuk mengurangi kesalahan pelatihan dan pengujian, tetapi model masih sesuai? Dalam pikiran saya, perbedaan pelatihan dan kesalahan tes menunjukkan overfitting, tetapi overfitting tidak selalu memerlukan divergensi. Misalnya, NN yang belajar membedakan penjahat dari yang bukan penjahat dengan mengenali latar belakang putih foto-foto penjara itu terlalu pas, tetapi kesalahan pelatihan dan ujian mungkin tidak menyimpang.
Yters

@Yters dalam hal itu, saya tidak berpikir akan ada cara untuk mengukur overfitting yang terjadi. Yang Anda miliki akses ke adalah pelatihan dan pengujian data, dan jika kedua set data menunjukkan fitur yang sama yang NN manfaatkan (latar belakang putih), maka itu hanyalah fitur valid yang harus dimanfaatkan, dan tidak perlu overfitting. Jika Anda tidak menginginkan fitur itu, maka Anda harus memasukkan variasi di dalamnya dalam set data Anda.
Calvin Godfrey

1
@Yters contoh Anda adalah apa yang saya anggap sebagai "social overfitting": Secara matematis, modelnya tidak overfitting, tetapi ada beberapa pertimbangan sosial dari luar yang menyebabkan prediktor tidak berkinerja baik. Contoh yang lebih menarik adalah beberapa kompetisi Kaggle dan berbagai set data terbuka seperti Boston Housing, MNIST, dll ... model itu sendiri mungkin tidak terlalu cocok (dalam hal bias, varians, dll ...), tetapi ada banyak pengetahuan tentang masalah di masyarakat secara umum (hasil dari tim sebelumnya dan makalah penelitian, kernel yang dibagikan secara publik, dll ...) yang mengarah pada overfitting.
Skander H.

1
@Yters (lanjutan) itu sebabnya dalam teori set data validasi yang terpisah (selain data test set) harus tetap dalam "vault" dan tidak digunakan sampai validasi akhir.
Skander H.

1
@CalvinGodfrey inilah contoh yang lebih teknis. Katakanlah saya memiliki dataset klasifikasi biner yang terbagi secara merata antara dua kelas, dan kemudian menambahkan noise ke klasifikasi dari distribusi Bernoulli yang cukup tidak seimbang sehingga dataset menjadi condong ke salah satu kelas. Saya membagi dataset menjadi kereta dan tes, dan mencapai akurasi tinggi di kedua bagian karena distribusi yang tidak seimbang. Namun, akurasi model tidak setinggi pada klasifikasi dataset yang benar karena model mempelajari distribusi Bernoulli miring.
Yters
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.