Matrisi Çarpanlarına Ayırma

Matrisi çarpanlara ayırma, basit bir yerleştirme modelidir. Geri bildirim matrisi A \(\in R^{m \times n}\)göz önünde bulundurulduğunda, \(m\) kullanıcı (veya sorgu) sayısı ve \(n\) öğe sayısı, model şunları öğrenir:

  • Kullanıcı yerleştirme matrisi \(U \in \mathbb R^{m \times d}\), i. satır, i. kullanıcı için yerleştirilmiştir.
  • Öğe yerleştirme matrisi \(V \in \mathbb R^{n \times d}\), burada j satırı j öğesinin yerleştirilmesidir.

Yinelenen film örneğini kullanan matrisi çarpanlara ayırma çizimi.

Yerleştirmeler, ürünün \(U V^T\) geri bildirim matrisi için iyi bir yaklaşım olması için öğrenilir. A\((i, j)\) Girişin \(U . V^T\) ,\(\langle U_i, V_j\rangle\) kullanıcıya ve öğenin \(j\)yakınına yerleştirilmesini istediğiniz noktanın ürünü olduğunu\((i, j)\) gözlemleyin. \(A_{i, j}\)

Amaç İşlevini Seçme

Sezgisel hedef işlevlerinden biri kare mesafedir. Bunun için, gözlemlenen tüm giriş çiftlerinin üzerindeki karesel hataların toplamını en aza indirin:

\[\min_{U \in \mathbb R^{m \times d},\ V \in \mathbb R^{n \times d}} \sum_{(i, j) \in \text{obs}} (A_{ij} - \langle U_{i}, V_{j} \rangle)^2.\]

Bu işlevde yalnızca gözlemlenen çiftleri (i, j) değil, geri bildirim matrisindeki sıfır olmayan değerleri üzerinden toplarsınız. Bununla birlikte, yalnızca tek bir değerin değerlerini özetlemek iyi bir fikir değildir. Tümünün matrisi minimum düzeyde kayıp sağlar, etkili öneriler sunamayan ve kötü genelleştiren bir model oluşturur.

Üç matrisin çizimi: Yalnızca gözlemlenmiş matrisi çarpanlara ayırma, ağırlıklı çarpanlara ayırma ve Tekil Sinyal Ayrımı.

Gözlemlenmeyen değerleri sıfır olarak değerlendirebilir ve matristeki tüm girişleri toplayabilirsiniz. Bu, karenin Frobenius en az \(A\) yakınlığının \(U V^T\)en aza indirgenmesi anlamına gelir:

\[\min_{U \in \mathbb R^{m \times d},\ V \in \mathbb R^{n \times d}} \|A - U V^T\|_F^2.\]

Bu ikinci dereceden sorunu, matrisin Tekil Değer Ayrışımı (SVD) ile çözebilirsiniz. Bununla birlikte, SVD iyi bir çözüm değildir çünkü gerçek uygulamalarda \(A\) matris çok az olabilir. Örneğin, belirli bir kullanıcının görüntülediği tüm videolarla karşılaştırıldığında YouTube'daki tüm videoları düşünün. Çözüm \(UV^T\) (girişin matrisini yaklaşık olarak tahmin etme yöntemine karşılık gelir) muhtemelen sıfıra yakın olur ve bu da genelleştirme performansının düşmesine neden olur.

Buna karşılık, Ağırlıklı Matrisi Çarpanlarına Ayırma özelliği, hedefi aşağıdaki iki toplama ayırır:

  • Gözlemlenen girişlerin toplamı.
  • Gözlemlenmeyen girişlerin toplamı (sıfır olarak kabul edilir).

\[\min_{U \in \mathbb R^{m \times d},\ V \in \mathbb R^{n \times d}} \sum_{(i, j) \in \text{obs}} (A_{ij} - \langle U_{i}, V_{j} \rangle)^2 + w_0 \sum_{(i, j) \not \in \text{obs}} (\langle U_i, V_j\rangle)^2.\]

Burada \(w_0\) ,iki terime ağırlık atayan bir hiperparametredir. Böylece hedefe ikisinden biri hakim olmaz. Bu hiperparametrenin ayarlanması çok önemlidir.

\[\sum_{(i, j) \in \text{obs}} w_{i, j} (A_{i, j} - \langle U_i, V_j \rangle)^2 + w_0 \sum_{i, j \not \in \text{obs}} \langle U_i, V_j \rangle^2\]

Burada \(w_{i, j}\) , i sorgusunun ve j öğesinin sıklığının bir işlevidir

Amaç İşlevini En aza indirme

Hedef işlevini en aza indirmek için yaygın olarak kullanılan algoritmalar şunlardır:

  • Olasılıksal gradyan iniş (SGD) kayıp işlevleri en aza indirmek için kullanılan genel bir yöntemdir.

  • Ağırlıklı Alternatif Alternatifler (WALS) bu spesifik hedefe özeldir.

Amaç, U ve V adlı iki matrisin her birinde ikinci derecedendir. Bununla birlikte, sorunun ortak bir dönüşüm olmadığı anlamına gelir. WALS, yerleştirmeleri rastgele başlatıp arasında geçiş yaparak çalışır:

  • \(V\)sorununu \(U\) çözme ve çözümleme.
  • \(U\)sorununu \(V\) çözme ve çözümleme.

Her aşama tam olarak çözülebilir (doğrusal bir sistemin çözümüyle) ve dağıtılabilir. Her adımın kaybı azaltacağından bu tekniğin birleştiği garanti edilir.

SGD - WALS

SGD ve WALS'ın avantajları ve dezavantajları vardır. Bu bilgilerin nasıl karşılaştırıldığını görmek için aşağıdaki bilgileri inceleyin:

SGD

Çok esnek: Diğer kayıp işlevleri kullanılabilir.

Paralel yapılabilir.

Daha yavaştır: Hızlı şekilde kesişmez.

Gözlemlenmeyen girişleri işlemek daha zordur (negatif örnekleme veya yerçekimi kullanmanız gerekir).

SULAR

Yalnızca Loss Square'lerden yararlanılabilir.

Paralel yapılabilir.

SGD'den daha hızlı birleşir.

Gözlemlenmeyen girişlerin işlenmesi daha kolaydır.