Saya cukup baru dalam pembelajaran mendalam, tetapi saya pikir saya menemukan situasi dunia nyata yang tepat untuk mulai menggunakannya. Masalahnya adalah saya hanya menggunakan algoritma seperti itu untuk memprediksi hasil. Untuk proyek baru saya, saya perlu informasi untuk memberi makan mesin dengan untuk mengoptimalkan hasil. Bisakah seseorang menjelaskan secara singkat bagaimana saya harus melanjutkan? Aku terjebak.
Inilah situasinya:
Saya memiliki mesin yang mengambil papan kayu dengan berbagai jenis kayu yang tersedia sepanjang dan harus memotongnya menjadi blok yang disediakan dalam daftar potong. Mesin ini akan selalu memilih skor tertinggi yang bisa didapat dari papan yang diberikan. The skor diperoleh dengan mengalikan masing-masing blok daerah oleh nya multiplicator . Algoritma yang ingin saya bangun harus memberikan mesin itu sebuah multiplicator untuk setiap blok yang tercantum dalam daftar potong. Semua output fisik dari mesin ini akan disimpan di rak oleh robot sampai dibutuhkan. Mesin pemotong diizinkan untuk menurunkan peringkat bagian-bagian papan jika itu membantu mencapai skor yang lebih tinggi.
Nilai harus bertindak sebagai insentif bagi mesin untuk memberi saya blok yang paling saya butuhkan tanpa menurunkan terlalu banyak kayu.
TUJUAN OPTIMASI
- Pastikan setiap blok sudah tersedia pada saat dibutuhkan, tetapi tidak terlalu dini tanpa alasan
- Turunkan area kayu sesedikit mungkin (beberapa spesies sangat mahal)
NOD INPUT
- Jumlah waktu sebelum blok ini diperlukan
- Nilai kayu untuk blok ini
- Jumlah blok ini diperlukan
- Area blok (Mungkin?)
UMPAN BALIK DISEDIAKAN UNTUK ALGORITMA
- Jumlah waktu di muka bahwa blok siap (harus serendah mungkin)
- Area kayu diturunkan * jumlah nilai dilewati
DATA PENGEMBALIAN YANG DIHARAPKAN
- Sebuah multiplicator yang akan memberikan blok yang optimal prioritas relatif terhadap orang lain
INFORMASI SAYA TIDAK PUNYA TAPI BISA
- Rasio rata-rata setiap kelas untuk setiap spesies kayu
Apa yang saya ketahui sejauh ini adalah bahwa saya mungkin perlu umpan balik saya untuk dihancurkan hanya dalam satu nilai untuk membuatnya menjadi simpul output. Masalahnya adalah saya tidak bisa mengerti bagaimana cara membuat algoritma ini untuk menentukan multiplicator . Apakah saya salah dalam mencoba menyelesaikan ini melalui pembelajaran yang mendalam?
sumber
Jawaban:
Model pembelajaran mendalam untuk tugas-tugas regresi cukup sulit untuk dilatih, jadi saya sarankan untuk tidak memulainya. Alih-alih, saya akan mulai dengan salah satu pendekatan di bawah ini dan mungkin mencoba menggunakan pembelajaran mendalam setelahnya.
Pendekatan klasik untuk masalah ini bisa dengan menganalisis perangkat lunak pengoptimalan Anda dan ini mungkin akan mengarahkan Anda ke beberapa algoritma deterministik.
Berbagai pendekatan dapat digunakan untuk memperlakukan perangkat lunak pengoptimalan Anda sebagai kotak hitam - berikan berbagai macam input, catat variabel yang Anda minati (waktu eksekusi, hasil pemotongan, dll.) Dan cobalah untuk menyesuaikan atau mengurutkannya. .
Salah satu opsi adalah mengikuti ide Kourosh dan merumuskannya sebagai masalah optimisasi klasik.
Jika Anda lebih suka menggunakan alat pembelajaran mesin daripada yang saya sarankan Anda mulai dengan model sederhana seperti regresi linier hanya untuk memverifikasi bahwa ada sinyal dalam data yang dapat Anda gunakan. Setelah itu Anda dapat melihat algoritma yang lebih kuat seperti xgboost, pohon regresi, dll.
sumber