Fondations : détecteur, PFA, PD, ROC
Cette page pose les outils pour juger un détecteur, sans encore dire comment en construire un. La section 1 définit le problème de décision binaire et le modèle de détecteur. La section 2 en tire les métriques de performance, probabilités de fausse alarme et de détection, et la courbe ROC qui les résume. La section 3 étend ces métriques au cas de plusieurs hypothèses avec la matrice de confusion.
1. Problématique
Un récepteur mesure une valeur bruitée et doit décider si un signal est présent. En l'absence de signal, la mesure ne contient que du bruit ; en sa présence, elle s'en écarte. Le chapitre 2 estimait une valeur ; il faut maintenant choisir entre deux hypothèses :
où
est l'hypothèse nulle, l'état par défaut (bruit seul), est l'hypothèse alternative, l'état à détecter (signal présent), et sont les lois des données sous chaque hypothèse, supposées connues.
Modèle de détecteur
Un détecteur est caractérisé par une statistique de test
- décider
si ,
où
est une fonction scalaire des données, choisie par nous, est le seuil de décision, à régler.
Dans le chapitre 2, l'estimateur était une fonction
DANGER
Attention à ne pas confondre l'hypothèse vraie, inconnue, et l'hypothèse décidée, produite par le détecteur. Les métriques de cette page mesurent précisément leurs désaccords.
Exemple : détection d'un décalage de moyenne
Une mesure unique
Figure 3.1, Les densités des deux hypothèses, figures/ch3/01-hypotheses-gaussiennes.py).
Les deux densités se recouvrent : une même valeur observée,
2. Métriques de performance
Définition
Définition, Probabilités de fausse alarme et de détection
Pour un détecteur de statistique
où
est la probabilité de fausse alarme, décider alors que est vraie (erreur de première espèce, notée ), est la probabilité de détection, décider quand est vraie (la puissance du test), est la probabilité de manque (erreur de seconde espèce, notée ).
Un bon détecteur a une
| Détection | Machine learning | Définition |
|---|---|---|
| rappel (recall), sensibilité, taux de vrais positifs (TPR) | ||
| taux de faux positifs (FPR) | ||
| spécificité, taux de vrais négatifs (TNR) | ||
| taux de faux négatifs (FNR) |
La précision (precision), fréquente en apprentissage automatique, est absente de ce tableau : elle dépend des proportions relatives des deux hypothèses, et sa définition attend la matrice de confusion du §3.
Confusion classique
«
Illustration
Figure 3.2a, Le seuil figures/ch3/01-seuil-metriques.py).
Figure 3.2b,
Les deux métriques se lisent comme des aires au-delà du seuil, chacune sous sa densité. Déplacer
Exemple : décalage de moyenne Gaussien
Pour
Au seuil
import scipy.stats as sta
mu1, sigma, gamma = 2.0, 1.0, 1.0
pfa = sta.norm.sf(gamma, 0, sigma) # >>> 0.1587
pd = sta.norm.sf(gamma, mu1, sigma) # >>> 0.8413import numpy as np
rng = np.random.default_rng(2026)
mu1, sigma, gamma, B = 2.0, 1.0, 1.0, 100_000
x_h0 = rng.normal(0.0, sigma, B) # B draws under H0
x_h1 = rng.normal(mu1, sigma, B) # B draws under H1
pfa = np.mean(x_h0 > gamma) # >>> 0.1577 (predicted: 0.1587)
pd = np.mean(x_h1 > gamma) # >>> 0.8427 (predicted: 0.8413)Courbe ROC
Un couple
Définition, Courbe ROC
La courbe ROC (receiver operating characteristic) d'un détecteur est la courbe de
La courbe est croissante et relie
Pour le décalage de moyenne, la courbe admet une forme fermée. En éliminant
où
Figure 3.3, Courbes ROC du décalage de moyenne pour figures/ch3/01-roc.py).
Plus
3. Extension au cas multi-hypothèses
Beaucoup de problèmes comptent plus de deux hypothèses : un symbole parmi quatre en démodulation, un chiffre manuscrit parmi dix. Les hypothèses deviennent
Définition
Définition, Matrice de confusion
La matrice de confusion d'un détecteur à
soit, en disposant l'hypothèse vraie en ligne et l'hypothèse décidée en colonne :
où
- la diagonale porte les probabilités de décision correcte,
- chaque terme hors diagonale porte une confusion particulière, décider
alors que est vraie.
Chaque ligne somme à 1. En pratique,
Le cas binaire s'y retrouve : pour
Métriques dérivées
Trois résumés de la matrice sont d'usage constant :
- l'exactitude (accuracy) est la probabilité de décision correcte toutes hypothèses confondues, la moyenne des termes diagonaux pondérée par les proportions de chaque hypothèse ;
- le rappel de la classe
est , la proportion des cas de correctement décidés, la généralisation directe de ; - la précision de la classe
est la proportion de décisions « » qui sont correctes, calculée sur la colonne .
DANGER
Exemple : trois moyennes Gaussiennes
Trois hypothèses de moyennes
import numpy as np
rng = np.random.default_rng(2026)
means = np.array([-2.0, 0.0, 2.0])
sigma, B = 1.0, 20_000
K = len(means)
confusion = np.zeros((K, K))
for k in range(K):
x = rng.normal(means[k], sigma, B) # B draws under H_k
decided = np.abs(x[:, None] - means[None, :]).argmin(axis=1)
for kp in range(K):
confusion[k, kp] = np.mean(decided == kp)
accuracy = np.trace(confusion) / K # >>> 0.7891 (predicted: 0.7885)Figure 3.4, Matrice de confusion du détecteur à moyenne la plus proche, trois hypothèses Gaussiennes de moyennes figures/ch3/01-matrice-confusion.py).
La diagonale porte les rappels :
