Bagikan melalui


Tune Model Hyperparameters

Penting

Dukungan untuk Studio Azure Machine Learning (klasik) akan berakhir pada 31 Agustus 2024. Sebaiknya Anda transisi ke Azure Machine Learning sebelum tanggal tersebut.

Mulai 1 Desember 2021, Anda tidak akan dapat membuat sumber daya Studio Azure Machine Learning (klasik) baru. Hingga 31 Agustus 2024, Anda dapat terus menggunakan sumber daya Pembelajaran Mesin Studio (klasik) yang ada.

ML Dokumentasi Studio (klasik) sedang berhenti dan mungkin tidak diperbarui di masa mendatang.

Melakukan sapuan parameter pada model untuk menentukan pengaturan parameter optimal

Kategori: Pembelajaran Mesin / Kereta Api

Catatan

Berlaku untuk: Pembelajaran Mesin Studio (klasik) saja

Modul drag-and-drop serupa tersedia di Azure Machine Learning desainer.

Ringkasan Modul

Artikel ini menjelaskan cara menggunakan modul Tune Model Hyperparameters di Pembelajaran Mesin Studio (klasik), untuk menentukan hiperparameter optimal untuk model pembelajaran mesin tertentu. Modul ini membangun dan menguji beberapa model, menggunakan kombinasi pengaturan yang berbeda, dan membandingkan metrik di semua model untuk mendapatkan kombinasi pengaturan.

Istilah parameter dan hiper-parameter dapat membingungkan. Parameter model adalah apa yang Anda atur di panel properti. Pada dasarnya, modul ini melakukan sapuan parameter di atas pengaturan parameter yang ditentukan, dan mempelajari satu set hiperparameter yang optimal, yang mungkin berbeda untuk setiap pohon keputusan tertentu, dataset, atau metode regresi. Proses menemukan konfigurasi optimal kadang-kadang disebut penyesuaian.

Modul ini mendukung dua metode untuk menemukan pengaturan optimal untuk sebuah model:

  • Kereta dan nada terintegrasi: Anda mengonfigurasi serangkaian parameter untuk digunakan, lalu biarkan modul berulang di atas beberapa kombinasi, mengukur akurasi hingga menemukan model "terbaik". Dengan sebagian besar modul pelajar, Anda dapat memilih parameter mana yang harus diubah selama proses pelatihan, dan mana yang harus tetap diperbaiki.

    Bergantung pada berapa lama Anda ingin proses penyetelan berjalan, Anda mungkin memutuskan untuk menguji semua kombinasi secara mendalam, atau Anda dapat mempersingkat proses dengan membuat kisi kombinasi parameter dan menguji subset acak dari kisi parameter.

  • Validasi silang dengan penyetelan: Dengan opsi ini, Anda membagi data Anda menjadi beberapa jumlah lipatan dan kemudian membangun dan menguji model pada setiap lipatan. Metode ini memberikan akurasi terbaik dan dapat membantu menemukan masalah dengan himpunan data; Namun, butuh waktu lebih lama untuk berlatih.

Kedua metode menghasilkan model terlatih yang dapat Anda simpan untuk digunakan kembali.

  • Jika Anda sedang membangun model pengelompokan, gunakan Sweep Clustering untuk secara otomatis menentukan jumlah kluster dan parameter lainnya secara optimal.

  • Sebelum penyetelan, terapkan pemilihan fitur untuk menentukan kolom atau variabel yang memiliki nilai informasi tertinggi. Untuk informasi selengkapnya, lihat Pemilihan Fitur.

Cara mengonfigurasi Tune Model Hyperparameters

Umumnya, mempelajari hiperparameter optimal untuk model pembelajaran mesin tertentu membutuhkan eksperimen yang cukup besar. Modul ini mendukung proses penyetelan awal, dan validasi silang untuk menguji akurasi model:

Melatih model menggunakan sapuan parameter

