Algoritma pembelajaran yang mendalam untuk mengoptimalkan hasil

10

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?

Frank Malenfant
sumber
Ini pertanyaan yang sangat menarik! Selamat datang di AI.
DukeZhou
Saya mengambil kebebasan mengedit pertanyaan untuk kejelasan lebih lanjut. Tidak yakin apa yang harus dilakukan dengan: "Nilai per cm² yang akan memberikan blok itu prioritas optimal relatif terhadap yang lain" Apakah maksud Anda memberikan blok nilai optimal sehubungan dengan prioritasnya relatif terhadap blok lainnya?
DukeZhou
@DukeZhou Algoritma mesin mengalikan nilai yang saya coba optimalkan dengan luas total 2D blok (lebar x panjang) untuk membuat "skor" dan memotong setiap papan untuk mendapatkan skor maksimum. Jika saya menghitung area blok dalam algoritma, saya kemudian bisa menentukan skor dan kemudian membaginya dengan area. Secara keseluruhan, fokus utamanya adalah memastikan bahwa skor tertinggi cocok dengan kebutuhan tertinggi sehingga tujuan mesin sama dengan kami.
Frank Malenfant
@ DukeZhou Maaf jika tidak sejelas ini, bahasa Inggris adalah bahasa kedua saya
Frank Malenfant
1
@DukeZhou Di Sini. Saya menggantinya dengan istilah multiplikator dan memberikan beberapa informasi tambahan tentang penggunaannya.
Frank Malenfant

Jawaban:

2

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.

engsel
sumber