Formation ML / Statistiques bayésiennes

Inférence bayésienne

Intermédiaire 45 min 13 sections

Le paramètre cesse d'être un nombre pour devenir une distribution, mise à jour à chaque nouvelle donnée.

Objectifs d'apprentissage

  • Comprendre le trio prior, vraisemblance, posterior
  • Calculer un posterior exact avec la conjugaison bêta-binomiale
  • Mettre à jour une croyance séquentiellement quand les données arrivent
  • Distinguer intervalle de crédibilité et intervalle de confiance
  • Prendre une décision A/B en raisonnant en probabilités

Prérequis

Notions de base en probabilités (module Naive Bayes recommandé)

Théorie

Prior, vraisemblance, posterior: la machine à apprendre

Dans le module Naive Bayes, le théorème de Bayes servait à classifier une observation. L'inférence bayésienne l'utilise pour quelque chose de plus général: mettre à jour une croyance sur un paramètre inconnu $\theta$ (un taux de conversion, un coefficient, une moyenne...) à mesure que les données arrivent.

Le théorème de Bayes version inférence:

$$P(\theta \mid \text{données}) = \frac{P(\text{données} \mid \theta) \cdot P(\theta)}{P(\text{données})}$$

Chaque terme à un nom et un rôle:

  • $P(\theta)$ = prior: ce que l'on croit sur $\theta$ AVANT de voir les données (connaissance métier, études passées, ou ignorance assumée)
  • $P(\text{données} \mid \theta)$ = vraisemblance: à quel point les données observées sont plausibles pour chaque valeur possible de $\theta$
  • $P(\theta \mid \text{données})$ = posterior: la croyance mise à jour, le résultat de l'inférence
  • $P(\text{données})$ = evidence: une constante de normalisation (elle ne dépend pas de $\theta$)

La différence fondamentale avec l'approche classique:

ApprocheLe paramètre $\theta$ est...Résultat de l'estimation
Fréquentiste (modules 1 à 16)une valeur fixe inconnueun nombre (estimation ponctuelle)
Bayésienneune variable aléatoireune distribution entière

Au lieu de dire "le taux de conversion est 8.5%", on dira "le taux de conversion suit cette distribution, centrée sur 8.5%, avec 95% de chances d'être entre 6% et 12%". Toute l'incertitude est conservée et exploitable pour la décision.

Théorie

Schéma: le cycle de mise à jour bayésienne

Le cycle prior, données, posterior:

