Bagikan melalui


Rekomendasi Kotak Korek Api Kereta Api

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.

Melatih rekomendasi Bayesian menggunakan algoritma Matchbox

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 Train Matchbox Recommender di Pembelajaran Mesin Studio (klasik), untuk melatih model rekomendasi.

Algoritma rekomendasi dalam Pembelajaran Mesin didasarkan pada model Matchbox, yang dikembangkan oleh Microsoft Research. Untuk mengunduh makalah yang menjelaskan algoritme secara rinci, klik tautan ini di situs Microsoft Research.

Modul Train Matchbox Recommender membaca himpunan data peringkat item pengguna tiga kali lipat dan, secara opsional, beberapa fitur pengguna dan item. Ini mengembalikan rekomendasi Matchbox yang terlatih. Anda kemudian dapat menggunakan model terlatih untuk menghasilkan rekomendasi, menemukan pengguna terkait, atau menemukan item terkait, dengan menggunakan modul Score Matchbox Recommender .

Tip

Pelajari semua yang perlu Anda ketahui tentang pengalaman end-to-end membangun sistem rekomendasi dalam tutorial ini dari tim pengembangan .NET. Termasuk kode sampel dan diskusi tentang cara menelepon Pembelajaran Mesin dari aplikasi.

Membangun mesin rekomendasi untuk aplikasi .NET menggunakan Pembelajaran Mesin

Selengkapnya tentang model rekomendasi dan rekomendasi Matchbox

Tujuan utama sistem rekomendasi adalah untuk merekomendasikan satu atau beberapa item kepada pengguna sistem. Contoh item bisa berupa film, restoran, buku, atau lagu. Pengguna bisa menjadi orang, sekelompok orang, atau entitas lain dengan preferensi item.

Ada dua pendekatan utama untuk sistem pemberi rekomendasi.

  • Yang pertama adalah pendekatan berbasis konten, yang menggunakan fitur untuk pengguna dan item. Pengguna dapat dijelaskan oleh properti seperti usia dan jenis kelamin, dan item dapat dijelaskan oleh properti seperti penulis dan produsen. Contoh umum sistem rekomendasi berbasis konten dapat ditemukan di situs pencocokan sosial.
  • Pendekatan kedua adalah pemfilteran kolaboratif, yang hanya menggunakan pengidentifikasi pengguna dan item dan mendapatkan informasi implisit tentang entitas ini dari matriks peringkat (ringan) yang diberikan oleh pengguna ke item. Kita dapat mempelajari tentang pengguna dari item yang telah mereka beri peringkat dan dari pengguna lain yang telah memberi peringkat item yang sama.

Rekomendasi Matchbox menggabungkan pendekatan ini, menggunakan pemfilteran kolaboratif dengan pendekatan berbasis konten. Oleh karena itu dianggap sebagai pemberi rekomendasi hibrid.

Cara kerjanya: Jika pengguna relatif baru dalam sistem, prediksi ditingkatkan dengan memanfaatkan informasi fitur tentang pengguna, sehingga mengatasi masalah "cold-start" yang dikenal. Namun, setelah mengumpulkan cukup banyak peringkat dari pengguna tertentu, Anda dapat membuat prediksi yang sepenuhnya dipersonalisasi untuk mereka berdasarkan peringkat spesifik daripada pada fitur mereka saja. Oleh karena itu, ada transisi yang lancar dari rekomendasi berbasis konten ke rekomendasi berdasarkan pemfilteran kolaboratif. Bahkan jika fitur pengguna atau item tidak tersedia, Matchbox akan tetap bekerja dalam mode pemfilteran kolaboratifnya.

Rincian lebih lanjut tentang rekomendasi Matchbox dan algoritma probabilistik yang mendasarinya dapat ditemukan dalam makalah penelitian yang relevan: Matchbox: Large Scale Bayesian Rekomendasi Rekomendasi. Selain itu, Pembelajaran Mesin Blog memiliki artikel berjudul Rekomendasi Everywhere yang memberikan pengenalan tingkat tinggi untuk algoritma rekomendasi.

Cara mengonfigurasi Train Matchbox Recommender

Siapkan data

Sebelum mencoba menggunakan modul, penting bahwa data Anda berada dalam format yang diharapkan oleh model rekomendasi. Diperlukan himpunan data pelatihan tiga serangkai pengguna-item-peringkat, tetapi Anda juga dapat menyertakan fitur pengguna dan fitur item (jika tersedia), dalam himpunan data terpisah.

Untuk membagi data sumber menjadi himpunan data pelatihan dan pengujian, gunakan opsi Recommender Split di modul Split Data .

