Lojistik kayıp fonksiyonu ile matris çarpanlarına ayırma yoluyla birlikte filtreleme


9

Ortak filtreleme sorununu düşünün. Biz matris var boyutu kullanıcıların sayısı * #items arasında. kullanıcı i madde j hoşlanıyorsa, kullanıcı i madde j ve sevmerse(i, j) çifti hakkında veri yoksa. İlerideki kullanıcı, öğe çiftleri için öngörmek istiyoruz .MMben,j=1Mben,j=0Mben,j=?Mben,j

Standart ortak filtreleme yaklaşımı 2 matrislerin ürün olarak M temsil etmek şekilde az (örneğin, bilinen elemanları için ortalama kare hata minimize ).UxV||M-UxV||2M

Bana göre lojistik kayıp fonksiyonu daha uygun görünüyor, neden tüm algoritmalar MSE kullanıyor?


1
Bu durumda mantıklıdır, ancak çoğu zaman M_i, j bir derecelendirme olabilir ve bu durumda MSE daha kullanışlıdır. MSE'nin daha genel olduğunu söyleyebilirim.
ThiS

Yanıtlar:


9

Müzik önerileri bağlamında (oyun sayılarını kullanarak) Spotify'da örtülü matris çarpanlarına ayırma için lojistik kaybı kullanıyoruz. Yakında NIPS 2014 çalıştayında yöntemimiz hakkında bir makale yayınladık. Makale Örtülü Geribildirim Verileri için Lojistik Matris Çarpanlarına Ayırma başlıklıdır ve http://stanford.edu/~rezab/nips2014workshop/submits/logmat.pdf

Makalenin kodu Github'ımda bulunabilir https://github.com/MrChrisJohnson/logistic-mf


1
L (R | X, Y, β) = Ürün (p (lui | xu, yi, βu, βi) ^ α.r_ui * (1 - p (lui | xu, yi, βu, βi)) ^ (1 - α.r_ui) A kodunuza bir göz attı ve 1 + α.r_ui l64 kullanıyorsunuz: A = (self.counts + self.ones) * Bir github.com/MrChrisJohnson/logistic-mf/blob/master/ … Bu nedenle, bir şey eksik mi? Saygılarımla
fstrub

Yayınladığınız makaleye bir göz attım. Lojistik regresyon ile matris çarpanlarına ayırma işlemi aktif olarak çalışılmadığından çok ilginçtir. Her neyse, Kayıp fonksiyonunuzla biraz kafam karıştı (2) L (R | X, Y, β) = Prod (p (lui | xu, yi, βu, βi) ^ α.r_ui * (1 - p (lui | xu, yi, βu, βi)) (3) ile ilgili olarak, bir yazım hatası yanlışlığı olduğunu düşünüyorum L (R | X, Y, β) = Prod (p (lui | xu, yi, βu, βi) ^ α .r_ui * (1 - p (lui | xu, yi, βu, βi)) ^ (1 + α.r_ui ) Ama aslında, hala biraz kafam karıştı. Aslında Bernouilli benzeri bir yasa beklerdim as
fstrub

Belki konuya oldukça geç kaldım .. birisi bu algoyu müzik önerisi bağlamının dışında ve klasik ürün önerisi bağlamı dışında deneme şansına sahipti? Teşekkürler.
Marco Fumagalli

3

Konuyla ilgili bulacağınız makalelerin çoğu, derecelendirmelerin bir ölçekte olduğu matrislerle ilgilenecektir [0,5]. Örneğin Netflix Ödülü bağlamında, matrislerin 1'den 5'e (+ eksik değerler) farklı dereceleri vardır. Bu yüzden kare hatası en yaygın maliyet fonksiyonudur. Kullback-Leibler ıraksaması gibi başka hata önlemleri de görülebilir.

Standart matris çarpanlarına ayırmada meydana gelebilecek diğer bir problem U ve V matrislerinin bazı elemanlarının negatif olabilmesidir (özellikle ilk aşamalarda). Bu, günlük kaybını maliyet işleviniz olarak kullanmamanızın bir nedeni.

Ancak, Negatif Olmayan Matris Faktorizasyonundan bahsediyorsanız , günlük kaybını maliyet fonksiyonunuz olarak kullanabilmeniz gerekir. Log-loss'un maliyet fonksiyonu olarak kullanıldığı Lojistik Regresyona benzer bir durumdasınız: gözlemlenen değerleriniz 0'lar ve 1'ler ve 0 ile 1 arasında bir sayı (olasılık) öngörüyorsunuz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.