MatrixFactorizationTrainer Kelas
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
IEstimator<TTransformer> untuk memprediksi elemen dalam matriks menggunakan faktorisasi matriks (juga dikenal sebagai jenis pemfilteran kolaboratif).
public sealed class MatrixFactorizationTrainer : Microsoft.ML.IEstimator<Microsoft.ML.Trainers.Recommender.MatrixFactorizationPredictionTransformer>, Microsoft.ML.Trainers.ITrainerEstimator<Microsoft.ML.Trainers.Recommender.MatrixFactorizationPredictionTransformer,Microsoft.ML.Trainers.Recommender.MatrixFactorizationModelParameters>
type MatrixFactorizationTrainer = class
interface ITrainerEstimator<MatrixFactorizationPredictionTransformer, MatrixFactorizationModelParameters>
interface IEstimator<MatrixFactorizationPredictionTransformer>
Public NotInheritable Class MatrixFactorizationTrainer
Implements IEstimator(Of MatrixFactorizationPredictionTransformer), ITrainerEstimator(Of MatrixFactorizationPredictionTransformer, MatrixFactorizationModelParameters)
- Warisan
-
MatrixFactorizationTrainer
- Penerapan
Untuk membuat pelatih ini, gunakan MatrixFactorization atau MatrixFactorization(Options).
Ada tiga kolom input yang diperlukan, satu untuk indeks baris matriks, satu untuk indeks kolom matriks, dan satu untuk nilai (yaitu, label) dalam matriks. Mereka bersama-sama mendefinisikan matriks dalam format COO . Jenis untuk kolom label adalah vektor Single sementara dua kolom lainnya adalah skalar jenis kunci .
Nama Kolom Output | Jenis Kolom | Deskripsi |
---|---|---|
Score |
Single | Nilai matriks yang diprediksi di lokasi yang ditentukan oleh kolom input (kolom indeks baris dan kolom kolom). |
Tugas pembelajaran mesin | Sistem pemberi rekomendasi |
Apakah normalisasi diperlukan? | Ya |
Apakah penembolokan diperlukan? | Ya |
NuGet yang diperlukan selain Microsoft.ML | Microsoft.ML.Recommender |
Dapat diekspor ke ONNX | Tidak |
Ide dasar faktorisasi matriks adalah menemukan dua matriks faktor peringkat rendah untuk memperkirakan matriks pelatihan. Dalam modul ini, data pelatihan yang diharapkan (matriks yang difaktorkan) adalah daftar tuple. Setiap tuple terdiri dari indeks kolom, indeks baris, dan nilai di lokasi yang ditentukan oleh dua indeks. Misalnya struktur data tuple, seseorang dapat menggunakan:
// The following variables defines the shape of a m-by-n matrix. Indexes start with 0; that is, our indexing system
// is 0-based.
const int m = 60;
const int n = 100;
// A tuple of row index, column index, and rating. It specifies a value in the rating matrix.
class MatrixElement
{
// Matrix column index starts from 0 and is at most n-1.
[KeyType(n)]
public uint MatrixColumnIndex;
// Matrix row index starts from 0 and is at most m-1.
[KeyType(m)]
public uint MatrixRowIndex;
// The rating at the MatrixColumnIndex-th column and the MatrixRowIndex-th row.
public float Value;
}
Perhatikan bahwa tidak perlu menentukan semua entri dalam matriks pelatihan, sehingga faktorisasi matriks dapat digunakan untuk mengisi nilai yang hilang. Perilaku ini sangat membantu saat membangun sistem pemberi rekomendasi.
Untuk memberikan pemahaman yang lebih baik tentang penggunaan praktis faktorisasi matriks, mari kita pertimbangkan rekomendasi musik sebagai contoh.
Asumsikan bahwa ID pengguna dan ID musik digunakan sebagai indeks baris dan kolom, masing-masing, dan nilai matriks adalah peringkat yang disediakan oleh pengguna tersebut.
Artinya, peringkat
Pelatih ini mencakup metode gradien stochastic dan metode turunan koordinat untuk menemukan
Untuk pengguna yang tertarik dengan detail matematika, silakan lihat referensi di bawah ini.
- Untuk implementasi multi-threading dari metode gradien stochastic yang digunakan, lihat Metode Gradien Stochastic Paralel Cepat untuk Faktorisasi Matriks di Sistem Memori Bersama.
- Untuk komputasi yang terjadi di dalam satu utas, lihat Jadwal Laju Pembelajaran untuk Metode Gradien Stochastic ke Faktorisasi Matriks.
- Untuk metode turunan koordinat paralel yang digunakan dan rumus faktorisasi matriks satu kelas, lihat Pemilihan Sampel Negatif untuk Faktorisasi Matriks Satu Kelas.
- Untuk detail di pustaka yang mendasar yang digunakan, lihat LIBMF: Pustaka untuk Faktorisasi Matriks Paralel di Sistem Memori Bersama.
Periksa bagian Lihat Juga untuk tautan ke contoh penggunaan.
Info |
TrainerInfo berisi parameter umum untuk pelatih ini. |
Fit(IData |
|
Fit(IData |
MatrixFactorizationTrainer Melatih menggunakan data pelatihan dan validasi, mengembalikan MatrixFactorizationPredictionTransformer. |
Get |
Penyebaran skema untuk transformator. Mengembalikan skema output data, jika skema input seperti yang disediakan. |
Produk | Versi |
---|---|
ML.NET | Preview |