flowchart LR PRIOR["Prior P(theta)
croyance initiale"] LIKE["Vraisemblance
P(données | theta)"] BAYES["Théorème
de Bayes"] POST["Posterior
P(theta | données)"] PRIOR --> BAYES LIKE --> BAYES BAYES --> POST POST -.->|"nouvelles données ?
le posterior devient le prior"| PRIOR class PRIOR ml-node-secondary class LIKE ml-node-success class BAYES ml-node-main class POST ml-node-accent

Exemple concret: le taux de conversion d'une page web

On veut estimer $p$, la probabilité qu'un visiteur convertisse. La loi Beta est parfaite pour représenter une croyance sur une proportion (elle vit entre 0 et 1), et la loi Binomiale décrit le nombre de succès observés.

On choisit un prior $\textcolor{#9B7AC4}{\text{Beta}(a=2, b=2)}$ (léger doute symétrique autour de 50%), puis on observe $\textcolor{#3498db}{k = 3}$ conversions sur $\textcolor{#3498db}{n = 10}$ visiteurs.

Magie de la conjugaison (démontrée dans une section avancée plus bas): le posterior est encore une Beta, avec des paramètres simplement additionnes:

$$\text{Posterior} = \text{Beta}(\textcolor{#9B7AC4}{a} + \textcolor{#3498db}{k},\; \textcolor{#9B7AC4}{b} + \textcolor{#3498db}{n - k}) = \text{Beta}(\textcolor{#9B7AC4}{2} + \textcolor{#3498db}{3},\; \textcolor{#9B7AC4}{2} + \textcolor{#3498db}{7}) = \textcolor{#27ae60}{\text{Beta}(5, 9)}$$

La moyenne du posterior vaut:

$$\mathbb{E}[p] = \frac{a + k}{a + b + n} = \frac{5}{14} \approx \textcolor{#27ae60}{0.357}$$

Légende des couleurs:

  • $\textcolor{#9B7AC4}{Violet}$ : paramètres du prior (croyance initiale)
  • $\textcolor{#3498db}{Bleu}$ : données observées (3 succès, 7 échecs)
  • $\textcolor{#27ae60}{Vert}$ : posterior (croyance mise à jour)

Interprétation: les données brutes suggèrent 30% (3/10), le prior tirait vers 50%, le posterior fait le compromis à 35.7%. Plus il y aura de données, plus le poids du prior deviendra négligeable: avec 1000 visiteurs, prior Beta(2,2) ou Beta(20,20) donneraient quasiment le même posterior.

Avancé Exercice manuel: À vous de calculer!

Calculez un posterior à la main

Pas besoin d'ordinateur, juste des additions!

Contexte: vous testez un nouveau bouton d'achat. Votre expérience passée sur des boutons similaires vous fait partir d'un prior $\text{Beta}(a=3, b=17)$ (croyance: taux autour de 15%).

Vous observez 40 visiteurs dont 9 conversions.

Question 1: quels sont les paramètres du posterior $\text{Beta}(a', b')$ ?

Question 2: quelle est la moyenne du posterior $\mathbb{E}[p] = \frac{a'}{a' + b'}$ ?

Question 3: comparez trois estimations du taux:

  • la moyenne du prior: $\frac{3}{20}$
  • la fréquence observée: $\frac{9}{40}$
  • la moyenne du posterior

Où se situe le posterior par rapport aux deux autres ? Pourquoi ?

Question 4 (bonus): si vous aviez utilise le prior "je ne sais rien" $\text{Beta}(1, 1)$ (uniforme entre 0 et 1), quelle serait la moyenne du posterior ?

Avancé Solution de l'exercice manuel

Solution détaillée

Question 1: paramètres du posterior

La règle de conjugaison: on ajoute les succès à $a$ et les échecs à $b$.

$$a' = a + k = 3 + 9 = 12$$

$$b' = b + (n - k) = 17 + 31 = 48$$

Le posterior est $\text{Beta}(12, 48)$.

Question 2: moyenne du posterior

$$\mathbb{E}[p] = \frac{12}{12 + 48} = \frac{12}{60} = 0.20$$

Question 3: comparaison

EstimationValeur
Moyenne du prior$3/20 = 0.15$
Fréquence observée$9/40 = 0.225$
Moyenne du posterior$12/60 = 0.20$

Le posterior est entre le prior et les données: c'est une moyenne pondérée. Le prior "pèse" $a + b = 20$ observations virtuelles, les données pèsent $n = 40$ observations réelles. Les données pèsent deux fois plus lourd, donc le posterior est deux fois plus proche de la fréquence observée que du prior:

$$\mathbb{E}[p] = \frac{20}{60} \times 0.15 + \frac{40}{60} \times 0.225 = 0.05 + 0.15 = 0.20$$

Question 4: avec le prior uniforme Beta(1, 1)

$$\text{Posterior} = \text{Beta}(1 + 9, 1 + 31) = \text{Beta}(10, 32)$$

$$\mathbb{E}[p] = \frac{10}{42} \approx 0.238$$

Avec un prior quasi neutre, le posterior colle presque à la fréquence observée (0.225). C'est la leçon clé: le prior compte quand les données sont rares, il s'efface quand elles abondent.

Code

Explorer les données

Ctrl+Entrée
Cliquez sur "Exécuter" pour voir le résultat
Contenu verrouillé
5 / 13

Continuez votre apprentissage

Vous avez exploré 5 sections de ce module. Connectez-vous pour débloquer le reste du cours, incluant les exercices pratiques et les solutions.

Console Python

Raccourcis clavier
Ctrl/Cmd+Enter Exécuter
Ctrl/Cmd+Shift+/ Commenter
Tab Indenter
Shift+Tab Désindenter
Ctrl/Cmd+Z Annuler
Ctrl/Cmd+Y Rétablir
Ctrl+Entrée pour exécuter
Cliquez sur "Exécuter" pour voir le résultat