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

Abba Suganda Girsang S.T., M.Cs., Ph.D