Formation ML / Bayesian Statistics

Inference Bayesienne

Intermediaire 45 min 12 sections

Decouvrez l'inference bayesienne, la mise a jour de croyances par les donnees. Prior, posterior, conjugaison beta-binomiale et intervalles de credibilite, appliques a un test A/B reel.

Objectifs d'apprentissage

  • Comprendre le trio prior, vraisemblance, posterior
  • Calculer un posterior exact avec la conjugaison beta-binomiale
  • Mettre a jour une croyance sequentiellement quand les donnees arrivent
  • Distinguer intervalle de credibilite et intervalle de confiance
  • Prendre une decision A/B en raisonnant en probabilites

Prerequis

Notions de base en probabilites (module Naive Bayes recommande)

Theorie

Prior, vraisemblance, posterior: la machine a apprendre

Dans le module Naive Bayes, le theoreme de Bayes servait a classifier une observation.

L'inference bayesienne l'utilise pour quelque chose de plus general: mettre a jour une croyance

sur un parametre inconnu $\theta$ (un taux de conversion, un coefficient, une moyenne...) a mesure

que les donnees arrivent.

Le theoreme de Bayes version inference:

$$P(\theta \mid \text{donnees}) = \frac{P(\text{donnees} \mid \theta) \cdot P(\theta)}{P(\text{donnees})}$$

Chaque terme a un nom et un role:

  • $P(\theta)$ = prior: ce que l'on croit sur $\theta$ AVANT de voir les donnees

(connaissance metier, etudes passees, ou ignorance assumee)

  • $P(\text{donnees} \mid \theta)$ = vraisemblance: a quel point les donnees observees

sont plausibles pour chaque valeur possible de $\theta$

  • $P(\theta \mid \text{donnees})$ = posterior: la croyance mise a jour, le resultat de l'inference
  • $P(\text{donnees})$ = evidence: une constante de normalisation (elle ne depend pas de $\theta$)

La difference fondamentale avec l'approche classique:

ApprocheLe parametre __MATH_39d8dddd__ est...Resultat de l'estimation
Frequentiste (modules 1 a 16)une valeur fixe inconnueun nombre (estimation ponctuelle)
Bayesienneune variable aleatoireune distribution entiere

Au lieu de dire "le taux de conversion est 8.5%", on dira "le taux de conversion suit cette

distribution, centree sur 8.5%, avec 95% de chances d'etre entre 6% et 12%".

Toute l'incertitude est conservee et exploitable pour la decision.

Theorie

Schema: le cycle de mise a jour bayesienne

Le cycle prior, donnees, posterior:

flowchart LR PRIOR["Prior P(theta)
croyance initiale"] LIKE["Vraisemblance
P(donnees | theta)"] BAYES["Theoreme
de Bayes"] POST["Posterior
P(theta | donnees)"] PRIOR --> BAYES LIKE --> BAYES BAYES --> POST POST -.->|"nouvelles donnees ?
le posterior devient le prior"| PRIOR style PRIOR fill:#E5D7F5,color:#1A1A1A style LIKE fill:#d4edda,color:#1A1A1A style BAYES fill:#9B7AC4,color:#fff style POST fill:#F7E64D,color:#1A1A1A

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

On veut estimer $p$, la probabilite qu'un visiteur convertisse. La loi Beta est parfaite

pour representer une croyance sur une proportion (elle vit entre 0 et 1), et la loi Binomiale

decrit le nombre de succes observes.

On choisit un prior $\textcolor{#9B7AC4}{\text{Beta}(a=2, b=2)}$ (leger doute symetrique autour de 50%),

puis on observe $\textcolor{#3498db}{k = 3}$ conversions sur $\textcolor{#3498db}{n = 10}$ visiteurs.

Magie de la conjugaison (demontree dans une section avancee plus bas): le posterior est

encore une Beta, avec des parametres 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}$$

Legende des couleurs:

  • $\textcolor{#9B7AC4}{Violet}$ : parametres du prior (croyance initiale)
  • $\textcolor{#3498db}{Bleu}$ : donnees observees (3 succes, 7 echecs)
  • $\textcolor{#27ae60}{Vert}$ : posterior (croyance mise a jour)

Interpretation: les donnees brutes suggerent 30% (3/10), le prior tirait vers 50%,

le posterior fait le compromis a 35.7%. Plus il y aura de donnees, plus le poids du prior

deviendra negligeable: avec 1000 visiteurs, prior Beta(2,2) ou Beta(20,20) donneraient

quasiment le meme posterior.

Avance Exercice manuel: A vous de calculer!

## Calculez un posterior a la main

Pas besoin d'ordinateur, juste des additions!

Contexte: vous testez un nouveau bouton d'achat. Votre experience passee 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 parametres 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 frequence observee: $\frac{9}{40}$
  • la moyenne du posterior

Ou 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 ?

Avance Solution de l'exercice manuel

## Solution detaillee

Question 1: parametres du posterior

La regle de conjugaison: on ajoute les succes a $a$ et les echecs a $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__MATH_efd1dbe5__
Frequence observee__MATH_a0ca0ba4__
Moyenne du posterior__MATH_5c752503__

Le posterior est entre le prior et les donnees: c'est une moyenne ponderee.

Le prior "pese" $a + b = 20$ observations virtuelles, les donnees pesent $n = 40$

observations reelles. Les donnees pesent deux fois plus lourd, donc le posterior

est deux fois plus proche de la frequence observee 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 a la frequence observee (0.225).

C'est la lecon cle: **le prior compte quand les donnees sont rares, il s'efface quand

elles abondent**.

Code

Explorer les donnees

Cliquez sur "Executer" pour voir le resultat
Contenu verrouille section restante
5 / 12

Continuez votre apprentissage

Vous avez explore 5 sections de ce module. Connectez-vous pour debloquer le reste du cours, incluant les exercices pratiques et les solutions.

Console Python

Raccourcis clavier
Ctrl/Cmd+Enter Executer
Ctrl/Cmd+Shift+/ Commenter
Tab Indenter
Shift+Tab Desindenter
Ctrl/Cmd+Z Annuler
Ctrl/Cmd+Y Retablir
Ctrl+Enter pour executer
Cliquez sur "Executer" pour voir le resultat