Penyetelan parameter hiper: Pencarian acak vs optimisasi Bayesian

14

Jadi, kita tahu bahwa pencarian acak berfungsi lebih baik daripada pencarian kisi, tetapi pendekatan yang lebih baru adalah optimasi Bayesian (menggunakan proses gaussian). Saya telah mencari perbandingan antara keduanya, dan tidak menemukan apa pun. Saya tahu bahwa di cs231n Stanford mereka hanya menyebutkan pencarian acak, tetapi ada kemungkinan bahwa mereka ingin menjaga hal-hal sederhana.

Pertanyaan saya adalah: pendekatan mana yang umumnya lebih baik, dan jika jawabannya "kadang-kadang pencarian acak, kadang-kadang Bayesian" kapan saya harus memilih satu metode daripada yang lain?

Yoni Keren
sumber
2
Google menjual layanan cloud pembelajaran mendalam mereka sekarang dan mendorong fitur yang secara otomatis menyetel hyperparameters Anda dengan optimasi Bayesian ... tentu saja mengklaim itu yang terbaik dan lebih cepat juga (mencari hyperspace lebih efisien). Ada beberapa makalah di luar sana yang mengevaluasi BO vs RS serta menunjukkan BO melakukan sedikit lebih baik. IMO dari apa yang saya lihat, beda adalah sesuatu yang Anda akan lebih peduli dalam kompetisi Kaggle daripada kehidupan nyata.
JPJ

Jawaban:

9

Saya pikir jawabannya di sini sama dengan di mana-mana dalam ilmu data: itu tergantung pada data :-)

Mungkin terjadi bahwa satu metode mengungguli yang lain (di sini https://arimo.com/data-science/2016/bayesian-optimization-hyperparameter-tuning/ orang membandingkan optimasi hyperparameter Bayesian dan mencapai hasil yang lebih baik pada tantangan kekejutan kejahatan di San Francisco daripada dengan pencarian acak), namun saya ragu bahwa ada aturan umum untuk itu. Anda dapat melihat gif yang bagus di sini ( http://blog.revolutionanalytics.com/2016/06/bayesian-optimization-of-machine-learning-models.html ) di mana orang menunjukkan 'jalur' yang dilakukan optimasi Bayesian dalam lanskap dari hyperparameters, khususnya, sepertinya tidak mengungguli pencarian acak pada umumnya ...

Saya pikir alasan mengapa orang cenderung menggunakan optimisasi hyperparameter Bayesian adalah bahwa hanya dibutuhkan langkah pelatihan yang lebih sedikit untuk mencapai hasil yang sebanding dibandingkan dengan pencarian acak dengan jumlah eksperimen yang cukup tinggi.

Merangkum dalam satu kalimat:

* Ketika waktu pelatihan sangat penting, gunakan optimisasi hyperparameter Bayesian dan jika waktu tidak menjadi masalah, pilih salah satu dari keduanya ... *

Biasanya saya terlalu malas untuk mengimplementasikan hal-hal Bayesian dengan Proses Gaussian jika saya dapat mencapai hasil yang sama dengan pencarian acak ... Saya hanya melatih ansambel Gradient Bossting pada data 'sedikit', jadi bagi saya, waktu bukanlah masalah ...

Fabian Werner
sumber
5

Optimalisasi Bayesian lebih baik, karena membuat keputusan yang lebih cerdas. Anda dapat memeriksa artikel ini untuk mempelajari lebih lanjut: Optimalisasi Hyperparameter untuk jaringan saraf . Artikel ini juga memiliki info tentang pro dan kontra untuk kedua metode + beberapa teknik tambahan seperti pencarian grid dan estimator parzen Tree-structured. Meskipun ditulis untuk menunjukkan pro dan kontra dari berbagai metode untuk jaringan saraf, pengetahuan utama dapat digeneralisasikan untuk domain pembelajaran mesin lainnya

itdxer
sumber
1
Saya hanya ingin menunjukkan bahwa dalam kalimat pertama Anda, alasan sebenarnya mengapa optimasi Bayesian lebih baik adalah bukan karena keputusan yang diambil lebih pintar , ini tentang keputusan yang diambil sama sekali .
Alexander Rossa
1

Sebagai catatan, optimisasi hyperparameter Bayesian adalah proses berurutan, sehingga mungkin perlu waktu lebih lama daripada beberapa pendekatan lain untuk dapat mencari atau dilakukan secara paralel.

pandai besi
sumber