Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Licenza YOLO
Torna al glossario di Ultralytics

Bayesian Network

Una rete bayesiana modella le variabili e le loro dipendenze condizionali come un grafo aciclico diretto, consentendo alle evidenze di aggiornare le probabilità delle cause.

Una rete bayesiana, detta anche rete di credenze, è un modello grafico probabilistico che rappresenta un insieme di variabili casuali e le relative dipendenze condizionali mediante un grafo aciclico diretto (DAG). Ogni nodo rappresenta una variabile, come una malattia, un sintomo o una lettura di un sensore, e ogni freccia indica un’influenza diretta sulla variabile che raggiunge. Ogni nodo contiene una tabella di probabilità condizionali che specifica la sua distribuzione per ogni combinazione dei valori dei nodi genitori; nel loro insieme, queste tabelle definiscono la distribuzione congiunta completa di tutte le variabili. Date le evidenze relative ad alcune variabili, la rete calcola le probabilità aggiornate delle altre, offrendo uno strumento per la diagnosi, la valutazione dei rischi e il supporto decisionale in condizioni di incertezza. Judea Pearl sviluppò gran parte della teoria negli anni Ottanta; il suo lavoro sul ragionamento probabilistico e causale gli valse il Turing Award nel 2011.

Struttura e tabelle di probabilità condizionali#

Il grafo codifica l’indipendenza condizionale: ogni variabile è indipendente dalle variabili che non sono sue discendenti, una volta noti i suoi genitori. In questo modo, la distribuzione congiunta si scompone in piccoli elementi locali: P(X1, ..., Xn) = P(X1 | parents(X1)) × ... × P(Xn | parents(Xn)). La classica rete furto-allarme degli studi di Pearl, usata nel manuale Artificial Intelligence: A Modern Approach di Russell e Norvig, ha cinque variabili sì/no. Un furto o un terremoto possono attivare un allarme domestico; l’allarme induce due vicini, John e Mary, a chiamare il proprietario.

Una tabella congiunta completa di cinque variabili binarie richiede 31 probabilità indipendenti. Alla rete ne bastano 10: una per il furto e una per il terremoto, quattro per l’allarme date le combinazioni dei suoi due genitori e due per ciascun vicino, in base all’allarme. Il risparmio cresce rapidamente con l’aumentare delle variabili, perché la dimensione di ogni tabella dipende solo dal numero di genitori del suo nodo.

Inferenza: aggiornare le credenze in base alle evidenze#

L’inferenza fissa le variabili osservate e calcola la distribuzione a posteriori di una variabile interrogata applicando il teorema di Bayes al grafo. Funziona in qualsiasi direzione: dalle cause agli effetti (predizione), dagli effetti alle cause (diagnosi) e tra cause di uno stesso effetto. Quest’ultimo schema, detto spiegazione per esclusione, significa che, una volta appurato che l’allarme è scattato, sapere che si è verificato un terremoto riduce la probabilità di un furto. L’inferenza esatta tramite enumerazione o eliminazione di variabili è trattabile su reti piccole o simili ad alberi, ma in generale è NP-hard; perciò, le reti grandi ricorrono a metodi approssimati come la ponderazione per verosimiglianza, il campionamento di Gibbs o la propagazione iterativa delle credenze.

Questo esempio risponde tramite enumerazione alla query P(Burglary | John calls, Mary calls) del manuale, sommando la distribuzione congiunta fattorizzata rispetto alle variabili non osservate terremoto e allarme:

from itertools import product

# Conditional probability tables of the burglary-alarm network
p_burglary, p_earthquake = 0.001, 0.002
p_alarm = {(True, True): 0.95, (True, False): 0.94, (False, True): 0.29, (False, False): 0.001}
p_john = {True: 0.90, False: 0.05}  # P(John calls | alarm)
p_mary = {True: 0.70, False: 0.01}  # P(Mary calls | alarm)


def bern(p, value):
    """Return the probability of a binary outcome with success probability p."""
    return p if value else 1 - p


