RecSys xAI
IA Explicable (xAI)

Les Systèmes de Recommandation

Comment Netflix, Spotify et YouTube savent ce que tu vas aimer.

Ces formules mathématiques aident les ordinateurs à faire ça en comparant tes goûts avec ceux des autres personnes. Voici une explication claire et accessible de la mécanique sous le capot !

1. La Similarité entre Deux Utilisateurs (Pearson)

$$sim(u,v) = \frac{\sum_{i \in I_{uv}} (r_{u,i} - \bar{r}_u)(r_{v,i} - \bar{r}_v)}{\sqrt{\sum_{i \in I_{uv}} (r_{u,i} - \bar{r}_u)^2}\sqrt{\sum_{i \in I_{uv}} (r_{v,i} - \bar{r}_v)^2}}$$
sim(u, v) = Σ(i ∈ Iuv)(ru,i - rˉu)(rv,i - rˉv) / √[Σ(i ∈ Iuv)(ru,i - rˉu)²] × √[Σ(i ∈ Iuv)(rv,i - rˉv)²]

Définition des variables :

  • sim(u, v)Score de similarité entre u et v (-1 à +1). +1=mêmes goûts, 0=aucun lien, -1=goûts opposés.
  • IuvTous les films que VOUS DEUX avez notés.
  • ru,iLa note que tu as donnée au film i (ex: 4 étoiles).
  • rˉuTa note moyenne (ex: 3,5 étoiles).
  • rv,iLa note que Thomas a donnée au film i.
  • rˉvLa note moyenne de Thomas.

Comment ça marche :

Imagine que toi et Thomas notez les mêmes films de 1 à 5 étoiles. Pour chaque film, on calcule l'écart avec votre moyenne personnelle, on les multiplie, puis on normalise le tout pour obtenir un score entre -1 et +1.

Exemple concret :

Film Ta note rˉu ta - rˉu Note Thomas rˉv sa - rˉv Produit
Avengers53,5+1,553,5+1,5+2,25
Toy Story23,5-1,523,5-1,5+2,25
Raiponce43,5+0,543,5+0,5+0,25
Résultat : sim(u, v) = 4,75 / 3,5 = +1,36 (limité à +1). Vous avez exactement les mêmes goûts !

2. La Similarité Cosinus (Angle entre Vecteurs)

$$sim(x, y) = \cos(\theta) = \frac{x \cdot y}{\|x\| \|y\|} = \frac{\sum x_i y_i}{\sqrt{\sum x_i^2} \sqrt{\sum y_i^2}}$$
sim(x, y) = cos(θ) = (x · y) / (‖x‖ × ‖y‖)
Ou : Σ(xi × yi) / √[Σ(xi²)] × √[Σ(yi²)]
  • sim(x, y)Similarité entre le vecteur x et y (0 à 1).
  • cos(θ)Le cosinus de l'angle entre les directions.
  • x · yLe produit scalaire (on multiplie et additionne).
  • ‖x‖La norme (longueur) du vecteur x.

Imagine deux flèches :

  • Même direction → angle petit → cosinus ≈ 1 → Très similaires
  • Perpendiculaires → angle 90° → cosinus = 0 → Pas similaires
  • Opposées → angle 180° → cosinus = -1 → Opposées

3. L'Indice de Jaccard (Ensemble)

$$J(A,B) = \frac{|A \cap B|}{|A \cup B|}$$
J(A, B) = |A ∩ B| / |A ∪ B|
  • A ∩ BL'intersection : les éléments dans A ET dans B (en commun).
  • A ∪ BL'union : TOUS les éléments différents de A et B.

Exemple (Boîtes de bonbons) :

Tes films = {Avengers, Toy Story, Raiponce}.
Films Thomas = {Avengers, Raiponce, Nemo}.
En commun = 2. Total différents = 4.
Jaccard = 2 / 4 = 0,5 (50% de similarité).

4. Prédiction de Notation

Basée Utilisateur

$$\hat{r}_{u,i} = \bar{r}_u + \frac{\sum \text{sim}(u,v) (r_{v,i} - \bar{r}_v)}{\sum \text{sim}(u,v)}$$

1. Prends ta moyenne.
2. Regarde tes amis similaires.
3. Ajuste selon ce qu'ils ont pensé du film, pondéré par votre similarité.

Basée Item