Bagian ini menjelaskan cara melakukan sapuan parameter dasar, yang melatih model dengan menggunakan modul Tune Model Hyperparameters .

  1. Tambahkan modul Tune Model Hyperparameters ke eksperimen Anda di Studio (klasik).

  2. Koneksi model yang tidak terlatih (model dalam format iLearner) ke input paling kiri.

  3. Atur opsi Buat mode pelatih ke Rentang Parameter dan gunakan Range Builder untuk menentukan rentang nilai yang akan digunakan dalam sapuan parameter.

    Hampir semua modul klasifikasi dan regresi mendukung sapuan parameter terintegrasi. Bagi peserta didik yang tidak mendukung konfigurasi rentang parameter, hanya nilai parameter yang tersedia yang dapat diuji.

    Anda dapat mengatur nilai secara manual untuk satu atau lebih parameter, lalu menyapu parameter yang tersisa. Ini mungkin menghemat waktu.

  4. Tambahkan himpunan data yang ingin Anda gunakan untuk pelatihan dan hubungkan ke input tengah Tune Model Hyperparameters.

    Secara opsional, jika Anda memiliki himpunan data yang ditandai tag, Anda dapat menyambungkannya ke port input paling kanan (Himpunan data validasi opsional) . Hal ini memungkinkan Anda mengukur akurasi saat berlatih dan menyetel.

  5. Di panel PropertiTune Model Hyperparameters, pilih nilai untuk mode penyapuan Parameter. Opsi ini mengontrol bagaimana parameter dipilih.

    • Seluruh kisi: Ketika Anda memilih opsi ini, modul mengulang kisi yang telah ditentukan oleh sistem, untuk mencoba kombinasi yang berbeda dan mengidentifikasi pelajar terbaik. Opsi ini berguna untuk kasus di mana Anda tidak tahu apa pengaturan parameter terbaik dan ingin mencoba semua kemungkinan kombinasi nilai.

    Anda juga dapat mengurangi ukuran grid dan menjalankan sapuan grid acak . Penelitian telah menunjukkan bahwa metode ini menghasilkan hasil yang sama, tetapi lebih efisien secara komputasi.

    • Pembersihan acak : Saat Anda memilih opsi ini, modul akan secara acak memilih nilai parameter di atas rentang yang ditentukan sistem. Anda harus menentukan jumlah maksimum eksekusi yang Anda inginkan untuk dijalankan oleh modul. Opsi ini berguna untuk kasus di mana Anda ingin meningkatkan kinerja model menggunakan metrik pilihan Anda tetapi tetap menghemat sumber daya komputasi.
  6. Untuk kolom Label, luncurkan pemilih kolom untuk memilih kolom label tunggal.

  7. Pilih satu metrik untuk digunakan saat memberi peringkat model.

    Saat Anda menjalankan sapuan parameter, semua metrik yang berlaku untuk tipe model dihitung dan dikembalikan dalam laporan Hasil Sapuan . Metrik terpisah digunakan untuk model regresi dan klasifikasi.

    Namun, metrik yang Anda pilih menentukan bagaimana peringkat model. Hanya model teratas, sebagaimana diberi peringkat oleh metrik yang dipilih, adalah output sebagai model terlatih untuk digunakan dalam penilaian.

  8. Untuk Benih acak, ketik angka yang akan digunakan saat menginsialisasi sapuan parameter.

    Jika Anda melatih model yang mendukung sapuan parameter terintegrasi, Anda juga dapat mengatur berbagai nilai benih untuk digunakan dan berulang di atas benih acak juga. Ini dapat berguna untuk menghindari bias yang diperkenalkan oleh pemilihan benih.

  9. Jalankan eksperimen.

Hasil penyesuaian hiper-parameter

Saat pelatihan selesai:

  • Untuk melihat sekumpulan metrik akurasi untuk model terbaik, klik kanan modul, pilih Sapu hasil, lalu pilih Visualisasikan.

    Semua metrik akurasi yang berlaku untuk jenis model adalah output, tetapi metrik yang Anda pilih untuk peringkat menentukan model mana yang dianggap "terbaik". Metrik dihasilkan hanya untuk model peringkat teratas.

  • Untuk melihat pengaturan yang diturunkan untuk model "terbaik", klik kanan modul, pilih Model terbaik terlatih, lalu klik Visualisasikan. Laporan ini mencakup pengaturan parameter dan bobot fitur untuk kolom input.

  • Untuk menggunakan model untuk mencetak gol dalam eksperimen lain, tanpa harus mengulangi proses penyetelan, klik kanan output model dan pilih Simpan sebagai Model Terlatih.

