Bagikan melalui


Regresi Jaringan Saraf

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.

Membuat model regresi menggunakan algoritma jaringan neural

Kategori: Pembelajaran Mesin / Inisialisasi Model / Regresi

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 Regresi Jaringan Saraf di Pembelajaran Mesin Studio (klasik), untuk membuat model regresi menggunakan algoritme jaringan saraf yang dapat disesuaikan.

Meskipun jaringan neural dikenal luas untuk digunakan dalam pembelajaran mendalam dan pemodelan masalah kompleks seperti pengenalan gambar, jaringan neural mudah beradaptasi dengan masalah regresi. Setiap kelas model statistik dapat disebut jaringan neural jika menggunakan bobot adaptif dan dapat memperkirakan fungsi non-linier input mereka. Regresi jaringan neural cocok untuk masalah di mana model regresi yang lebih tradisional tidak sesuai dengan solusi.

Regresi jaringan neural adalah metode pembelajaran yang diawasi, dan karenanya memerlukan himpunan data yang diberi tag, yang menyertakan kolom label. Karena model regresi memprediksi nilai numerik, kolom label harus berjenis data numerik.

Anda dapat melatih model dengan menyediakan model dan himpunan data yang ditandai sebagai input ke Train Model atau Tune Model Hyperparameters. Model terlatih kemudian dapat digunakan untuk memprediksi nilai untuk contoh input baru.

Cara mengkonfigurasi Regresi Jaringan Saraf

Jaringan neural dapat dikustomisasi secara luas. Bagian ini menjelaskan cara membuat model menggunakan dua metode:

  • Membuat model jaringan neural menggunakan arsitektur default

    Jika Anda menerima arsitektur jaringan saraf default, gunakan panel Properti untuk mengatur parameter yang mengontrol perilaku jaringan saraf, seperti jumlah node di lapisan tersembunyi, tingkat pembelajaran, dan normalisasi.

    Mulai di sini jika Anda baru menggunakan jaringan neural. Modul ini mendukung banyak kustomisasi, serta penyetelan model, tanpa pengetahuan mendalam tentang jaringan neural.

  • Menentukan arsitektur kustom untuk jaringan neural

    Gunakan opsi ini jika Anda ingin menambahkan lapisan tersembunyi ekstra, atau sepenuhnya mengustomisasi arsitektur jaringan, koneksi, dan fungsi pengaktifan.

    Opsi ini yang terbaik jika Anda sudah cukup terbiasa dengan jaringan neural. Anda menggunakan bahasa Net# untuk menentukan arsitektur jaringan.

