Jaringan Saraf Dua Kelas
Membuat pengklasifikasi biner menggunakan algoritma jaringan saraf
Kategori: Pembelajaran Mesin / Inisialisasi Model / Klasifikasi
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 Jaringan Saraf Dua Kelas di Pembelajaran Mesin Studio (klasik), untuk membuat model jaringan saraf yang dapat digunakan untuk memprediksi target yang hanya memiliki dua nilai.
Klasifikasi yang menggunakan jaringan neural adalah metode pembelajaran yang diawasi, dan karenanya memerlukan himpunan data yang diberi tag yang menyertakan kolom label. Misalnya, Anda dapat menggunakan model jaringan neural ini untuk memprediksi hasil biner seperti apakah pasien memiliki penyakit tertentu atau tidak, atau apakah komputer mengalami kegagalan dalam periode waktu tertentu.
Setelah Anda menentukan model, latih dengan menyediakan himpunan data yang ditandai dan model sebagai input ke Train Model atau untuk Tune Model Hyperparameters. Model terlatih kemudian dapat digunakan untuk memprediksi nilai untuk contoh input baru.
Selebihnya tentang jaringan neural
Jaringan neural adalah satu set lapisan yang saling terhubung. Input adalah lapisan pertama, dan terhubung ke lapisan output oleh grafik acyclic yang terdiri dari tepi dan node tertimbang.
Di antara lapisan input dan output, Anda dapat memasukkan beberapa lapisan tersembunyi. Sebagian besar tugas prediktif dapat diselesaikan dengan mudah hanya dengan satu atau beberapa lapisan tersembunyi. Namun, penelitian terbaru telah menunjukkan bahwa jaringan saraf dalam (DNN) dengan banyak lapisan bisa sangat efektif dalam tugas-tugas kompleks seperti pengenalan gambar atau ucapan. Lapisan berturut-turut digunakan untuk memodelkan peningkatan tingkat kedalaman semantik.
Hubungan antara input dan output dipelajari dari pelatihan jaringan neural pada data input. Arah grafik berlanjut dari input melalui lapisan tersembunyi dan ke lapisan output. Semua node dalam lapisan dihubungkan oleh tepi tertimbang ke node di lapisan berikutnya.
Untuk menghitung output jaringan untuk input tertentu, nilai dihitung pada setiap node di lapisan tersembunyi dan di lapisan output. Nilai diatur dengan menghitung jumlah tertimbang dari nilai node dari lapisan sebelumnya. Fungsi aktivasi kemudian diterapkan ke jumlah tertimbang tersebut.
Cara mengonfigurasi Two-Class Neural Network
Tambahkan modul Jaringan Saraf Dua Kelas ke eksperimen Anda di Studio (klasik). Anda dapat menemukan modul ini di bagian Pembelajaran Mesin, Inisialisasi, dalam kategori Klasifikasi.
Tentukan bagaimana Anda ingin melatih model 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.
Untuk spesifikasi lapisan tersembunyi, pilih jenis arsitektur jaringan untuk dibuat.
Kasus yang terhubung sepenuhnya: Menggunakan arsitektur jaringan saraf default, yang didefinisikan untuk jaringan saraf dua kelas sebagai berikut:
Memiliki satu lapisan tersembunyi.
Lapisan output sepenuhnya terhubung ke lapisan tersembunyi dan lapisan tersembunyi sepenuhnya terhubung ke lapisan input.
Jumlah node dalam lapisan input yang setara jumlah fitur dalam data pelatihan.
Jumlah node di lapisan tersembunyi diatur oleh pengguna. Nilai defaultnya adalah 100.
Jumlah node sama dengan jumlah kelas. Untuk jaringan neural dua kelas, ini berarti semua input harus memetakan ke salah satu dari dua node di lapisan output.
Skrip definisi kustom: Pilih opsi ini untuk membuat arsitektur jaringan saraf kustom, menggunakan bahasa Net#. Dengan opsi ini, Anda dapat menentukan jumlah lapisan tersembunyi, koneksinya, dan pemetaan antar lapisan.
Setelah memilih opsi skrip kustom, dalam kotak teks definisi jaringan Neural , ketik atau tempelkan pernyataan Net# yang menentukan jaringan. Sebagai contoh, lihat Panduan untuk Bahasa Spesifikasi Jaringan Saraf Net # .
Jika Anda tidak menggunakan opsi skrip, gunakan Jumlah node tersembunyi, dan ketik jumlah node tersembunyi. Opsi default satu lapisan tersembunyi memiliki 100 node.
Untuk Tingkat pembelajaran, tentukan ukuran langkah yang diambil pada setiap iterasi, sebelum koreksi. Nilai yang lebih besar untuk tingkat pembelajaran dapat menyebabkan model berkumpul lebih cepat, tetapi dapat melampaui minimum lokal.
Untuk Jumlah iterasi pembelajaran, tentukan jumlah maksimal algoritme harus memproses kasus pelatihan.
Untuk Diameter bobot pembelajaran awal, tentukan bobot node pada awal proses pembelajaran.
Untuk momentum, tentukan bobot yang akan diterapkan selama pembelajaran ke node dari iterasi sebelumnya
Di Jenis normalisasi, pilih metode yang akan digunakan untuk normalisasi fitur. Metode normalisasi berikut didukung:
Binning normalizer: Binning normalizer menciptakan tempat sampah dengan ukuran yang sama, dan kemudian menormalkan setiap nilai di setiap tempat sampah, dibagi dengan jumlah total tempat sampah.
Normalisasi Gaussian: Normalisasi Gaussian mengubah nilai setiap fitur memiliki rata-rata 0 dan varians 1. Ini dilakukan dengan menghitung rata-rata dan varians dari setiap fitur. Untuk setiap contoh, nilai rata-rata dikurangi, dan hasilnya dibagi 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.
Pilih opsi Contoh acak untuk mengacak kasus di antara iterasi. Jika Anda membatalkan pilihan opsi ini, kasus diproses dalam urutan yang persis sama setiap kali Anda menjalankan eksperimen.
Untuk Benih angka acak, ketikkan nilai yang akan digunakan sebagai benih.
Menentukan nilai benih berguna ketika Anda ingin memastikan pengulangan di seluruh menjalankan eksperimen yang sama. Jika tidak, nilai jam sistem digunakan sebagai benih, yang dapat menyebabkan hasil yang sedikit berbeda setiap kali Anda menjalankan eksperimen.
Pilih opsi Izinkan level kategoris yang tidak diketahui untuk membuat pengelompokan untuk nilai yang tidak diketahui dalam kumpulan pelatihan dan validasi. 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.
Tambahkan himpunan data yang ditandai ke eksperimen, dan hubungkan salah satu modul pelatihan.
Jika Anda mengatur Buat mode pelatih keParameter Tunggal, gunakan modul Model Kereta.
Jika Anda mengatur Buat mode pelatih ke Rentang Parameter, gunakan modul Tune Model Hyperparameters.
Catatan
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 itu digunakan sepanjang sapuan, bahkan jika parameter lain berubah di berbagai nilai.
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 pembelajaran ini digunakan, lihat Galeri AI Azure. Eksperimen ini terkait dan dijelaskan dalam satu dokumen yang berlangsung 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, mendapatkan hasil tersebut mungkin melibatkan cukup banyak sweeping (iterasi) di 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;1.0] | Mengambang | 0.1 | 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 di 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 iterasi pembelajaran | >=1 | Bilangan bulat | 100 | Tentukan jumlah iterasi yang dilakukan selama pembelajaran |
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. | |
Izinkan level kategoris yang tidak diketahui | Apa pun | Boolean | True | Menunjukkan apakah level tambahan harus dibuat untuk kategori yang tidak diketahui. Jika himpunan data pengujian berisi kategori yang tidak ada dalam himpunan data pelatihan, himpunan data tersebut dipetakan ke tingkat yang tidak diketahui ini. |
Output
Nama | Jenis | Deskripsi |
---|---|---|
Model tak terlatih | Antarmuka ILearner | Model klasifikasi biner yang tidak terlatih |
Lihat juga
Klasifikasi
Regresi Jaringan Saraf
Jaringan Neural Multi kelas
Daftar Modul A-Z