$$\hat{r}_{u,i} = \frac{\sum \text{sim}(i,j) r_{u,j}}{\sum \text{sim}(i,j)}$$

1. Trouve les films qui ressemblent à celui-ci.
2. Regarde la note que TU as donnée à ces films similaires.
3. Fais une moyenne pondérée.

5. Factorisation de Matrice (La Méthode Secrète)

Au lieu de noter directement les films, on utilise des caractéristiques cachées (facteurs latents) comme "comédie", "action".

Modèle de Base

$$\hat{r}_{ui} = q_i^T p_u$$
r̂ui = qi^T × pu
  • qiProfil du film (ex: [comédie=8, action=9]).
  • puTon profil (ex: [j'aime_comédie=2, j'aime_action=9]).

Modèle Amélioré avec Biais

$$\hat{r}_{ui} = \mu + b_u + b_i + q_i^T p_u$$
r̂ui = μ + bu + bi + qi^T × pu
  • μMoyenne globale.
  • bu / biBiais utilisateur (tu notes généreusement) / Biais film (film très populaire).

6. Fonction de Coût (L'ordinateur apprend)

$$\min_{p, q, b} \sum (r_{ui} - \hat{r}_{ui})^2 + \lambda \text{ (pénalité)}$$

L'ordinateur essaie de trouver les meilleurs profils p et q pour réduire l'erreur totale entre les prédictions et les vraies notes. Le λ empêche de tricher (surapprentissage).

7. Mesurer la Qualité (RMSE & MAE)

RMSE

Erreur Quadratique Moyenne. Punit fortement les très grosses erreurs.

√[Σ(rui - r̂ui)² / |T|]

MAE

Erreur Absolue Moyenne. Traite toutes les erreurs proportionnellement.

Σ|rui - r̂ui| / |T|

8 & 9. Décomposition & Facto Standard

$$r_{ui} = \sum_{f=1}^k q_{i,f} \cdot p_{u,f}$$

On multiplie chaque facteur de l'utilisateur par le facteur du film, puis on additionne. Par exemple, (Ton_goût_Action × Action_du_Film) + (Ton_goût_Comédie × Comédie_du_Film).

Standard avec Biais complet :

r̂ui = μ + bu + bi + qi^T × pu

10 & 11. Funk SVD et SVD++

10. Funk SVD

A = U × Σ × V^T

Technique pour casser la grande matrice pleine de trous (notes manquantes) en trois matrices denses plus petites (profils).

11. SVD++ (Facteurs Implicites)

$$\hat{r}_{ui} = \mu + b_u + b_i + q_i^T (p_u + |N(u)|^{-1/2} \sum y_j)$$

Ajoute les facteurs implicites (yj). Le simple fait que tu aies regardé/noté certains films donne une info sur toi, même si on ignore la note !

12 & 13. Optimisation et SGD

Objectif

min Σ(rui - r̂ui)² + λ(Σ‖pu‖² + Σ‖qi‖² + Σbu² + Σbi²)

Descente de Gradient (SGD)

On corrige nos paramètres à chaque petite erreur eui en faisant un petit pas γ (gamma).

eui = rui - r̂ui  // L'erreur
bu := bu + γ × (eui - λ × bu) // Correction biais utilisateur
bi := bi + γ × (eui - λ × bi) // Correction biais film
pu := pu + γ × (eui × qi - λ × pu) // Correction profil utilisateur
qi := qi + γ × (eui × pu - λ × qi) // Correction profil film

14. Régularisation (Lambda λ)

Le concept clé du Compromis Biais-Variance.

λ = 0

Surapprentissage (Overfitting). Mémorise trop, généralise mal.

λ optimal

L'équilibre parfait pour deviner les nouveaux films.

λ très élevé

Sous-apprentissage (Underfitting). Modèle trop rigide et générique.

15, 16 & 17. RMSE vs MAE : Le Verdict

RMSE (Root Mean Squared Error)

Punit sévèrement les erreurs catastrophiques. Si tu prédis 5 à un film que l'utilisateur déteste (note 1), le carré (4²) fera exploser l'erreur.

Choix métier : Éviter absolument de frustrer l'utilisateur au risque qu'il se désabonne (ex: Netflix).


MAE (Mean Absolute Error)

Totalement linéaire. Une erreur de 2 étoiles compte deux fois plus qu'une erreur de 1 étoile.

Choix métier : Idéal si toutes les erreurs ont un impact proportionnel (ex: prédiction de prix).