Membuat model jaringan neural menggunakan arsitektur default

  1. Tambahkan modul Regresi Jaringan Saraf ke eksperimen Anda di Studio (klasik). Anda dapat menemukan modul ini di bawah Pembelajaran Mesin, Inisialisasi, dalam kategori Regresi.

  2. Tentukan bagaimana Anda ingin model dilatih dengan mengatur opsi Buat mode pelatih.

    • Parameter Tunggal: Pilih opsi ini jika Anda sudah tahu bagaimana Anda akan mengonfigurasi model.

    • Rentang Parameter: Pilih opsi ini jika Anda tidak yakin dengan parameter terbaik. Kemudian, tentukan rentang nilai dan gunakan modul Tune Model Hyperparameters untuk berulang atas kombinasi dan temukan konfigurasi optimal.

  3. Dalam Spesifikasi lapisan tersembunyi, pilih Casing yang terhubung sepenuhnya. Opsi ini membuat model menggunakan arsitektur jaringan neural default, yang untuk model regresi jaringan neural, memiliki atribut berikut:

    • Jaringan hanya memiliki satu lapisan tersembunyi.
    • Lapisan output sepenuhnya terhubung ke lapisan tersembunyi dan lapisan tersembunyi sepenuhnya terhubung ke lapisan input.
    • Jumlah simpul di lapisan tersembunyi dapat diatur oleh pengguna (nilai default adalah 100).

    Karena jumlah simpul dalam lapisan input ditentukan oleh jumlah fitur dalam data pelatihan, dalam model regresi hanya ada satu node di lapisan output.

  4. Untuk Jumlah simpul tersembunyi, ketikkan jumlah simpul tersembunyi. Opsi default satu lapisan tersembunyi memiliki 100 node. (Opsi ini tidak tersedia jika Anda menentukan arsitektur kustom menggunakan Net#.)

  5. Untuk Tingkat pembelajaran, ketikkan nilai yang menentukan langkah yang diambil pada setiap perulangan, sebelum koreksi. Nilai yang lebih besar untuk tingkat pembelajaran dapat menyebabkan model bersatu lebih cepat, tetapi dapat melampaui minimum lokal.

  6. Untuk Jumlah perulangan pembelajaran, tentukan jumlah maksimal berapa kali algoritma memproses kasus pelatihan.

  7. Untuk Diameter bobot pembelajaran awal , ketik nilai yang menentukan bobot simpul pada awal proses pembelajaran.

  8. Untuk momentum, ketik nilai yang akan diterapkan selama pembelajaran sebagai bobot pada simpul dari perulangan sebelumnya.

  9. Untuk Jenis normalisasi, pilih salah satu metode berikut yang digunakan untuk normalisasi fitur:

    • Binning normalizer: Binning menciptakan kelompok dengan ukuran yang sama, dan kemudian menormalkan setiap nilai di setiap kelompok untuk dibagi dengan jumlah total kelompok.

    • Normalisasi Gaussian: Normalisasi Gaussian mengubah nilai setiap fitur memiliki rata-rata 0 dan varians 1. Hal ini dilakukan dengan menghitung mean dan varians dari setiap fitur, dan kemudian, untuk setiap instance, mengurangi nilai rata-rata dan membagi dengan akar kuadrat dari varians (deviasi standar).

    • Normalisasi Min-Max: Normalisasi Min-max secara linier mengubah skala setiap fitur ke interval [0,1].

      Penghitungan ulang ke interval [0,1] dilakukan dengan menggeser nilai setiap fitur sehingga nilai minimal adalah 0, dan kemudian membagi dengan nilai maksimal baru (yang merupakan perbedaan antara nilai maksimal dan minimal asli).

    • Jangan normalisasi: Tidak ada normalisasi yang dilakukan.

  10. Pilih opsi, Acak sampel, untuk mengubah urutan kasus di antara perulangan. Jika Anda membatalkan pilihan opsi ini, kasus diproses dalam urutan yang persis sama setiap kali Anda menjalankan eksperimen.

  11. Untuk Seed angka acak, Anda dapat secara opsional mengetikkan nilai untuk digunakan sebagai benih. Menentukan nilai benih berguna ketika Anda ingin memastikan pengulangan di seluruh menjalankan eksperimen yang sama.

  12. Pilih opsi Izinkan level kategoris yang tidak diketahui untuk membuat pengelompokan untuk nilai yang tidak diketahui. Model ini mungkin kurang tepat pada nilai yang diketahui tetapi memberikan prediksi yang lebih baik untuk nilai baru (tidak diketahui).

    Jika Anda membatalkan pilihan opsi ini, model hanya dapat menerima nilai yang terdapat dalam data pelatihan.

  13. Koneksi datset pelatihan dan salah satu modul pelatihan:

    Peringatan

    Jika Anda meneruskan rentang parameter ke Model Kereta Api, ini hanya menggunakan nilai pertama dalam daftar rentang parameter.

    Jika Anda meneruskan satu set nilai parameter ke modul Tune Model Hyperparameters, saat mengharapkan rentang pengaturan untuk setiap parameter, ini mengabaikan nilai dan menggunakan nilai default untuk orang yang belajar.

    Jika Anda memilih opsi Rentang Parameter dan memasukkan satu nilai untuk parameter apa pun, nilai tunggal yang Anda tentukan digunakan di seluruh sapuan, bahkan jika parameter lain berubah di berbagai nilai.

  14. Jalankan eksperimen.

Menentukan arsitektur kustom

  1. Tambahkan modul Regresi Jaringan Saraf ke eksperimen Anda.

  2. Tentukan bagaimana Anda ingin model dilatih dengan mengatur opsi Buat mode pelatih.

    • Parameter Tunggal: Pilih opsi ini jika Anda sudah tahu bagaimana Anda akan mengonfigurasi model.

    • Rentang Parameter: Pilih opsi ini jika Anda tidak yakin dengan parameter terbaik. Kemudian, tentukan rentang nilai dan gunakan modul Tune Model Hyperparameters untuk berulang atas kombinasi dan temukan konfigurasi optimal.

  3. Dalam Spesifikasi lapisan tersembunyi, pilih Skrip definisi kustom. Anda harus memilih opsi ini jika Anda ingin menentukan arsitektur jaringan saraf kustom dengan menggunakan bahasa Net# .

  4. Setelah Anda memilih opsi Skrip definisi kustom, kotak teks definisi jaringan neural ditampilkan. Anda dapat menempelkan dalam skrip Net# untuk menentukan arsitektur khusus untuk jaringan saraf, termasuk jumlah lapisan tersembunyi, koneksinya, dan opsi lanjutan seperti menentukan pemetaan antar lapisan.

  5. Untuk Tingkat pembelajaran, ketikkan nilai yang menentukan langkah yang diambil pada setiap perulangan, sebelum koreksi. Nilai yang lebih besar untuk tingkat pembelajaran dapat menyebabkan model bersatu lebih cepat, tetapi dapat melampaui minimum lokal.

  6. Untuk Jumlah perulangan pembelajaran, tentukan jumlah maksimal berapa kali algoritma memproses kasus pelatihan.

  7. Untuk Diameter bobot pembelajaran awal , ketik nilai yang menentukan bobot simpul pada awal proses pembelajaran.

  8. Untuk momentum, ketik nilai yang akan diterapkan selama pembelajaran sebagai bobot pada simpul dari perulangan sebelumnya.

  9. Untuk Jenis normalisasi, pilih salah satu metode berikut yang digunakan untuk normalisasi fitur:

    • Binning normalizer: Binning menciptakan kelompok dengan ukuran yang sama, dan kemudian menormalkan setiap nilai di setiap kelompok, dengan membagi dengan jumlah total kelompok.

    • Normalisasi Gaussian: Normalisasi Gaussian mengubah nilai setiap fitur memiliki rata-rata 0 dan varians 1. Hal ini dilakukan dengan menghitung mean dan varians dari setiap fitur, dan kemudian, untuk setiap instance, mengurangi nilai rata-rata dan membagi dengan akar kuadrat dari varians (deviasi standar).

    • Min-Max: Normalisasi Min-max secara linier mengubah skala setiap fitur ke interval [0,1].

      Penghitungan ulang ke interval [0,1] dilakukan dengan menggeser nilai setiap fitur sehingga nilai minimal adalah 0, dan kemudian membagi dengan nilai maksimal baru (yang merupakan perbedaan antara nilai maksimal dan minimal asli).

    • Jangan normalisasi: Tidak ada normalisasi yang dilakukan.

  10. Pilih opsi, Acak sampel, untuk mengubah urutan kasus di antara perulangan. Jika Anda membatalkan pilihan opsi ini, kasus diproses dalam urutan yang persis sama setiap kali Anda menjalankan eksperimen.

  11. Untuk Seed angka acak, Anda dapat secara opsional mengetikkan nilai untuk digunakan sebagai benih. Menentukan nilai benih berguna ketika Anda ingin memastikan pengulangan di seluruh menjalankan eksperimen yang sama.

  12. Pilih opsi Izinkan level kategoris yang tidak diketahui untuk membuat pengelompokan untuk nilai yang tidak diketahui. Setiap nilai yang tidak diketahui dalam kumpulan data pengujian dipetakan ke kategori yang tidak diketahui ini. Menggunakan opsi ini mungkin membuat model sedikit kurang tepat pada nilai yang diketahui tetapi memberikan prediksi yang lebih baik untuk nilai baru (tidak diketahui).

    Jika Anda membatalkan pilihan opsi ini, model hanya dapat membuat prediksi untuk nilai yang terkandung dalam data pelatihan.

  13. Koneksi datset pelatihan dan salah satu modul pelatihan:

    Peringatan

    Jika Anda meneruskan rentang parameter ke Train Model, itu hanya akan menggunakan nilai pertama dalam daftar rentang parameter.

    Jika Anda meneruskan satu set nilai parameter ke modul Tune Model Hyperparameters , ketika mengharapkan berbagai pengaturan untuk setiap parameter, ia mengabaikan nilai dan menggunakan nilai default untuk pelajar.

    Jika Anda memilih opsi Rentang Parameter dan memasukkan satu nilai untuk parameter apa pun, nilai tunggal yang Anda tentukan akan digunakan sepanjang sapuan, bahkan jika parameter lain berubah di berbagai nilai.

  14. Jalankan eksperimen.

Hasil

Setelah pelatihan selesai:

  • Untuk melihat ringkasan parameter model, bersama dengan bobot fitur yang dipelajari dari pelatihan, dan parameter lain dari jaringan saraf, klik kanan output Train Model atau Tune Model Hyperparameters, dan pilih Visualisasikan.

  • Untuk menyimpan snapshot dari model terlatih, klik kanan output model Terlatih dan pilih Simpan Sebagai Model Terlatih. Model ini tidak diperbarui pada putaran berturut-turut dari eksperimen yang sama.

  • Untuk melakukan validasi silang terhadap kumpulan data berlabel, hubungkan model yang tidak dibatasi ke Model Validasi Silang.

Contoh

Untuk contoh bagaimana algoritme ini digunakan dalam eksperimen, lihat sampel ini di Azure AI Gallery:

Eksperimen memberikan lebih banyak bantuan di Net #. Eksperimen terkait dan kemajuan dari konfigurasi dasar ke lanjutan:

Catatan teknis

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

Lebih lanjut tentang Net #

Di Pembelajaran Mesin Studio (klasik), Anda dapat menyesuaikan arsitektur model jaringan saraf dengan menggunakan bahasa Net#. Kustomisasi yang didukung oleh bahasa Net# meliputi:

  • Menentukan jumlah lapisan tersembunyi dan jumlah node di setiap lapisan
  • Menentukan pemetaan antar lapisan
  • Mendefinisikan konvolusi dan bundel pembagian berat badan
  • Memilih fungsi aktivasi

Model jaringan saraf didefinisikan oleh struktur grafiknya, yang mencakup atribut-atribut ini:

  • Jumlah lapisan tersembunyi
  • Jumlah node di setiap lapisan tersembunyi
  • Bagaimana lapisan terhubung
  • Fungsi aktivasi mana yang digunakan
  • Bobot pada tepi grafik

Penting

Struktur keseluruhan grafik, serta fungsi aktivasi, dapat ditentukan oleh pengguna. Namun, bobot di tepi tidak dapat ditentukan, dan harus dipelajari saat melatih jaringan saraf pada data input.

Secara umum, jaringan memiliki default ini:

  • Lapisan pertama selalu merupakan lapisan input.
  • Lapisan terakhir selalu lapisan output.
  • Jumlah node dalam lapisan output harus sama dengan jumlah kelas.

Anda dapat menentukan sejumlah lapisan perantara (kadang-kadang disebut lapisan tersembunyi, karena mereka terkandung dalam model, dan mereka tidak langsung diekspos sebagai titik akhir).

Panduan referensi Net# menjelaskan sintaks dan menyediakan definisi jaringan sampel. Ini menjelaskan bagaimana Anda dapat menggunakan Net # untuk menambahkan lapisan tersembunyi dan menentukan cara lapisan yang berbeda berinteraksi satu sama lain.

Misalnya, skrip berikut menggunakan auto kata kunci, yang menetapkan jumlah fitur secara otomatis untuk lapisan input dan output, dan menggunakan nilai default untuk lapisan tersembunyi.

input Data auto;  
hidden Hidden auto from Data all;  
output Result auto from Hidden all;   

Untuk contoh skrip tambahan, lihat Panduan untuk Bahasa Spesifikasi Jaringan Saraf Net#.

Tip

Jaringan saraf dapat menjadi komputasi mahal, karena sejumlah hiperparameter dan pengenalan topologi jaringan kustom. Meskipun dalam banyak kasus jaringan saraf menghasilkan hasil yang lebih baik daripada algoritma lain, memperoleh hasil tersebut mungkin melibatkan cukup banyak sweeping (iterasi) atas hiperparameter.

Parameter modul

Nama Rentang Jenis Default Deskripsi
Spesifikasi lapisan tersembunyi Daftar Topologi Jaringan Saraf Casing yang terhubung sepenuhnya Tentukan arsitektur lapisan atau lapisan tersembunyi
Diameter bobot pembelajaran awal >=ganda. Epsilon Mengambang 0.1 Tentukan bobot simpul pada awal proses pembelajaran
Tingkat pembelajaran [ganda. Epsilon;0,01] Mengambang 0,005 Tentukan ukuran setiap langkah dalam proses pembelajaran
Momentum [0.0;1.0] Mengambang 0.0 Tentukan bobot yang akan diterapkan selama pembelajaran ke node dari iterasi sebelumnya
Definisi jaringan saraf Semua StreamReader Saat Anda memilih "Skrip definisi kustom", ketik ekspresi skrip yang valid pada setiap baris untuk menentukan lapisan, simpul, dan perilaku jaringan saraf kustom
Jenis normalisasi Daftar Metode Normalisasi Min-Max normalisasi Pilih jenis normalisasi yang akan diterapkan pada contoh pembelajaran
Jumlah node tersembunyi Semua String 100 Ketik jumlah node di lapisan tersembunyi. Untuk beberapa lapisan tersembunyi, ketik daftar yang dipisahkan koma.
Jumlah iterasi pembelajaran >=1 Bilangan bulat 100 Tentukan jumlah iterasi saat belajar
Mengocok contoh Apa pun Boolean TRUE Pilih opsi ini untuk mengubah urutan instans di antara iterasi pembelajaran
Benih angka acak Apa pun Bilangan bulat Tentukan benih numerik yang akan digunakan untuk pembuatan angka acak. Biarkan kosong untuk menggunakan benih default.

Parameter ini bersifat opsional
Izinkan level kategoris yang tidak diketahui Apa pun Boolean TRUE Tunjukkan apakah level tambahan harus dibuat untuk kategori yang tidak diketahui. Jika himpunan data pengujian berisi kategori yang tidak ada dalam himpunan data pelatihan, kumpulan data pengujian, kumpulan data pengujian akan dipetakan ke tingkat yang tidak diketahui ini.

Output

Nama Jenis Deskripsi
Model tak terlatih Antarmuka ILearner Model regresi yang tidak terlatih

Lihat juga

Regresi
Daftar Modul A-Z