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:
- Reprezentace položek pomocí TF-IDF, word2vec (text) nebo CNN (obrázky)
- Vytvoření uživatelského profilu (průměr vlastností interagovaných položek)
- 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:
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:
- Inicializace P a Q náhodnými hodnotami
- Fixace Q, optimalizace P pomocí least squares
- Fixace P, optimalizace Q
- Iterace do konvergence
Matematické odvození:
Cílová funkce s L2 regulací:
Pro fixované Q řešíme pro každého uživatele 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