Set data yang diperlukan dari item-pengguna-peringkat

Sangat penting bahwa data input yang digunakan untuk pelatihan berisi jenis data yang tepat dalam format yang benar:

  • Kolom pertama harus berisi ID pengguna.
  • Kolom kedua harus berisi pengidentifikasi item.
  • Kolom ketiga berisi peringkat untuk pasangan pengguna-item. Nilai peringkat harus numerik atau kategoris.

Selama pelatihan, nilai peringkat tidak semuanya bisa sama. Selain itu, jika numerik, perbedaan antara nilai peringkat minimum dan maksimum harus kurang dari 100, dan idealnya tidak lebih besar dari 20.

Himpunan data peringkat Restoran di Pembelajaran Mesin Studio (klasik) (klik Kumpulan Data Tersimpan lalu Sampel) menunjukkan format yang diharapkan:

userID placeID Rating
U1077 135085 2
U1077 135038 2

Dari sampel ini, Anda dapat melihat bahwa satu pengguna telah menilai dua restoran terpisah.

Himpunan data fitur pengguna (opsional)

Himpunan data fitur pengguna harus berisi pengidentifikasi untuk pengguna, dan menggunakan pengidentifikasi yang sama dengan yang disediakan di kolom pertama himpunan data pengguna-item-peringkat. Kolom yang tersisa dapat berisi sejumlah fitur yang menjelaskan pengguna.

Misalnya, lihat himpunan data pelanggan Restoran di Pembelajaran Mesin Studio (klasik). Satu set fitur pengguna yang khas terlihat seperti ini:

userID Suasana Dress_preference angkut Perokok
U1004 keluarga Informal Berjalan kaki FALSE
U1005 Teman Tidak ada preferensi Pemilik mobil BENAR

Himpunan data fitur item (opsional)

Himpunan data fitur item harus berisi pengidentifikasi item di kolom pertamanya. Kolom lainnya dapat berisi sejumlah fitur deskriptif untuk item.

Sebagai contoh, lihat kumpulan data fitur Restoran, yang disediakan di Pembelajaran Mesin Studio (klasik) (klik Kumpulan Data Tersimpan lalu Sampel). Satu set fitur item yang khas (dalam hal ini, itemnya adalah restoran) mungkin terlihat seperti ini:

placeID alkohol Smoking_area harga Rambience
135106 Wine-Beer tidak ada rendah keluarga
132667 No_Alcohol_Served Diizinkan sedang Kasual

Latih model

  1. Tambahkan modul Train Matchbox Recommender ke eksperimen Anda di Studio (klasik), dan hubungkan ke data pelatihan.

  2. Jika Anda memiliki himpunan data terpisah dari fitur pengguna dan/atau fitur item, hubungkan ke modul Train Matchbox Recommender .

    • Himpunan data fitur pengguna: Sambungkan himpunan data yang menjelaskan pengguna ke input kedua.

    • Himpunan data fitur item: Sambungkan himpunan data yang menjelaskan item ke input kedua.

  3. Untuk Jumlah batch pelatihan, ketik jumlah batch untuk membagi data selama pelatihan.

    Berdasarkan nilai ini, himpunan data triple peringkat item pengguna dibagi menjadi beberapa bagian atau batch selama pelatihan.

    Karena Train Matchbox Recommender menjalankan batch secara paralel, kami merekomendasikan agar jumlah batch pelatihan diatur ke jumlah core yang tersedia, jika seluruh data pelatihan sesuai dengan memori. Jika tidak, jumlah batch pelatihan harus diatur ke kelipatan terendah dari jumlah core yang tersedia di mana data pelatihan sesuai dengan memori.

    Secara default, data pelatihan dibagi menjadi empat (4) batch. Hanya himpunan data triple peringkat item pengguna yang dibagi. Fitur pengguna atau item tidak dibagi karena fitur tidak perlu dibagi.

  4. Untuk Jumlah sifat, ketik jumlah sifat laten yang harus dipelajari untuk setiap pengguna dan item.

    Semakin tinggi jumlah sifat, semakin akurat prediksi biasanya; Namun, pelatihan akan lebih lambat. Jumlah sifat biasanya terletak pada kisaran 2 - 20.

  5. Untuk Jumlah iterasi algoritma rekomendasi, tunjukkan berapa kali algoritma harus memproses data input.

    Rekomendasi Matchbox dilatih menggunakan algoritma pengiriman pesan yang dapat berulang beberapa kali melalui data input. Semakin tinggi angka ini, semakin akurat prediksinya; Namun, pelatihan lebih lambat. Biasanya, jumlah iterasi berada di kisaran 1 - 10.

  6. Jalankan eksperimen, atau pilih hanya modul Train Matchbox Recommender dan pilih Jalankan yang dipilih.

