Algoritma Factorization Machine (FM) adalah model prediktif umum yang sangat cocok untuk menangani data jarang berdimensi tinggi. Algoritma FM memperkenalkan vektor laten untuk memodelkan interaksi antar fitur, yang dapat dilihat sebagai perluasan dari teknik faktorisasi matriks. Algoritma ini banyak digunakan di bidang-bidang seperti sistem rekomendasi dan prediksi tingkat klik iklan.
Cara kerjanya
Algoritma FM terdiri dari dua proses utama: pelatihan FM dan prediksi FM. Kedua proses ini mencakup fase konstruksi dan aplikasi model.
Pelatihan FM: Proses ini bertujuan untuk mempelajari parameter model dari set data pelatihan sehingga model dapat secara akurat memprediksi variabel target. Selama fase ini, algoritma menganalisis data input dan mengoptimalkan parameter untuk memastikan efisiensi dan akurasi model.
Prediksi FM: Dalam proses ini, model yang telah dilatih digunakan untuk membuat prediksi pada data input baru. Parameter model tetap selama fase prediksi, memungkinkan model untuk menghitung hasil prediksi menggunakan parameter yang telah ditetapkan.
Konfigurasikan komponen
Metode 1: Konfigurasikan komponen di halaman pipeline
Pelatihan FM
Di halaman pipeline, tambahkan komponen FM Train dan konfigurasikan parameter berikut:
Kategori | Parameter | Deskripsi | |
Pengaturan Kolom | Kolom Fitur | Pilih kolom fitur berdasarkan karakteristik tabel input. Kolom tipe STRING dan DOUBLE didukung. | |
Kolom Label | Pilih kolom label berdasarkan karakteristik tabel input. Hanya kolom tipe DOUBLE yang didukung. | ||
Opsi Lanjutan | Parameter ini hanya tersedia di Machine Learning Designer. Jika Anda memilih Advanced Options, Flink configuration item tersedia. Untuk informasi lebih lanjut tentang cara mengonfigurasi Flink, lihat Konfigurasikan Flink. | ||
Pengaturan Parameter | Tipe Tugas | Pilih tipe tugas. Nilai valid:
| |
Jumlah iterasi | Tentukan jumlah total iterasi. Nilai default: 10. | ||
Koefisien Regularisasi | Tentukan tiga bilangan titik mengambang yang dipisahkan oleh koma (,). Ketiga bilangan tersebut mewakili koefisien regularisasi dari suku orde ke-0, orde ke-1, dan orde ke-2. | ||
Tingkat Pembelajaran | Tentukan tingkat pembelajaran. Jika pelatihan menyimpang, atur parameter ini ke nilai yang lebih kecil. | ||
Simpangan baku inisialisasi parameter | Tentukan simpangan baku untuk inisialisasi parameter. Parameter ini digunakan untuk normalisasi data. Nilainya bertipe DOUBLE. Nilai default: 0,05. | ||
Dimensi | Tentukan tiga bilangan bulat positif yang dipisahkan oleh koma (,). Ketiga bilangan bulat positif tersebut mewakili panjang suku orde ke-0, orde ke-1, dan orde ke-2. | ||
Ukuran blok | Tentukan nama metrik kinerja. | ||
Daur hidup tabel output | Parameter ini hanya tersedia di Machine Learning Studio. Tentukan daur hidup tabel output. | ||
Penyetelan | Pilih Mode Running | MaxCompute | Gunakan sumber daya komputasi MaxCompute atau Flink. Untuk informasi tentang cara mengonfigurasi jumlah pekerja dan memori mereka, lihat Lampiran: Cara memperkirakan penggunaan sumber daya. |
Flink | |||
DLC | Gunakan sumber daya komputasi DLC. Konfigurasikan spesifikasi berdasarkan petunjuk. | ||
Prediksi FM
Di halaman pipeline, tambahkan komponen FM Prediction dan konfigurasikan parameter berikut:
Kategori | Parameter | Deskripsi | |
Pengaturan Parameter | Kolom Hasil Prediksi | Tentukan nama kolom hasil prediksi. | |
Kolom Detail Prediksi | Tentukan nama kolom detail prediksi. | ||
Kolom yang Dipertahankan | Tentukan kolom yang ingin Anda pertahankan di tabel output. | ||
Konfigurasi Lanjutan | Parameter ini hanya tersedia di Machine Learning Designer. Jika Anda memilih Advanced Configuration, Number of Threads using by each worker dan Type of ModelSize tersedia. | ||
Penyetelan | Pilih Mode Running | MaxCompute | Gunakan sumber daya komputasi MaxCompute atau Flink. Untuk informasi tentang cara mengonfigurasi jumlah pekerja dan memori mereka, lihat Lampiran: Cara memperkirakan penggunaan sumber daya. |
Flink | |||
DLC | Gunakan sumber daya komputasi DLC. Konfigurasikan spesifikasi berdasarkan petunjuk. | ||
Metode 2: Gunakan perintah PAI
Gunakan perintah PAI untuk mengonfigurasi parameter komponen FM Train dan FM Prediction.
Pelatihan FM
Parameter | Diperlukan | Nilai default | Deskripsi |
tensorColName | Ya | Tidak ada | Nama kolom fitur. Data dalam kolom harus dalam format key-value. Pisahkan beberapa nama dengan koma (,). Contoh: 1:1.0,3:1.0. |
labelColName | Ya | Tidak ada | Nama kolom label. Hanya kolom tipe data numerik yang didukung. Jika parameter task disetel ke binary_classification, nilai label harus 0 atau 1. |
task | Ya | regression | Tipe tugas. Nilai valid: regression and binary_classification. |
numEpochs | Tidak | 10 | Jumlah iterasi. |
dim | Tidak | 1,1,10 | Tiga bilangan bulat positif yang dipisahkan oleh koma (,). Ketiga bilangan bulat positif tersebut mewakili panjang suku orde ke-0, orde ke-1, dan orde ke-2. |
learnRate | Tidak | 0,01 | Tingkat pembelajaran. Jika pelatihan menyimpang, atur parameter learnRate ke nilai yang lebih kecil. |
lambda | Tidak | 0,01,0,01,0,01 | Tiga bilangan titik mengambang yang dipisahkan oleh koma (,). Ketiga bilangan tersebut mewakili koefisien regularisasi dari suku orde ke-0, orde ke-1, dan orde ke-2. |
initStdev | Tidak | 0,05 | Simpangan baku inisialisasi parameter. |
Prediksi FM
Parameter | Diperlukan | Nilai default | Deskripsi |
predResultColName | Tidak | prediction_result | Nama kolom hasil prediksi. |
predScoreColName | Tidak | prediction_score | Nama kolom skor prediksi. |
predDetailColName | Tidak | prediction_detail | Nama kolom detail prediksi. |
keepColNames | Tidak | Semua kolom | Kolom yang ingin Anda pertahankan di tabel output. |
Contoh
Jika Anda menggunakan data berikut sebagai input untuk template Model Rekomendasi FM Berbasis Framework Alink, area di bawah kurva (AUC) model yang dihasilkan oleh operasi pelatihan adalah sekitar 0,97. 
