İşbirlikçi Filtreleme Nasıl Çalışır?
Collaborative Filtering'in temel fikri son derece sezgiseldir: eğer Kullanıcı A ile Kullanıcı B geçmişte benzer filmleri veya ürünleri beğendiyse, A'nın yeni beğendiği bir şeyi B de büyük olasılıkla beğenir. Bu prensibi matematiksel olarak hayata geçirmek için önce tüm kullanıcıların tüm öğelere verdikleri puanlar (veya tıklama, satın alma gibi örtük geri bildirimler) bir matrise doldurulur. Kullanıcı sayısı ile öğe sayısı çoğu zaman milyonlarla ifade edildiğinden bu matris son derece büyük ve büyük oranda boştur. Bellek tabanlı yaklaşımlarda benzerlik, Kosinüs Benzerliği veya Pearson Korelasyonu gibi ölçütlerle hesaplanır. Model tabanlı yaklaşımlarda ise matris, gizli faktörler (latent factors) aracılığıyla iki küçük matrisin çarpımına indirgenir; böylece hem hesaplama maliyeti düşer hem de matristeki boş hücrelere anlamlı tahminler yapılabilir. Örtük geri bildirim (implicit feedback) kullanan sistemlerde kullanıcı açıkça puan vermez; bunun yerine tıklama süresi, satın alma, tekrar oynatma gibi sinyaller eğitim verisi olarak kullanılır. Bu durum doğrulama metrikleri açısından farklı yaklaşımları gerektirir: RMSE yerine Precision@K veya NDCG gibi sıralama odaklı metrikler ön plana çıkar.
Dört Temel Yaklaşım
Kullanıcı Tabanlı CF
Hedef kullanıcıya en benzer k kullanıcıyı (komşuları) bulur, bu komşuların beğendiği ancak hedef kullanıcının görmediği öğeleri önerir. Yeni kullanıcılar eklendiğinde güncellenmesi kolaydır; ancak büyük ölçekte benzerlik hesaplaması yavaştır.
Öğe Tabanlı CF
Kullanıcının beğendiği öğelere benzer öğeleri önerir. Öğe benzerlik matrisi önceden hesaplanıp önbellekte saklanabildiğinden çevrimiçi önerilerde daha hızlıdır. Amazon'un 'Bu ürünü alanlar şunu da aldı' özelliği bu yaklaşımı kullanır.
Matris Çarpanlarına Ayırma
Kullanıcı-öğe matrisini iki alt matrise (kullanıcı faktörleri × öğe faktörleri) indirger. SVD, SVD++ ve ALS yaygın kullanılan yöntemlerdir. Netflix Prize'ı kazanan yaklaşım budur. Büyük seyrek veri kümelerinde bellek tabanlı yöntemlere göre çok daha verimlidir.
Hibrit Sistemler
Soğuk başlama problemini aşmak için içerik tabanlı filtrelemeyle birleştirilen yaklaşımdır. Yeni kullanıcılar için içerik özellikleri, mevcut kullanıcılar için CF sinyalleri kullanılır. Spotify'ın Discover Weekly özelliği bu hibrit mimariye dayanır.
Uygulama Alanları
- check_circle Video Platformları: Netflix, YouTube ve Disney+ film ve dizi önerilerinde; izleme geçmişi ile puanlama verileri kullanılır.
- check_circle E-Ticaret: Amazon, Trendyol ve eBay ürün önerilerinde; satın alma geçmişi ve ürün görüntüleme davranışı temel sinyal kaynaklarıdır.
- check_circle Müzik Akış Hizmetleri: Spotify Discover Weekly ve Apple Music, dinleme geçmişi ile örtük geri bildirimlere dayanan CF modelleri kullanır.
- check_circle Sosyal Medya: Facebook, Instagram ve LinkedIn bağlantı, içerik ve reklam önerilerinde CF tabanlı sinyalleri derin öğrenme modelleriyle birleştirir.
- check_circle Haber ve İçerik Platformları: Google News, Reddit ve Medium makale önerilerinde okuma süresi ve tıklama verisini örtük geri bildirim olarak değerlendirir.
Sıkça Sorulan Sorular
- check_circle Collaborative Filtering ile içerik tabanlı filtreleme arasındaki fark nedir?: İçerik tabanlı filtreleme öğenin özelliklerini (tür, yönetmen, yazar gibi) kullanırken, CF yalnızca kullanıcı etkileşim verilerini kullanır ve öğe içeriğini bilmek zorunda değildir. CF'nin avantajı, kullanıcı topluluğundan beklenmedik önerileri keşfedebilmesidir (serendipity).
- check_circle Soğuk başlama problemi nasıl aşılır?: Yeni kullanıcılar için kayıt sırasında birkaç tercih sorusu (onboarding survey) veya demografik verilerle başlangıç profili oluşturulur. Yeni öğeler için içerik tabanlı özellikler devreye girer. Hibrit modeller bu iki yaklaşımı birleştirir.
- check_circle Matris factorization'da kaç gizli faktör kullanılmalıdır?: Tipik sistemlerde 20–200 arasında gizli faktör yeterlidir. Çok az faktör underfitting, çok fazlası overfitting riskine yol açar. Çapraz doğrulama ile en iyi değer aranır.
- check_circle Büyük ölçekte CF nasıl ölçeklenir?: Spark MLlib'deki ALS (Alternating Least Squares) dağıtık hesaplama ile milyarlarca öğeye ölçeklenir. Google'ın ScaNN ve Faiss kütüphaneleri, gizli faktör uzayında hızlı yaklaşık en yakın komşu araması sağlar.