Mesin Boltzmann Terbatas untuk regresi?

13

Saya menindaklanjuti pertanyaan yang saya tanyakan sebelumnya pada RBM . Saya melihat banyak literatur menggambarkan mereka tetapi tidak ada yang benar-benar berbicara tentang regresi (bahkan klasifikasi dengan data berlabel). Saya merasa bahwa ini hanya digunakan untuk data tidak berlabel. Apakah ada sumber daya untuk menangani regresi? Atau sesederhana menambahkan lapisan lain di atas lapisan tersembunyi dan menjalankan algoritma CD naik dan turun? Terima kasih banyak sebelumnya.

Brokoli
sumber

Jawaban:

18

Anda benar tentang data yang tidak berlabel. RBM adalah model generatif dan paling umum digunakan sebagai pembelajar yang tidak diawasi.

Ketika digunakan untuk membangun Deep Belief Network, prosedur yang paling umum adalah dengan hanya melatih setiap RBM baru satu per satu saat mereka ditumpuk satu sama lain. Jadi perbedaan kontras tidak naik dan turun dalam arti yang saya pikir Anda maksudkan. Ini hanya bekerja dengan satu RBM pada satu waktu, menggunakan lapisan tersembunyi dari RBM paling atas sebelumnya sebagai input untuk RBM paling atas baru. Setelah semua ini, Anda dapat memperlakukan tumpukan bobot RBM sebagai bobot awal untuk jaringan saraf maju umpan standar dan berlatih menggunakan data berlabel dan backpropagation atau melakukan sesuatu yang lebih eksotis seperti menggunakan algoritma wake-sleep. Perhatikan bahwa kami belum menggunakan data berlabel apa pun hingga langkah terakhir ini, itulah salah satu manfaat dari model-model ini.

Di sisi lain, ada beberapa cara Anda bisa menggunakan RBM untuk klasifikasi.

  • Latih RBM atau tumpukan beberapa RBM. Gunakan lapisan tersembunyi paling atas sebagai input ke beberapa pelajar yang dilindungi lainnya.
  • Latih RBM untuk setiap kelas dan gunakan energi yang tidak dinormalisasi sebagai input ke pengklasifikasi diskriminatif.
  • Latih RBM untuk menjadi model densitas gabungan P (X, Y). Kemudian diberi beberapa input x, pilih saja kelas y yang meminimalkan fungsi energi (normalisasi bukan masalah di sini seperti di atas karena konstanta Z adalah sama untuk semua kelas).
  • Melatih RBM yang diskriminatif

Saya sangat menyarankan Anda membaca laporan teknis Panduan Praktis untuk Pelatihan Mesin Boltzmann Terbatas oleh Geoff Hinton. Ini membahas beberapa masalah ini secara lebih rinci, memberikan tips yang sangat berharga, mengutip banyak makalah yang relevan, dan dapat membantu menjernihkan kebingungan lain yang mungkin Anda miliki.

alto
sumber
1
jadi bisakah RBM digunakan untuk regresi?
waspinator
Bagaimana Anda melatih RBM untuk menjadi model kepadatan bersama? Dengan memberikan X dan Y sebagai input yang tidak tersembunyi, yaitu Anda melatihnya menjadi P (X, Y | H) (H adalah layer tersembunyi)?
AkiRoss
Saya menjawab sendiri komentar saya: ya, dalam "panduan Praktis untuk melatih RBM" (Hinton, 2010), 3 metode yang dijelaskan di atas dijelaskan secara rinci dan, dalam metode 3, ia berbicara tentang memiliki "dua set yang terlihat unit ", di mana, selain data, unit label softmax disajikan untuk mewakili kelas.
AkiRoss
2

Silakan lihat implementasinya, http://code.google.com/p/matrbm/ . Ini memiliki fungsi fit klasifikasi rmb layak dipertimbangkan. Juga beri tahu saya jika Anda menemukan implementasi DBN dan RMB yang lebih baik untuk klasifikasi dan regresi.

Deepan Prabhu Babu
sumber
0

Saya pikir salah satu cara Anda dapat menguji jaringan saraf seperti Mesin Boltzman Terbatas (RBM) adalah menerapkannya pada set data baru, atau lebih umum subset dari set data total, dan melihat kinerjanya. Anda juga dapat menguji model dengan validasi silang. Saya telah menggunakan toolkit perangkat lunak pembelajaran open source machine (ML) yang mudah dipasang dan digunakan, dan memungkinkan Anda untuk dengan mudah menguji berbagai jenis algoritma ML secara terpisah dengan sejumlah statistik regresi model ( http: // www. cs.waikato.ac.nz/ml/weka/ ). Itu mungkin memberi Anda analisis cepat tanpa banyak intervensi kecuali dasar-dasar menjalankan program, meskipun tergantung itu mungkin tidak layak jika akan sulit untuk memformat data Anda (meskipun Anda biasanya dapat google "csv to arff convert online" misalnya untuk pemformatan satu langkah).

jason albalah
sumber