Jadi, saya belum dapat menemukan literatur tentang hal ini tetapi sepertinya ada sesuatu yang layak dipertimbangkan:
Apa praktik terbaik dalam pelatihan model dan optimisasi jika pengamatan baru tersedia?
Apakah ada cara untuk menentukan periode / frekuensi pelatihan ulang model sebelum prediksi mulai menurun?
Apakah terlalu pas jika parameter dioptimalkan kembali untuk data agregat?
Perhatikan bahwa pembelajaran mungkin tidak selalu online. Seseorang mungkin ingin meningkatkan model yang ada setelah mengamati perbedaan yang signifikan dalam prediksi yang lebih baru.
machine-learning
predictive-modeling
optimization
training
pengguna140323
sumber
sumber
Jawaban:
.pickle
file dan memuatnya dan melatihnya lebih lanjut ketika data baru tersedia. Perhatikan bahwa agar model dapat memprediksi dengan benarthe new training data should have a similar distribution as the past data
,.The frequency will be dependent on dataset
dan tidak ada waktu khusus untuk menyatakannya.If you observe that your new incoming data is deviating vastly, then it is a good practise to retrain the model
.sumber
Ketika pengamatan baru tersedia, ada tiga cara untuk melatih kembali model Anda:
Sebagian besar model saat ini akan menggunakan batch / mini batch dan pilihan untuk ukuran batch tergantung pada aplikasi dan model Anda. Memilih kumpulan ukuran yang tepat sama dengan memilih frekuensi yang tepat untuk melatih kembali model Anda. Jika pengamatan baru Anda memiliki varian rendah dengan data yang ada, saya akan menyarankan batch yang lebih besar (mungkin 256-512) dan jika sebaliknya pengamatan baru cenderung sangat bervariasi dengan data yang ada, gunakan batch kecil (8-256). Pada akhirnya, ukuran kumpulan adalah jenis seperti parameter-hiper lainnya yang perlu Anda sesuaikan dan yang spesifik untuk data Anda
sumber
Masalah Anda ada di bawah payung metode Pembelajaran Online. Dengan asumsi aliran data yang datang, Anda dapat menggunakan metode Stochastic Gradient Descent untuk memperbarui parameter model Anda menggunakan contoh tunggal itu.
Jika fungsi biaya Anda adalah:
Ini pada dasarnya SGD dengan ukuran batch 1.
Ada satu trik lain, Anda dapat mengadopsi metode berbasis jendela / buffer, di mana Anda buffer beberapa contoh dari stream dan memperlakukannya sebagai batch dan menggunakan batch SGD. Dalam hal ini persamaan pembaruan akan menjadi:
Ini pada dasarnya adalah SGD mini-batch.
sumber
Pertanyaannya: HARUS Anda berlatih kembali?
Jawabannya tergantung pada apa yang coba dilakukan oleh model Anda dan dalam lingkungan apa ia diterapkan.
Izinkan saya menjelaskan dengan beberapa contoh:
Misalkan model Anda mencoba untuk memprediksi perilaku pelanggan, misalnya seberapa besar kemungkinan pelanggan untuk membeli produk Anda diberikan penawaran yang disesuaikan untuknya. Jelas, pasar berubah seiring waktu, preferensi pelanggan berubah, dan pesaing Anda menyesuaikan. Anda harus menyesuaikan juga, jadi Anda perlu melatih ulang secara berkala. Dalam kasus seperti itu saya akan merekomendasikan untuk menambahkan data baru, tetapi juga menghilangkan data lama yang tidak relevan lagi. Jika pasar berubah dengan cepat, Anda bahkan harus mempertimbangkan pelatihan ulang secara berkala hanya berdasarkan data baru.
Di sisi lain, jika model Anda mengklasifikasikan beberapa pencitraan (misalnya x-ray atau MRI) ke kondisi medis, dan model berkinerja baik, Anda tidak perlu berlatih ulang jika tidak ada perubahan dalam teknologi atau dalam pengetahuan medis . Menambahkan lebih banyak data tidak akan banyak meningkat.
sumber