Un réseau bayésien est un modèle probabiliste représenté par un graphe orienté acyclique (DAG) dont les nœuds correspondent à des variables aléatoires et les arcs décrivent des dépendances conditionnelles entre ces variables. Chaque nœud est associé à une distribution conditionnelle (table de probabilité conditionnelle pour variables discrètes, ou paramètres de distribution pour variables continues) qui spécifie la probabilité de la variable donnée les valeurs de ses parents dans le graphe. Le réseau permet de représenter et de raisonner sur des incertitudes, puis d'effectuer de l'inférence pour estimer des probabilités, faire des prédictions ou expliquer des observations.
Le lien avec le théorème de Bayes et la factorisation
Le fonctionnement des réseaux bayésiens repose sur le théorème de Bayes (découvert par le révérend Thomas Bayes au XVIIIe siècle) et sur la propriété de factorisation suivante : si on a les variables X1, X2, …, Xn et pour chaque Xi on note Parents(Xi) l'ensemble de ses parents dans le graphe, alors la distribution conjointe se factorise comme
P(X1, ..., Xn) = ∏i=1n P(Xi | Parents(Xi)).
Cette factorisation réduit fortement le nombre de paramètres à spécifier lorsque les dépendances conditionnelles sont locales, ce qui rend possible la modélisation de systèmes complexes.
Indépendances conditionnelles et concepts clés
- Indépendance conditionnelle : le graphe encode quelles variables sont (conditionnellement) indépendantes les unes des autres. Par exemple, si A -> B -> C, alors A et C sont indépendantes conditionnellement à B.
- Markov blanket : pour une variable donnée, sa « couverture de Markov » est l'ensemble formé de ses parents, de ses enfants et des autres parents de ses enfants. Connaître la Markov blanket rend la variable indépendante du reste du réseau.
- D-separation : règle graphique utilisée pour décider si deux ensembles de variables sont indépendants conditionnellement à un troisième ensemble.
Inférence dans les réseaux bayésiens
L'inférence consiste à calculer des probabilités conditionnelles ou à trouver la valeur la plus probable d'un ensemble de variables compte tenu d'observations. On distingue :
- Inférence exacte : algorithmes comme l'élimination de variables, l'algorithme de branchement et bornes, et les arbres de jonction (junction tree). Ces méthodes donnent des résultats précis mais peuvent être exponentielles en temps et mémoire pour des graphes denses ou de grande taille.
- Inférence approchée : méthodes utiles quand l'exact est impraticable, par exemple l'échantillonnage Monte-Carlo (Gibbs sampling, importance sampling), la propagation de croyance approximative (loopy belief propagation) ou les algorithmes variationnels.
Complexité : en général, l'inférence exacte dans les réseaux bayésiens est NP-difficile et le calcul de certaines quantités est #P-difficile.
Apprentissage des réseaux bayésiens
On distingue deux tâches principales :
- Apprentissage des paramètres : lorsque la structure est connue, les paramètres (tables conditionnelles) peuvent être estimés par maximum de vraisemblance (MLE) ou par estimation bayésienne (avec des priors). Si certaines variables sont cachées, on utilise souvent l'algorithme EM (Expectation-Maximization).
- Apprentissage de la structure : déterminer le graphe optimal à partir de données. Les approches sont :
- score-based (optimiser un critère tel que BIC, BDeu) et rechercher la meilleure structure par heuristiques, recherche locale, ou méthodes basées sur l'optimisation,
- constraint-based (tester des indépendances conditionnelles dans les données, ex. algorithme PC),
- méthodes hybrides combinant les deux précédentes.
Pour les variables continues, on peut utiliser des réseaux bayésiens gaussiens ou des modèles mixtes; pour les séries temporelles, les réseaux bayésiens dynamiques (DBN) généralisent le concept (un exemple simple : les chaînes de Markov cachées).
Exemple simple
Un exemple très fréquent pour illustrer la notion est le triplet Rain, Sprinkler, WetGrass :
- Rain → WetGrass
- Sprinkler → WetGrass
La probabilité que la pelouse soit mouillée dépend de la pluie et du sprinkler ; connaissant l'état de la pelouse, les événements pluie et sprinkler deviennent dépendants (explaining away). Les distributions conditionnelles (CPT) spécifient P(Rain), P(Sprinkler | Rain) et P(WetGrass | Rain, Sprinkler).
Usages et applications
- Diagnostic médical (maladie ↔ symptômes), aide à la décision en santé.
- Vision par ordinateur et reconnaissance d'images (classification, segmentation probabiliste).
- Traitement du langage naturel et désambiguïsation.
- Robotique et fusion de capteurs pour estimer l'état du monde.
- Systèmes de recommandation, détection d'anomalies, et fouille de données.
- Modélisation causale : bien que ce ne soit pas automatique, les réseaux causaux (un type de réseaux bayésiens) sont utilisés pour raisonner sur les effets d'interventions.
Avantages et limites
- Avantages : représentation graphique intuitive, capacité à intégrer du savoir a priori, traitement explicite de l'incertitude, factorisation qui réduit les paramètres nécessaires.
- Limites : apprentissage de la structure coûteux en données et en calcul, inférence exacte souvent intractable pour de grands réseaux, choix des variables et discrétisation parfois délicats, sensibilité aux hypothèses d'indépendance.
Outils pratiques
Plusieurs bibliothèques et logiciels existent pour construire, apprendre et effectuer l'inférence avec des réseaux bayésiens, par exemple :
- Python : pgmpy, pomegranate
- R : bnlearn
- MATLAB : Bayes Net Toolbox
- Solutions commerciales/GUI : Netica, GeNIe/SMILE
Conseils pratiques
- Commencer par un modèle simple et interprétable ; ajouter de la complexité uniquement si nécessaire.
- Vérifier les dépendances avec des tests statistiques et la validation croisée lors de l'apprentissage de la structure.
- Choisir des méthodes d'inférence approchées pour les très grands modèles.
En synthèse, un réseau bayésien est un outil puissant pour modéliser des incertitudes et effectuer de l'inférence probabiliste à partir de connaissances partielles ou de données. Il s'appuie sur le théorème de Bayes et sur la structure du graphe pour rendre tractable la représentation et le calcul de distributions conjointes complexes.