Faktorisasi Matriks ALS
Alternating Least Square (ALS) adalah juga adalah sebuah algoritma matrix factorization. ALS dibangun untuk persoalan collaborative filtering berskala besar. ALS bekerja dengan baik dalam mengatasi persoalan scalability dan spareseness data. Input untuk ALS adalah matriks yang sparse yang berisi interaksi user dan item. Seperti metode matrix factorization lainnya, ALS memfaktorkan matrix menjadi matriks dan . Tujuan yang ingin dicapai adalah mengestimasi matriks rating.
Hal ini dapat diformulasikan sebagai persoalan optimalisasi di mana kita mencoba untuk meminimalkan objective function dan menemukan dan yang optimal. Secara spesifik, kita mencoba meminimalkan least squares error dari observed ratings. Minimisasi tersebut bisa dicapai dengan menggunakan pendekatan gradient descent, namun cara ini lambat dan membutuhkan banyak iterasi. Namun jika kita membuat menjadi tetap dan memperlakukannya sebagai konstanta, maka objective menjadi convex function dari , dan sebaliknya. Ketika dan dibuat tetap, cost function menjadi quadratic sehingga global minimum dapat dihitung. Jadi pendekatan proses optimalisasi pada ALS adalah untuk membuat tetap dan mengoptimalkan , kemudian membuat tetap dan mengoptimalkan , dan mengulanginya hingga convergence.
Cara ALS menentukan nilai yang diisikan dalam dan adalah dengan menginisiasi dan dengan nilai acak (random) dan menghitung error dengan Persamaan (1) dan (2). ALS menggunakan metode kuadrat terkecil untuk mencapai bobot yang dapat memperkirakan nilai pada matriks dengan baik. Pendekatan least squares error pada dasarnya berarti membuat beberapa garis linear pada data, kemudian mengukur sum of squared dari semua titik ke garis dan berusaha untuk mendapatkan nilai yang optimal dengan meminimalkan nilai ini. Regularization digunakan untuk mencegah overfitting dengan menerapkan nilai kecil pada error yang membutuhkan iterasi lebih untuk meminimalkan sepenuhnya.
Kemudian ALS secara bergantian melakukan optimasi dengan membuat tetap dan mengoptimalkan , kemudian bergantian membuat tetap dan mengoptimalkan , untuk menurunkan nilai error. ALS secara iteratif terus bergantian mengoptimalkan dan hingga error diminimalkan. Setelah dan dioptimalisasi, prediksi dilakukan dengan untuk setiap user dan item . ALS berbeda dengan Funk SVD di mana ALS menggunakan L2 regularization sedangkan Funk SVD menggunakan L1 regularization.
Disadur dari :
Yonathan Lesamana, Abba Suganda Girsangao, Conversational Recommender System Untuk Produk Retail Banking. Tesis, Universitas Bina Nusantara, Jakarta. 2021