Contoh

Untuk contoh bagaimana model rekomendasi digunakan dalam Pembelajaran Mesin, lihat eksperimen sampel ini di Galeri AI Azure:

  • Sampel rekomendasi film: Menunjukkan cara melatih, mengevaluasi, dan mencetak skor menggunakan model rekomendasi.

Catatan teknis

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

Tips penggunaan

  • Jika kolom fitur memiliki nilai yang hilang, mode nilai yang tidak hilang akan digunakan sebagai pengganti nilai yang hilang.

  • Semua fitur pengguna dan item diskalakan ulang untuk memiliki panjang satuan, sehingga nilai absolut maksimumnya adalah 1. Tidak ada terjemahan yang diterapkan pada nilai fitur, untuk menjaga sparitas mereka.

Batasan

Pembaruan online (atau pelatihan berkelanjutan) dari model rekomendasi saat ini tidak didukung dalam Pembelajaran Mesin. Jika Anda ingin menangkap respons pengguna terhadap rekomendasi dan menggunakannya untuk meningkatkan model, kami sarankan untuk melatih kembali model lengkap secara berkala. Pelatihan inkremental tidak dimungkinkan, tetapi Anda dapat menerapkan jendela geser ke data pelatihan untuk memastikan bahwa volume data diminimalkan saat menggunakan data terbaru.

Memperkirakan penggunaan memori recommender

Saat ini, batas bawah jejak memori Matchbox adalah 16 * N\(4\T + 2\R) byte, di mana N mengacu pada jumlah peringkat item pengguna tiga kali lipat dalam dataset pelatihan, T ke jumlah sifat laten, dan R untuk perbedaan antara peringkat minimum dan maksimum (dalam dataset pelatihan).

Ukuran model rekomendasi Matchbox serial adalah kira-kira 16 * T\(U\R + I + X + Y) byte, di mana U mengacu pada jumlah pengguna, I ke jumlah item, X ke jumlah fitur pengguna, dan Y ke jumlah fitur item.

Input yang diharapkan

Nama Jenis Deskripsi
Himpunan data pelatihan peringkat item pengguna tiga kali lipat Tabel Data Peringkat item oleh pengguna, dinyatakan sebagai triple (Pengguna, Item, Rating)
Himpunan data pelatihan fitur pengguna Tabel Data Himpunan data yang berisi fitur yang menggambarkan pengguna (opsional)
Himpunan data pelatihan fitur item Tabel Data Himpunan data berisi fitur yang menggambarkan item (opsional)

Parameter modul

Nama Rentang Jenis Default Deskripsi
Jumlah sifat >=0 Bilangan bulat 10 Tentukan jumlah sifat yang akan digunakan dengan recommender (opsional)
Jumlah iterasi algoritma rekomendasi >=1 Bilangan bulat 5 Tentukan jumlah maksimum iterasi yang akan dilakukan saat melatih model rekomendasi (opsional)
Jumlah batch pelatihan >=1 Bilangan bulat 4 Tentukan jumlah batch pelatihan yang akan digunakan dengan recommender (opsional)

Output

Nama Jenis Deskripsi
Rekomendasi Matchbox terlatih Antarmuka ILearner Rekomendasi Matchbox terlatih

Pengecualian

Pengecualian Deskripsi
Kesalahan 0022 Pengecualian terjadi jika jumlah kolom yang dipilih dalam himpunan data input tidak sama dengan angka yang diharapkan.
Kesalahan 0036 Pengecualian terjadi jika beberapa vektor fitur disediakan untuk pengguna atau item yang diberikan.
Kesalahan 0018 Pengecualian terjadi jika input himpunan data tidak valid.
Kesalahan 0035 Pengecualian terjadi jika tidak ada fitur yang disediakan untuk pengguna atau item yang diberikan.
Kesalahan 0034 Pengecualian terjadi jika ada lebih dari satu peringkat untuk pasangan item pengguna yang diberikan.
Kesalahan 0053 Pengecualian terjadi dalam kasus ketika tidak ada fitur atau item pengguna untuk rekomendasi Matchbox.
Kesalahan 0003 Pengecualian terjadi jika satu atau beberapa input null atau kosong.

Untuk daftar kesalahan khusus untuk modul Studio (klasik), lihat Pembelajaran Mesin Kode kesalahan.

Untuk daftar pengecualian API, lihat Pembelajaran Mesin Kode Kesalahan REST API.

Lihat juga

Model Validasi Silang
Evaluasi Pemberi Rekomendasi
Berlatih
Peng recommender Matchbox Skor