Lakukan validasi silang dengan sapuan parameter

Bagian ini menjelaskan cara menggabungkan sapuan parameter dengan validasi silang. Proses ini memakan waktu lebih lama, tetapi Anda dapat menentukan jumlah lipatan, dan Anda mendapatkan jumlah maksimum informasi tentang dataset Anda dan model yang mungkin.

  1. Tambahkan modul Partisi dan Sampel ke eksperimen Anda, dan hubungkan data pelatihan.

  2. Pilih opsi Tetapkan ke Lipatan dan tentukan beberapa jumlah lipatan untuk membagi data menjadi. Jika Anda tidak menentukan angka, secara default 10 lipatan digunakan. Baris dibagi secara acak ke dalam lipatan ini, tanpa penggantian.

  3. Untuk menyeimbangkan pengambilan sampel pada beberapa kolom, atur pemisahan Bertingkat ke TRUE, lalu pilih kolom strata. Misalnya, jika Anda memiliki himpunan data yang tidak seimbang, Anda mungkin ingin membagi himpunan data sehingga setiap lipatan mendapat jumlah kasus minoritas yang sama.

  4. Tambahkan modul Tune Model Hyperparameters ke eksperimen Anda.

  5. Koneksi salah satu modul pembelajaran mesin dalam kategori ini ke input kiri Tune Model Hyperparameters.

  6. Di panel Properti untuk pelajar, atur opsi Buat mode pelatih ke Rentang Parameter dan gunakan Pembuat Rentang untuk menentukan rentang nilai yang akan digunakan dalam sapuan parameter.

    Anda tidak perlu menentukan rentang untuk semua nilai. Anda dapat mengatur nilai secara manual untuk beberapa parameter, lalu menyapu parameter yang tersisa. Ini mungkin menghemat waktu.

    Untuk daftar peserta didik yang tidak mendukung opsi ini, lihat bagian Catatan Teknis .

  7. Koneksi output Partisi dan Sampel ke input himpunan data Pelatihan berlabel dari Tune Model Hyperparameters.

  8. Secara opsional, Anda dapat menghubungkan himpunan data validasi ke input paling kanan Tune Model Hyperparameters. Untuk validasi silang, Anda hanya memerlukan himpunan data pelatihan.

  9. Di panel PropertiTune Model Hyperparameters, tunjukkan apakah Anda ingin melakukan sapuan acak atau sapuan kisi. Sapuan grid sangat lengkap, tetapi lebih memakan waktu. Pencarian parameter acak bisa mendapatkan hasil yang baik tanpa mengambil begitu banyak waktu.

    Jumlah maksimum berjalan pada sapuan acak: Jika Anda memilih sapuan acak, Anda dapat menentukan berapa kali model harus dilatih, menggunakan kombinasi acak dari nilai parameter.

    Jumlah maksimum berjalan pada grid acak: Opsi ini juga mengontrol jumlah iterasi melalui pengambilan sampel acak nilai parameter, tetapi nilainya tidak dihasilkan secara acak dari rentang yang ditentukan; Sebaliknya, matriks dibuat dari semua kemungkinan kombinasi nilai parameter dan pengambilan sampel acak diambil alih matriks. Metode ini lebih efisien dan kurang rentan terhadap oversampling regional atau undersampling.

    Tip

    Untuk diskusi yang lebih mendalam tentang opsi ini, lihat bagian Catatan teknis .

  10. Pilih satu kolom label.

  11. Pilih satu metrik untuk digunakan dalam menentukan peringkat model. Banyak metrik dihitung, jadi pilih yang paling penting untuk digunakan dalam memesan hasilnya.

  12. Untuk Benih acak, ketik angka yang akan digunakan saat menginsialisasi sapuan parameter.

    Jika Anda melatih model yang mendukung sapuan parameter terintegrasi, Anda juga dapat mengatur berbagai nilai benih untuk digunakan dan berulang di atas benih acak juga. Ini opsional, tetapi dapat berguna untuk menghindari bias yang diperkenalkan oleh pemilihan benih.

  13. Tambahkan modul Model Validasi Silang . Koneksi output Partisi dan Sampel ke input Dataset, dan hubungkan output Tune Model Hyperparameters ke input model yang tidak terlatih.

  14. Jalankan eksperimen.