# Evidence: both neighbors called. Sum the factored joint over the hidden variables.
joint = {True: 0.0, False: 0.0}
for b, e, a in product([True, False], repeat=3):
    joint[b] += bern(p_burglary, b) * bern(p_earthquake, e) * bern(p_alarm[b, e], a) * p_john[a] * p_mary[a]

print(f"P(burglary | John and Mary call) = {joint[True] / sum(joint.values()):.3f}")

Lo script stampa 0.284, la stessa risposta del manuale. Le due chiamate aumentano la probabilità di un furto da 1 su 1,000 a circa il 28%; il restante 72% corrisponde a spiegazioni senza furto, come un allarme attivato da un terremoto o da un guasto, perché i furti sono molto rari.

Apprendimento delle reti bayesiane dai dati#

Una rete può essere costruita manualmente sulla base delle conoscenze degli esperti, appresa dai dati oppure realizzata con entrambi i metodi. L’apprendimento dei parametri ricava le tabelle di probabilità condizionali dalle frequenze osservate, usando distribuzioni a priori per regolarizzare le combinazioni rare e l’algoritmo di massimizzazione delle aspettative quando mancano alcuni valori. L’apprendimento della struttura ricerca il grafo stesso, assegnando un punteggio ai grafi candidati con un criterio come il criterio informativo bayesiano oppure eseguendo test di indipendenza condizionale, come fa l’algoritmo PC. Le frecce apprese mostrano una dipendenza statistica; interpretarle come cause richiede le ulteriori ipotesi studiate nell’ambito della scoperta causale. Librerie Python come pgmpy implementano entrambi i tipi di apprendimento, oltre all’inferenza esatta e approssimata.

Applicazioni nel mondo reale#

  • Diagnosi medica: le reti collegano le malattie ai sintomi e ai risultati degli esami che provocano, così le osservazioni di un medico aggiornano la probabilità di ogni condizione e ogni conclusione può essere ricondotta ai passaggi del grafo, una forma di IA spiegabile.
  • Diagnosi dei guasti: i sistemi industriali e IT modellano il modo in cui i guasti dei componenti si propagano agli allarmi e alle letture. Nell’ispezione visiva, le classi di difetti individuate da un rilevatore YOLO26 possono essere inserite nella rete come evidenze osservate, aggiornando la probabilità di ogni causa radice a monte, come un utensile usurato o una macchina non calibrata.
  • Valutazione dei rischi: ecologi, assicuratori e ingegneri della sicurezza combinano dati scarsi e valutazioni di esperti in reti che stimano la probabilità di eventi rari.
  • Naive Bayes: una rete bayesiana con un solo nodo di classe come genitore di ogni feature, che presuppone che le feature siano indipendenti data la classe.
  • Campi casuali di Markov: modelli grafici con archi non orientati, adatti a relazioni simmetriche come quelle tra pixel vicini in un’immagine.
  • Processi decisionali di Markov: modelli di decisioni sequenziali con azioni che modificano lo stato e ricompense da massimizzare, nonché il quadro standard dell’apprendimento per rinforzo. Una rete bayesiana include decisioni e ricompense solo quando viene estesa con nodi decisionali e di utilità, formando un diagramma d’influenza.
  • Modelli di Markov nascosti: una rete bayesiana dinamica, che ripete la stessa struttura a ogni passo temporale e ha uno stato nascosto che genera un’osservazione per passo. I filtri di Kalman hanno la stessa struttura, con stati continui e transizioni e osservazioni lineari gaussiane.

Esplora le soluzioni

La visione artificiale nello sport

La visione artificiale nello sport

Scopri come Ultralytics YOLO alimenta la computer vision nello sport con il tracciamento di giocatori e palloni, l'analisi delle prestazioni, gli approfondimenti per gli allenatori e la riabilitazione degli atleti.
Scopri di più
Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini aeree e riprese da drone in informazioni utili in tempo reale per agricoltura, acquacoltura, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Applica la visione artificiale nel settore aerospaziale con Ultralytics YOLO per l'ispezione degli aeromobili, il rilevamento di FOD sulle piste, le operazioni di terra aeroportuali e il rilevamento di difetti nei materiali compositi.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'IA!

Inizia il tuo percorso verso il futuro del machine learning