Poin yang perlu ditekankan tentang pembelajaran mesin statistik adalah bahwa tidak ada jaminan . Saat Anda memperkirakan kinerja menggunakan set yang tertunda, itu hanya perkiraan . Perkiraan bisa salah.
Ini membutuhkan waktu untuk membiasakan diri, tetapi Anda harus merasa nyaman dengannya. Ketika Anda mengatakan "Bagaimana jika kinerja benar-benar memburuk?", Jawabannya yakin, itu bisa terjadi. Kinerja aktual bisa lebih buruk dari yang Anda perkirakan / prediksi. Bisa juga lebih baik. Keduanya mungkin. Itu tidak bisa dihindari. Ada beberapa ketidakpastian yang melekat dan tidak dapat direduksi.
Ketika Anda mengevaluasi kinerja menggunakan set uji yang diadakan, Anda menggunakan data dari masa lalu untuk mencoba memprediksi kinerja masa depan. Seperti yang mereka katakan, kinerja masa lalu bukan jaminan hasil di masa depan . Ini adalah fakta kehidupan yang harus kita terima.
Anda tidak bisa membiarkan ini melumpuhkan Anda. Fakta bahwa itu mungkin untuk melakukan lebih buruk dari yang Anda prediksi bukanlah alasan untuk menghindari penyebaran model produksi yang dilatih pada data. Secara khusus, itu juga mungkin dilakukan dengan buruk jika Anda tidak melakukannya. Ada kemungkinan bahwa model yang dilatih pada semua data (kereta + validasi + tes) akan lebih buruk daripada model yang dilatih hanya pada bagian validasi kereta +. Mungkin juga akan lebih baik. Jadi, daripada mencari jaminan, kita harus bertanya pada diri sendiri: Apa yang memberi kita peluang sukses yang terbaik? Apa yang paling mungkin paling efektif?
Dan dalam hal ini, ketika Anda ingin menggunakan untuk produksi, yang terbaik yang dapat Anda lakukan adalah menggunakan semua data yang tersedia untuk Anda. Dalam hal kinerja yang diharapkan, menggunakan semua data tidak lebih buruk daripada menggunakan beberapa data, dan berpotensi lebih baik. Jadi, Anda sebaiknya menggunakan semua data yang tersedia untuk melatih model ketika Anda membangun model produksi. Hal-hal masih bisa berjalan buruk - itu selalu mungkin untuk beruntung, setiap kali Anda menggunakan metode statistik - tetapi ini memberi Anda kesempatan terbaik untuk hal-hal berjalan dengan baik.
Secara khusus, praktik standar adalah sebagai berikut:
Simpan beberapa data Anda ke dalam set tes yang diulurkan. Tidak ada aturan yang keras dan cepat tentang fraksi apa yang akan digunakan, tetapi misalnya, Anda mungkin memesan 20% untuk set tes dan mempertahankan 80% sisanya untuk pelatihan & validasi. Biasanya, semua pemisahan harus dilakukan secara acak.
Selanjutnya, gunakan data pelatihan & validasi untuk mencoba beberapa arsitektur dan hiperparameter, bereksperimen untuk menemukan model terbaik yang Anda bisa. Ambil 80% yang ditahan untuk pelatihan dan validasi, dan pisahkan menjadi set pelatihan dan set validasi, dan latih model menggunakan set pelatihan dan kemudian ukur akurasinya pada set validasi. Jika Anda menggunakan validasi silang, Anda akan melakukan split ini berkali-kali dan rata-rata hasilnya pada set validasi; jika tidak, Anda akan melakukan satu split (misalnya, 70% / 30% dari 80%, atau sesuatu seperti itu) dan mengevaluasi kinerja pada set validasi. Jika Anda memiliki banyak hiperparameter untuk dicoba, lakukan ini satu kali untuk setiap pengaturan calon hiperparameter. Jika Anda memiliki banyak arsitektur untuk dicoba, lakukan ini untuk setiap kandidat arsitektur. Anda dapat mengulangi ini, menggunakan apa yang Anda
Setelah Anda bahagia, Anda membekukan pilihan arsitektur, hiperparameter, dll. Sekarang eksperimen Anda selesai. Setelah Anda mencapai titik ini, Anda tidak akan pernah bisa mencoba opsi lain lagi (tanpa mendapatkan set tes baru) - jadi jangan tekan titik ini sampai Anda yakin Anda siap.
Ketika Anda siap, maka Anda melatih model pada set pelatihan + validasi penuh (yang 80%) menggunakan arsitektur dan hyperparameter yang Anda pilih sebelumnya. Kemudian, ukur keakuratannya pada set tes yang diulurkan. Itulah perkiraan / prediksi Anda untuk seberapa akurat pendekatan pemodelan ini. Anda mendapatkan nomor tunggal di sini. Angka itu adalah apa adanya: jika Anda tidak menyukainya, Anda tidak dapat kembali ke langkah 1 dan 2 dan melakukan lebih banyak eksperimen; itu tidak valid.
Akhirnya, untuk penggunaan produksi, Anda dapat melatih model pada seluruh kumpulan data, pelatihan + validasi + pengujian, dan menggunakannya untuk penggunaan produksi. Perhatikan bahwa Anda tidak pernah mengukur akurasi model produksi ini, karena Anda tidak memiliki data yang tersisa untuk melakukan itu; Anda sudah menggunakan semua data. Jika Anda menginginkan perkiraan seberapa baik kinerjanya, Anda berhak menggunakan perkiraan akurasi dari langkah 4 sebagai prediksi Anda tentang seberapa baik kinerjanya dalam produksi, karena itulah prediksi terbaik yang tersedia untuk kinerja masa depannya. Seperti biasa, tidak ada jaminan - itu hanya perkiraan terbaik, mengingat informasi yang tersedia bagi kami. Mungkin saja hal itu bisa lebih buruk dari yang Anda prediksi, atau lebih baik dari yang Anda prediksi - itu selalu benar.