Gambaran umum proses optimisasi hyperparameter di scikit-learn ada di sini .
Pencarian kisi-kisi yang mendalam akan menemukan set hiperparameter yang optimal untuk suatu model. Downside adalah bahwa pencarian grid lengkap lambat.
Pencarian acak lebih cepat dari pencarian kotak tetapi memiliki variasi yang tidak perlu tinggi.
Ada juga strategi tambahan dalam paket lain, termasuk scikit-optimise , auto-sklearn , dan scikit-hyperband .
Apa metode yang paling efisien (mencari parameter berkinerja cepat dengan cepat) untuk optimasi hyperparameter di scikit-learn?
Idealnya, saya ingin contoh kode kerja dengan tolok ukur.
scikit-learn
hyperparameter
hyperparameter-tuning
grid-search
randomized-algorithms
Brian Spiering
sumber
sumber
Jawaban:
Optimalisasi bukan bidang saya, tetapi sejauh yang saya tahu, optimasi hiper-parameter yang efisien dan efektif akhir-akhir ini berputar di sekitar membangun model pengganti. Seiring meningkatnya kompleksitas model, mereka menjadi kotak hitam yang lebih buram. Ini adalah kasus untuk jaring saraf yang dalam dan pohon yang mungkin rumit juga. Model pengganti mencoba untuk mundur ruang yang mendasari dalam kotak hitam itu. Berdasarkan berbagai teknik pengambilan sampel, mereka menyelidiki ruang parameter-hiper dan berusaha membangun fungsi yang mewakili ruang parameter-hiper yang mendasarinya.
Optimalisasi Bayesian berfokus pada model pengganti dan bagaimana model ini dibangun sangat penting untuk BO. Yang juga penting bagi BO adalah memilih fungsi kerugian yang baik.
Saya pikir kinerja antara pencarian acak dan pencarian Bayesian bervariasi dari dataset ke dataset, dan model ke model. Bergstra & Bengio (2012) membuat argumen yang kuat untuk pencarian acak dari pencarian grid. Shahriari et al. (2016) membuat alasan kuat untuk BO. Strategi Hiperband berbasis-model berpotensi berperforma lebih baik daripada BO, terutama untuk dimensi tinggi, namun ini murni eksplorasi, bukan eksploitasi. Ini bisa mengakibatkan penghentian yang terlalu dini. Namun, ada upaya untuk menggabungkan Hyperband dan BO .
Saya sudah sukses scikit-optimalkan, walaupun ada sedikit yang tidak diterapkan. Sangat mudah untuk membuat prototipe dan dapat dengan mudah berinteraksi dengan scikit-belajar.
Bergstra, J., & Bengio, Y. (2012). Pencarian acak untuk optimasi hyper-parameter. Jurnal Penelitian Pembelajaran Mesin, 13 (Feb), 281-305.
Shahriari, B., Swersky, K., Wang, Z., Adams, RP, & De Freitas, N. (2016). Mengambil manusia keluar dari loop: Tinjauan optimasi bayesian. Prosiding IEEE, 104 (1), 148-175.
sumber
Anda dapat melihat sklearn otomatis . Itu adalah toolkit pembelajaran mesin otomatis yang merupakan perpanjangan langsung dari scikit-learn.
sumber