Bir öneri sistemi, belirli bir kullanıcıya hangi önerilerin yapıldığının ve kullanıcının öneriyi kabul edip etmediğinin günlüğünü tutar. Gibi
user_id item_id result
1 4 1
1 7 -1
5 19 1
5 80 1
burada 1, kullanıcının öneriyi kabul ettiği, -1 ise kullanıcının öneriye yanıt vermediği anlamına gelir.
Soru: Yukarıda açıklanan günlük türüne göre bir grup kullanıcıya önerilerde bulunacaksam ve MAP @ 3 puanlarını en üst düzeye çıkarmak istiyorsam, örtük verilerle (1 veya -1) nasıl başa çıkmalıyım?
Benim fikrim 1 ve -1'i derecelendirme olarak ele almak ve faktorizasyon makineleri tipi algoritmaları kullanarak derecelendirmeyi tahmin etmektir. Ancak, örtük verilerin asimetrisi göz önüne alındığında, bu doğru görünmemektedir (-1, kullanıcının tavsiyeyi sevmediği anlamına gelmez).
Edit 1 Bir matris çarpanlara ayırma yaklaşımı bağlamında düşünelim. -1 ve 1'i derecelendirme olarak ele alırsak, bazı problemler olacaktır. Örneğin, kullanıcı 1, gizli faktör alanında bir faktörde yüksek puan alan (örn. Görkemli fon müziğine sahip) A filmini sever. Sistem, aynı zamanda "görkemli fon müziği" de yüksek puan alan B filmini önerir, ancak bir nedenden dolayı kullanıcı 1, öneriye bakmak için çok meşgul ve -1 dereceli bir film B var. 1 veya -1'e eşit davranırsak , sistem kullanıcı 1'e muhteşem BGM ile film önermekten vazgeçebilirken, kullanıcı 1 hala muhteşem BGM ile film sever. Bu durumdan kaçınılması gerektiğini düşünüyorum.