Skip to content

13. Algoritmy pro doporučování: základní přístupy a způsob vyhodnocení kvality, faktorizační metody pro doporučování. (NI-ADM)


Základní přístupy

Collaborative Filtering (CF)

Princip: Predikce preferencí na základě podobnosti uživatelů/položek.

  • Typy:
    • User-based: Doporučení odvozené od podobných uživatelů (výpočet podobnosti pomocí Pearsonovy korelace nebo kosínové podobnosti)
    • Item-based: Doporučení založené na podobnosti mezi položkami
    • Model-based: Použití strojového učení (např. matrix factorization)
  • Problémy:
    • Cold start (noví uživatelé/položky bez historie)
    • Řídkost dat (většina uživatelů interaguje s malým % položek)

Content-Based Filtering (CBF)

Princip: Doporučení na základě metadat položek a uživatelských profilů.

  • Klíčové kroky:
    1. Reprezentace položek pomocí TF-IDF, word2vec (text) nebo CNN (obrázky)
    2. Vytvoření uživatelského profilu (průměr vlastností interagovaných položek)
    3. Doporučení položek s podobnými vlastnostmi
  • Výhody: Funguje i pro nové položky bez interakcí
  • Nevýhody: Závislost na kvalitě metadat

Faktorizační metody

Obecný princip

Cílem je rozložit uživatelsko-položkovou matici R (ratingů) na součin dvou matic s latentními faktory:

R \approx P \cdot Q^T

kde:

  • P (|U|×k): Latentní faktory uživatelů
  • Q (|I|×k): Latentní faktory položek
  • k: Počet latentních dimenzí (typicky 10-100)

Alternating Least Squares (ALS)

Algoritmus:

  1. Inicializace P a Q náhodnými hodnotami
  2. Fixace Q, optimalizace P pomocí least squares
  3. Fixace P, optimalizace Q
  4. Iterace do konvergence

Matematické odvození:

Cílová funkce s L2 regulací:

Pro fixované Q řešíme pro každého uživatele u:

p_u = (Q^T Q + \lambda I)^{-1} Q^T r_u

Analogicky pro fixované P.

Výhody:

  • Efektivní pro paralelizaci
  • Stabilní konvergence
  • Podpora implicitní zpětné vazby

Vyhodnocení kvality

Loss funkce

Squared Error (SE)

Základní metrika pro regresní úlohy, měří kvadratickou chybu mezi predikcí a skutečnou hodnotou:

  • Použití: Vhodné pro explicitní ratingy (např. 1–5 hvězdiček)
  • Příklad: Pokud skutečný rating je 4 a predikce 3.5, SE = (4 - 3.5)² = 0.25

Mean Squared Error (MSE)

Průměr kvadratických chyb přes všechny příklady:

  • Vlastnosti: Citlivější na velké chyby než MAE
  • Optimalizace: MSE je konvexní funkce, vhodná pro gradient-based metody

Binary Cross-Entropy (BCE)

Používá se pro binární klasifikaci (relevantní/nerelevantní):

  • Proměnné:
    • y_i \in \{0,1\}: Skutečná třída
    • \hat{y}_i \in [0,1]: Predikovaná pravděpodobnost relevance
  • Použití: Implicitní zpětná vazba (kliknutí, koupě)

Rankingové metriky

Cumulative Gain (CG)

Součet relevance všech položek v doporučeném seznamu:

Discounted Cumulative Gain (DCG)

Zohledňuje pozici položky – vyšší váha pro lepší umístění:

Normalized DCG (NDCG)

Normalizuje DCG vůči ideálnímu řazení (IDCG):
- Krok výpočtu:
1. Seřaď položky podle skutečné relevance sestupně → ideální ranking
2. Spočítej IDCG pro tento ideální ranking
3. Podíl DCG/IDCG dá NDCG (hodnota 0–1)

Klasifikační metriky

Matice záměn

Základ pro výpočet precision, recall a F1-score:

Predikce + Predikce -
Skutečná + TP FN
Skutečná - FP TN

Precision a Recall

  • Precision (přesnost): Kolik doporučených položek je skutečně relevantních?
  • Recall (pokrytí): Kolik relevantních položek bylo doporučeno?

AUC-ROC

  • Plocha pod křivkou ROC (True Positive Rate vs. False Positive Rate)
  • Interpretace:
    • 0.5 = náhodný klasifikátor
    • 1.0 = perfektní klasifikace