Bagaimana jika akurasi validasi tinggi tetapi akurasi tes rendah dalam penelitian?

15

Saya memiliki pertanyaan spesifik tentang validasi dalam penelitian pembelajaran mesin.

Seperti yang kita ketahui, rezim pembelajaran mesin meminta para peneliti untuk melatih model mereka pada data pelatihan, memilih dari model kandidat dengan set validasi, dan melaporkan akurasi pada set tes. Dalam studi yang sangat ketat, set tes hanya dapat digunakan satu kali. Namun, itu tidak pernah bisa menjadi skenario penelitian, karena kita harus meningkatkan kinerja kita sampai keakuratan tes lebih baik daripada hasil canggih sebelum kita dapat menerbitkan (atau bahkan menyerahkan) makalah.

Sekarang masalahnya. Katakanlah 50% adalah hasil paling canggih, dan model saya umumnya dapat mencapai akurasi 50--51, yang rata-rata lebih baik.

Namun, akurasi validasi terbaik saya (52%) menghasilkan akurasi tes yang sangat rendah, misalnya 49%. Kemudian, saya harus melaporkan 49% sebagai kinerja keseluruhan jika saya tidak dapat lebih lanjut meningkatkan validasi acc, yang saya pikir tidak ada harapan. Ini benar-benar mencegah saya dari mempelajari masalah, tetapi tidak masalah bagi teman-teman saya, karena mereka tidak melihat 52% acc, yang saya pikir merupakan pencilan.

Jadi, bagaimana orang biasanya melakukan dalam penelitian mereka?

validasi psk-fold tidak membantu, karena situasi yang sama mungkin masih terjadi.

Mou
sumber

Jawaban:

9

Menurut definisi, ketika akurasi pelatihan (atau metrik apa pun yang Anda gunakan) lebih tinggi dari pengujian Anda, Anda memiliki model overfit . Intinya, model Anda telah mempelajari hal-hal khusus yang membantunya tampil lebih baik dalam data pelatihan Anda yang tidak berlaku untuk populasi data yang lebih besar dan karenanya menghasilkan kinerja yang lebih buruk.

Saya tidak yakin mengapa Anda mengatakan validasi k-fold tidak akan membantu. Tujuannya adalah untuk membantu menghindari pemasangan model yang berlebihan. Mungkin Anda tidak memiliki cukup data? Pernyataan seperti ini penting, terutama jika Anda akan membela penelitian apa pun ketika metode validasi silang sangat dianjurkan.

Anda mengatakan Anda tidak dapat menggunakan set tes sekali saja (sekali lagi saya anggap ukuran sampel lebih kecil?). Dalam pengalaman saya, jalur yang paling umum diikuti adalah k-fold cross-validation of you model. Mari kita ambil contoh dengan CV 10 kali lipat untuk ukuran sampel 100 dan menganggap masalah klasifikasi Anda adalah biner untuk membuat perhitungan menjadi sederhana. Karena itu saya membagi data saya menjadi 10 lipatan berbeda . Saya kemudian memasukkan model saya ke 9/10 lipatan dan kemudian memprediksi 1/10 yang saya tinggalkan. Untuk menjalankan pertama ini, matriks kebingungan yang dihasilkan adalah:

    0  1
0   4  1
1   2  3

Saya kemudian mengulangi analisis ini lagi dengan 1/10 lipatan berikutnya ditinggalkan dan berlatih pada 9/10 lainnya. Dan dapatkan matriks kebingungan saya berikutnya. Setelah selesai, saya memiliki 10 matriks kebingungan. Saya kemudian akan menjumlahkan matriks ini (jadi saya sudah memperkirakan semua 100 sampel) dan kemudian melaporkan statistik saya (Akurasi, PPV, skor F1, Kappa, dll.). Jika keakuratan Anda tidak sesuai dengan yang Anda inginkan, ada banyak kemungkinan lain.

  1. Model Anda perlu ditingkatkan (ubah parameter)
  2. Anda mungkin perlu mencoba algoritma pembelajaran mesin yang berbeda (tidak semua algoritma yang dibuat sama)
  3. Anda memerlukan lebih banyak data (hubungan yang sulit ditemukan)
  4. Anda mungkin perlu mencoba mengubah data Anda (tergantung pada algoritma yang digunakan)
  5. Mungkin tidak ada hubungan antara variabel dependen dan independen Anda

Faktanya adalah, metrik pengujian yang lebih rendah (mis. Akurasi) daripada pelatihan Anda menunjukkan overfitting model Anda bukan sesuatu yang Anda inginkan ketika mencoba membuat model prediksi baru.

cdeterman
sumber
Terima kasih untuk balasannya. Yang saya khawatirkan adalah penelitian pembelajaran mesin untuk publikasi, daripada menerapkan teknik pembelajaran mesin. Seringkali, tolok ukur memberikan pemisahan standar pelatihan, validasi, dan set tes. Selain itu, k-fold hanya mengurangi varians. Saya mungkin masih menemukan situasi, di mana validasi (rata-rata) saya acc. tinggi tetapi mnrt. pengujian. rendah.
Mou
Kadang-kadang lucu bahwa jika saya mendesain ulang model saya sedikit, saya bisa mengabaikan pencilan karena model saya (dan dengan demikian kelas hipotesis) berubah, tetapi ini tidak berfungsi untuk menyetel hyperparameters karena kami memilih model dari hipotesis kelas. Namun, memang, kita, para peneliti, memiliki kelas hipotesis yang tidak terbatas --- kita mencoba apa pun yang kita suka. Itu benar-benar mengganggu saya selama penelitian, karena seringkali, perbedaan akurasi biasanya sangat kecil, katakanlah 0,1%.
Mou
@ Anda, saya kira saya masih sedikit tidak yakin apa pertanyaan utama Anda. Tampaknya ada beberapa pertanyaan. Berurusan dengan outlier adalah topik yang berbeda. Apakah Anda mencoba mengoptimalkan parameter atau mengevaluasi model akhir? Ini mungkin khusus untuk bidang yang berbeda tetapi perubahan 0,1% cukup tidak signifikan. Anda bisa mengejar opsi yang tercantum dalam jawaban saya atau menerima bahwa Anda hanya bisa mendapatkan begitu banyak dari model dan data saat ini. Modelnya masih tampak overfit (meskipun sedikit).
cdeterman
Saya setuju dengan kamu. Saya harus menerima bahwa model saya tidak begitu baik. Tetapi beberapa hari yang lalu, ketika cv tinggi acc. + acc tes rendah. tidak melompat ke layar saya, model saya adalah yang terbaik di dunia. Sekarang, itu bukan meskipun saya tidak mengubah apa pun. Lebih jauh, saya tidak punya harapan untuk mengungguli 52% dalam cv acc., Yang menghambat penelitian saya, tetapi rekan-rekan saya tidak perlu khawatir tentang itu.
Mou
Anda harus mengubah sesuatu agar angka berubah atau ada pengacakan yang belum Anda tetapkan seeduntuk menghitung reproduktifitas. Saya curiga prosedur cv Anda memiliki beberapa pengacakan yang ketika diulang dapat mengembalikan hasil yang sedikit berbeda (tapi ini hanya dugaan). Saya benar-benar menyarankan Anda menjelajahi beberapa model lain atau transformasi data untuk mencoba dan meningkatkan kinerja Anda.
cdeterman