Penyaringan kolaboratif melalui faktorisasi matriks dengan fungsi kehilangan logistik

9

Pertimbangkan masalah pemfilteran kolaboratif. Kami memiliki matriks ukuran #user * # item. jika pengguna saya suka barang j, jika pengguna saya tidak suka barang j danjika tidak ada data tentang pasangan (i, j). Kami ingin memprediksi untuk pengguna mendatang, pasangan barang.M.M.saya,j=1M.saya,j=0M.saya,j=?M.saya,j

Pendekatan penyaringan kolaboratif standar adalah untuk merepresentasikan M sebagai produk dari 2 matriks sedemikian sehingga minimal (mis. Meminimalkan galat kuadrat rata-rata untuk elemen diketahui ).U×V||M.-U×V||2M.

Bagi saya fungsi kehilangan logistik sepertinya lebih cocok, mengapa semua algoritma menggunakan MSE?

Slon
sumber
1
Dalam hal ini masuk akal tetapi sebagian besar waktu M_i, j bisa menjadi peringkat dan dalam hal itu MSE lebih berguna. Saya akan mengatakan bahwa MSE lebih umum.
ThiS

Jawaban:

9

Kami menggunakan kehilangan logistik untuk faktorisasi matriks implisit di Spotify dalam konteks rekomendasi musik (menggunakan hitungan bermain). Kami baru saja menerbitkan makalah tentang metode kami dalam lokakarya NIPS 2014 mendatang. Makalah ini berjudul Factorisasi Matriks Logistik untuk Data Umpan Balik Implisit dan dapat ditemukan di sini http://stanford.edu/~rezab/nips2014workshop/submits/logmat.pdf

Kode untuk makalah ini dapat ditemukan di Github saya https://github.com/MrChrisJohnson/logistic-mf

Chris Johnson
sumber
1
L (R | X, Y, β) = Prod (p (lui | xu, yi, βu, βi) ^ α.r_ui * (1 - p (lui | xu, yi, βu, βi)) ^ (1 - α.r_ui) A melihat kode Anda, dan Anda menggunakan 1 + α.r_ui l64: A = (self.counts + self.ones) * A github.com/MrChrisJohnson/logistic-mf/blob/master/ ... Oleh karena itu, apakah saya kehilangan sesuatu? Salam
fstrub
Saya telah melihat kertas yang Anda terbitkan. Ini sangat menarik karena faktorisasi matriks dengan regresi logistik belum dipelajari secara aktif. Lagi pula, saya agak bingung dengan fungsi Kerugian Anda (2) L (R | X, Y, β) = Prod (p (lui | xu, yi, βu, βi) ^ α.r_ui * (1 - p (lui | xu, yi, βu, βi)) Mengenai (3), saya pikir ada kesalahan ketik L (R | X, Y, β) = Prod (p (lui | xu, yi, βu, βi) ^ α .r_ui * (1 - p (lui | xu, yi, βu, βi)) ^ (1 + α.r_ui ) Tapi, sebenarnya, saya masih agak bingung. Memang, saya akan mengharapkan hukum seperti Bernouilli seperti as
fstrub
Mungkin saya agak terlambat pada subjek .. seseorang memiliki kesempatan untuk mencoba algo ini di luar konteks rekomendasi musik dan bukannya konteks klasik rekomendasi produk? Terima kasih.
Marco Fumagalli
3

Sebagian besar makalah yang akan Anda temukan pada subjek akan berurusan dengan matriks di mana peringkat berada pada skala [0,5]. Dalam konteks Hadiah Netflix misalnya, matriks memiliki peringkat diskrit dari 1 hingga 5 (+ nilai yang hilang). Itu sebabnya kesalahan kuadrat adalah fungsi biaya yang paling menyebar. Beberapa ukuran kesalahan lain seperti perbedaan Kullback-Leibler dapat dilihat.

Masalah lain yang dapat terjadi dengan faktorisasi matriks standar adalah bahwa beberapa elemen matriks U dan V mungkin negatif (terutama selama langkah pertama). Itulah alasan mengapa Anda tidak akan menggunakan log-loss di sini sebagai fungsi biaya Anda.

Namun, jika Anda berbicara tentang Faktorisasi Matriks Non-negatif, Anda harus dapat menggunakan log-loss sebagai fungsi biaya Anda. Anda berada dalam kasus yang sama dari Regresi Logistik di mana log-loss digunakan sebagai fungsi biaya: nilai yang Anda amati adalah 0's dan 1's dan Anda memprediksi angka (probabilitas) antara 0 dan 1.

Aymen
sumber