Hasil validasi silang

Ketika validasi silang selesai:

  • Untuk melihat hasil evaluasi, klik kanan modul, pilih Hasil evaluasi dengan lipatan, lalu pilih Visualisasikan.

    Metrik akurasi dihitung dari pass validasi silang, dan mungkin sedikit berbeda tergantung pada berapa banyak lipatan yang Anda pilih.

  • Untuk melihat bagaimana himpunan data dibagi, dan bagaimana model "terbaik" akan mencetak setiap baris dalam himpunan data, klik kanan modul, pilih Hasil yang Dinilai, lalu pilih Visualisasikan.

  • Jika Anda menyimpan himpunan data ini untuk digunakan kembali nanti, tugas lipat dipertahankan. Misalnya, datsaet yang disimpan mungkin terlihat seperti ini:

    Lipat tugas Kelas Usia(kolom fitur pertama)
    2 0 35
    1 1 17
    3 0 62
  • Untuk mendapatkan pengaturan parameter untuk model "terbaik", klik kanan Tune Model Hyperparameters

Contoh

Untuk contoh bagaimana modul ini digunakan, lihat Galeri AI Azure:

Catatan teknis

Bagian ini berisi detail implementasi, tips, dan jawaban atas pertanyaan yang sering diajukan.

Cara kerja pembersihan parameter

Bagian ini menjelaskan cara kerja sapuan parameter secara umum, dan bagaimana opsi dalam modul ini berinteraksi.

Saat Anda menyiapkan sapuan parameter, Anda menentukan cakupan pencarian Anda, untuk menggunakan sejumlah parameter terbatas yang dipilih secara acak, atau pencarian lengkap atas ruang parameter yang Anda tentukan.

  • Sapuan acak: Opsi ini melatih model menggunakan sejumlah iterasi.

    Anda menentukan rentang nilai yang akan diulangi, dan modul menggunakan subset nilai yang dipilih secara acak. Nilai dipilih dengan pengganti, yang berarti bahwa angka yang sebelumnya dipilih secara acak tidak dihapus dari kumpulan angka yang tersedia. Dengan demikian, kemungkinan nilai apa pun yang dipilih tetap sama di semua lintasan.

  • Penyisiran grid: Opsi ini membuat matriks, atau kisi, yang mencakup setiap kombinasi parameter dalam rentang nilai yang Anda tentukan. Saat Anda mulai menyetel dengan modul ini, beberapa model dilatih menggunakan kombinasi parameter ini.

  • Seluruh grid: Opsi untuk menggunakan seluruh grid berarti hanya itu: masing-masing dan setiap kombinasi diuji. Opsi ini dapat dianggap yang paling menyeluruh, tetapi membutuhkan waktu paling banyak.

  • Kisi acak: Jika Anda memilih opsi ini, matriks semua kombinasi dihitung dan nilai diambil sampelnya dari matriks, di atas jumlah iterasi yang Anda tentukan.

    Penelitian terbaru menunjukkan bahwa sapuan acak dapat berkinerja lebih baik daripada sapuan grid.

Mengontrol panjang dan kompleksitas pelatihan

Pengulangan atas banyak kombinasi pengaturan dapat memakan waktu, sehingga modul menyediakan beberapa cara untuk membatasi proses:

  • Batasi jumlah iterasi yang digunakan untuk menguji model
  • Batasi ruang parameter
  • Batasi numer iterasi dan ruang parameter

Kami menyarankan Anda bereksperimen dengan pengaturan untuk menentukan metode pelatihan yang paling efisien pada dataset dan model tertentu.

Memilih metrik evaluasi

Laporan yang berisi keakuratan untuk setiap model disajikan di akhir sehingga Anda dapat meninjau hasil metrik. Satu set metrik seragam digunakan untuk semua model klasifikasi, dan serangkaian metrik yang berbeda digunakan untuk model regresi. Namun, selama pelatihan, Anda harus memilih satu metrik untuk digunakan dalam peringkat model yang dihasilkan selama proses penyetelan. Anda mungkin menemukan bahwa metrik terbaik bervariasi, tergantung pada masalah bisnis Anda, dan biaya positif palsu dan negatif palsu.

