Asumsikan bahwa model memiliki akurasi 100% pada data pelatihan, tetapi akurasi 70% pada data uji. Apakah argumen berikut ini benar tentang model ini?
Jelas bahwa ini adalah model overfitted. Akurasi pengujian dapat ditingkatkan dengan mengurangi overfitting. Namun, model ini masih bisa menjadi model yang berguna, karena memiliki akurasi yang dapat diterima untuk data uji.
model
accuracy
overfitting
Hossein
sumber
sumber
Jawaban:
Saya pikir argumennya benar. Jika 70% dapat diterima dalam aplikasi tertentu, maka model ini berguna meskipun overfitted (lebih umum, terlepas dari apakah overfitted atau tidak).
Sementara menyeimbangkan overfitting terhadap underfitting menyangkut optimalitas (mencari solusi yang optimal), memiliki kinerja yang memuaskan adalah tentang kecukupan (apakah model berkinerja cukup baik untuk tugas itu?). Model bisa cukup baik tanpa menjadi optimal.
Sunting: setelah komentar oleh Firebug dan Matthew Drury di bawah OP, saya akan menambahkan bahwa untuk menilai apakah model dilengkapi berlebihan tanpa mengetahui kinerja validasi dapat bermasalah. Firebug menyarankan untuk membandingkan validasi vs kinerja tes untuk mengukur jumlah overfitting. Namun demikian, ketika model memberikan akurasi 100% pada set pelatihan tanpa memberikan akurasi 100% pada set tes, itu merupakan indikator kemungkinan overfitting (terutama dalam kasus regresi tetapi tidak harus dalam klasifikasi).
sumber
set.seed(100)
ilustrasi seperti fenomena yang dijelaskan di sini danset.seed(15)
sebaliknya. Mungkin lebih baik untuk mengatakan "indikator kemungkinan overfitting"Dalam proyek masa lalu saya dengan deteksi Penipuan Kartu Kredit, kami sengaja ingin terlalu menyesuaikan data / kode sandi untuk mengingat kasus penipuan. (Catatan, overfitting satu kelas bukanlah masalah overfitting umum yang dibicarakan OP.) Sistem semacam itu memiliki positif palsu yang relatif rendah dan memuaskan kebutuhan kita.
Jadi, saya akan mengatakan, model overfitted dapat berguna untuk beberapa kasus.
sumber
Mungkin: waspadalah. Ketika Anda mengatakan bahwa akurasi 70% (namun Anda mengukurnya) cukup baik untuk Anda, rasanya seperti Anda mengasumsikan bahwa kesalahan didistribusikan secara acak atau merata.
Tetapi salah satu cara untuk melihat overfitting adalah bahwa hal itu terjadi ketika teknik model memungkinkan (dan proses pelatihannya mendorong) memberikan terlalu banyak perhatian pada kebiasaan dalam set pelatihan. Subjek dalam populasi umum yang berbagi kebiasaan ini mungkin memiliki hasil yang sangat tidak seimbang.
Jadi mungkin Anda berakhir dengan model yang mengatakan semua anjing merah menderita kanker - karena kekhasan khusus dalam data pelatihan Anda. Atau bahwa orang yang menikah antara usia 24 dan 26 hampir dijamin untuk mengajukan klaim asuransi penipuan. Akurasi 70% Anda menyisakan banyak ruang untuk kantong subjek menjadi 100% salah karena model Anda terlalu bagus.
(Tidak berpakaian berlebihan bukan jaminan bahwa Anda tidak akan memiliki kantong prediksi yang salah. Bahkan model yang kurang fit akan memiliki petak prediksi buruk, tetapi dengan overfitting Anda tahu bahwa Anda memperbesar efek quirks dalam data pelatihan Anda. .)
sumber
Tidak, mereka bisa berguna, tetapi itu tergantung pada tujuan Anda. Beberapa hal muncul dalam pikiran:
Klasifikasi Sensitif Biaya: Jika fungsi evaluasi Anda melebihi TPR dan underweights FPR, kami menggunakan skor dengan . (seperti jawaban @ hxd1011 tentang antifraud)Fβ β≫1
Penggolong seperti itu dapat sangat berguna dalam sebuah ensemble . Kita bisa memiliki satu classifier dengan bobot normal, satu yang melebihi TPR, satu yang melebihi FNR. Kemudian bahkan voting aturan-tiga sederhana, atau rata-rata, akan memberikan AUC yang lebih baik daripada penggolong tunggal terbaik. Jika masing-masing model menggunakan hiperparameter yang berbeda (atau set pelatihan yang ditetapkan, atau arsitektur model), yang membeli ansambel beberapa kekebalan dari overfitting.
Demikian pula, untuk real-time anti-spam, anti-penipuan atau kredit scoring, itu ok dan diinginkan untuk menggunakan hirarki pengklasifikasi. Pengklasifikasi level-1 harus mengevaluasi dengan sangat cepat (ms) dan tidak masalah memiliki FPR tinggi ; kesalahan apa pun yang mereka lakukan akan ditangkap oleh pengklasifikasi tingkat tinggi yang lebih akurat, berfitur lengkap, lebih lambat atau akhirnya peninjau manusia. Contoh nyata: mencegah tajuk berita palsu dari pengambilalihan akun Twitter seperti "serangan bom Gedung Putih membunuh tiga" 2013 dari mempengaruhi $ miliaran perdagangan dalam beberapa mil dari posting. Tidak masalah bagi pengklasifikasi level-1 untuk menandai sebagai positif untuk spam; mari kita ijinkan dibutuhkan beberapa saat untuk (secara otomatis) menentukan kebenaran / kepalsuan dari laporan berita yang sensasional tetapi tidak terverifikasi.
sumber
Saya tidak menyangkal bahwa model overfitted masih bisa bermanfaat. Namun perlu diingat bahwa 70% ini bisa menjadi informasi yang menyesatkan. Apa yang Anda butuhkan untuk menilai apakah suatu model bermanfaat atau tidak adalah kesalahan out-of-sample , bukan kesalahan pengujian ( kesalahan out-of-sample tidak diketahui, jadi kami harus memperkirakannya menggunakan set pengujian yang dibutakan ), dan bahwa 70% hampir merupakan pendekatan yang baik.
Untuk memastikan bahwa kami berada di halaman yang sama pada terminologi setelah komentar @RichardHardy, mari kita mendefinisikan kesalahan pengujian sebagai kesalahan yang diperoleh saat menerapkan model pada set pengujian buta. Dan kesalahan out-of-sample adalah kesalahan saat menerapkan model untuk seluruh populasi.
Perkiraan kesalahan out-of-sample tergantung pada dua hal: model itu sendiri dan data.
Model "optimal" menghasilkan akurasi (pengujian) yang hampir tidak bergantung pada data, dalam hal ini, itu akan menjadi perkiraan yang baik. "Terlepas" dari data, kesalahan prediksi akan stabil.
Tetapi, akurasi model overfitted sangat tergantung pada data (seperti yang Anda sebutkan 100% pada set pelatihan, dan 70% pada set lainnya). Jadi itu mungkin terjadi bahwa ketika menerapkan ke set data lain, akurasi bisa di suatu tempat lebih rendah dari 70% (atau lebih tinggi), dan kita bisa mendapat kejutan buruk. Dengan kata lain, 70% itu memberi tahu Anda apa yang Anda yakini, tetapi ternyata tidak.
sumber