Untuk informasi selengkapnya, lihat Cara mengevaluasi performa model di Pembelajaran Mesin

Metrik yang digunakan untuk klasifikasi

  • Ketepatan Proporsi hasil yang benar untuk total kasus.

  • Presisi Proporsi hasil yang benar untuk hasil positif.

  • Ingat Sebagian kecil dari semua hasil yang benar atas semua hasil.

  • F-skor Ukuran yang menyeimbangkan presisi dan penarikan kembali.

  • AUC Nilai yang mewakili area di bawah kurva ketika positif palsu diplot pada sumbu x dan positif sejati diplot pada sumbu y.

  • Kehilangan Log Rata-rata Perbedaan antara dua distribusi probabilitas: yang benar, dan yang ada dalam model.

  • Kehilangan Log Kereta Api Peningkatan yang diberikan oleh model atas prediksi acak.

Metrik yang digunakan untuk regresi

  • Berarti kesalahan absolut Rata-rata semua kesalahan dalam model, di mana kesalahan berarti jarak nilai yang diprediksi dari nilai sebenarnya. Sering disingkat mae.

  • Akar kesalahan kuadrat rata-rata Mengukur rata-rata kuadrat kesalahan, dan kemudian mengambil akar nilai itu. Sering disingkat rmse

  • Kesalahan absolut relatif Mewakili kesalahan sebagai persentase dari nilai sebenarnya.

  • Kesalahan kuadrat relatif Menormalkan total kesalahan kuadrat dengan membagi dengan total kesalahan kuadrat dari nilai yang diprediksi.

  • Koefisien penentuan Satu angka yang menunjukkan seberapa baik data sesuai dengan model. Nilai 1 berarti bahwa model persis sesuai dengan data; nilai 0 berarti bahwa data tersebut acak atau tidak dapat disesuaikan dengan model. Sering disebut sebagai r2, R2, atau r-kuadrat.

Modul yang tidak mendukung sapuan parameter

Hampir semua pelajar di Pembelajaran Mesin mendukung validasi silang dengan sapuan parameter terintegrasi, yang memungkinkan Anda memilih parameter untuk bereksperimen. Jika pelajar tidak mendukung pengaturan rentang nilai, Anda masih bisa menggunakannya dalam validasi silang. Dalam hal ini, beberapa rentang nilai yang diizinkan dipilih untuk sapuan.

Peserta didik berikut tidak mendukung pengaturan rentang nilai untuk digunakan dalam sapuan parameter:

Input yang diharapkan

Nama Jenis Deskripsi
Model tak terlatih Antarmuka ILearner Model yang tidak terlatih untuk sapuan parameter
Himpunan data pelatihan Tabel Data Data data input untuk pelatihan
Himpunan data validasi Tabel Data Input himpunan data untuk validasi (untuk mode validasi Train/Test). Input ini bersifat opsional.

Parameter modul

Nama Rentang Jenis Default Deskripsi
Tentukan mode penyapuan parameter Daftar Metode Sapu Sapuan acak Sapu seluruh kisi pada ruang parameter, atau sapu dengan menggunakan jumlah sampel yang terbatas
Jumlah maksimum berjalan pada sapuan acak [1;10000] Bilangan bulat 5 Jalankan jumlah maksimum eksekusi menggunakan sapuan acak
Benih acak apa pun Bilangan bulat 0 Memberikan nilai untuk menyemai generator angka acak
Kolom label apa pun Pilihan Kolom Kolom label
Metrik untuk mengukur kinerja untuk klasifikasi Daftar Tipe Metrik Klasifikasi Biner Akurasi Pilih metrik yang digunakan untuk mengevaluasi model klasifikasi
Metrik untuk mengukur performa untuk regresi Daftar Tipe RegresiMetrik Berarti kesalahan absolut Pilih metrik yang digunakan untuk mengevaluasi model regresi

Output

Nama Jenis Deskripsi
Hasil sapu Tabel Data Metrik hasil untuk menjalankan sapuan parameter
Model terbaik yang terlatih Antarmuka ILearner Model dengan kinerja terbaik pada himpunan data pelatihan

Lihat juga

Daftar Modul A-Z
Berlatih
Model Validasi Silang