Ultralytics YOLO27: Entre na lista de espera.
Licenciar o YOLO
Voltar ao glossário da Ultralytics

Bayesian Network

Uma rede bayesiana modela variáveis e as suas dependências condicionais como um grafo acíclico dirigido, permitindo que as evidências atualizem as probabilidades das causas.

Uma rede bayesiana, também chamada de rede de crenças, é um modelo gráfico probabilístico que representa um conjunto de variáveis aleatórias e suas dependências condicionais por meio de um grafo acíclico direcionado (DAG). Cada nó é uma variável, como uma doença, um sintoma ou uma leitura de sensor, e cada seta aponta de uma influência direta para a variável afetada por ela. Cada nó armazena uma tabela de probabilidades condicionais que fornece sua distribuição para cada combinação dos valores de seus pais, e essas tabelas, em conjunto, definem a distribuição conjunta completa de todas as variáveis. Dadas evidências sobre algumas variáveis, a rede calcula probabilidades atualizadas para as demais, o que a torna uma ferramenta para diagnóstico, avaliação de riscos e apoio à tomada de decisões sob incerteza. Judea Pearl desenvolveu grande parte da teoria na década de 1980, e seu trabalho sobre raciocínio probabilístico e causal lhe rendeu o Prêmio Turing de 2011.

Estrutura e tabelas de probabilidades condicionais#

O grafo codifica independência condicional: cada variável é independente das variáveis que não são suas descendentes quando seus pais são conhecidos. Isso permite fatorar a distribuição conjunta em pequenas partes locais, P(X1, ..., Xn) = P(X1 | pais(X1)) × ... × P(Xn | pais(Xn)). A clássica rede de alarme e roubo do trabalho de Pearl, usada em todo o livro Inteligência Artificial: Uma Abordagem Moderna, de Russell e Norvig, tem cinco variáveis binárias. Um roubo ou um terremoto pode disparar um alarme residencial, e o alarme leva dois vizinhos, John e Mary, a ligar para o proprietário.

Uma tabela conjunta completa para cinco variáveis binárias precisa de 31 probabilidades independentes. A rede precisa de 10: uma para o roubo e outra para o terremoto, quatro para o alarme dadas cada combinação de seus dois pais e duas para cada vizinho dado o alarme. A economia cresce rapidamente com mais variáveis, pois o tamanho de cada tabela depende apenas do número de pais do nó.

Inferência: atualização de crenças com base em evidências#

A inferência fixa as variáveis observadas e calcula a distribuição a posteriori de uma variável de consulta aplicando o teorema de Bayes ao longo do grafo. Ela funciona em qualquer direção: das causas para os efeitos (previsão), dos efeitos para as causas (diagnóstico) e entre causas de um efeito compartilhado. Esse último padrão, chamado de explicação por eliminação, significa que, ao saber que o alarme tocou, descobrir que houve um terremoto reduz a probabilidade de um roubo. A inferência exata por enumeração ou eliminação de variáveis é tratável em redes pequenas ou em forma de árvore, mas é NP-difícil em geral; por isso, redes grandes usam métodos aproximados, como ponderação por verossimilhança, amostragem de Gibbs ou propagação iterativa de crenças.

Este exemplo responde à consulta do livro P(Roubo | John liga, Mary liga) por enumeração, somando a distribuição conjunta fatorada sobre as variáveis não observadas de terremoto e alarme:

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}")

O script imprime 0.284, a mesma resposta apresentada no livro. Duas ligações aumentam a probabilidade de um roubo de 1 em 1,000 para cerca de 28%, e os outros 72% correspondem a explicações sem roubo, como um alarme disparado por um terremoto ou por uma falha, pois roubos são muito raros.

Aprendizado de redes bayesianas a partir de dados#

Uma rede pode ser criada manualmente com base no conhecimento de especialistas, aprendida a partir de dados ou construída das duas formas. O aprendizado de parâmetros preenche as tabelas de probabilidades condicionais com frequências observadas, usando distribuições a priori para suavizar combinações raras e o algoritmo de maximização da expectativa quando faltam alguns valores. O aprendizado de estrutura busca o próprio grafo, seja pontuando grafos candidatos com um critério como o critério de informação bayesiano, seja executando testes de independência condicional, como faz o algoritmo PC. As setas aprendidas mostram dependência estatística, e interpretá-las como causas exige as hipóteses adicionais estudadas na descoberta causal. Bibliotecas Python como pgmpy implementam os dois tipos de aprendizado, além de inferência exata e aproximada.

Aplicações no mundo real#

  • Diagnóstico médico: As redes relacionam doenças aos sintomas e resultados de exames que elas causam; assim, as observações de um profissional de saúde atualizam a probabilidade de cada condição, e é possível rastrear cada conclusão pelo grafo, uma forma de IA explicável.
  • Diagnóstico de falhas: Sistemas industriais e de TI modelam como as falhas de componentes se propagam para alarmes e leituras. Na inspeção visual, as classes de defeitos identificadas por um detector YOLO26 podem entrar na rede como evidências observadas que atualizam a probabilidade de cada causa raiz a montante, como uma ferramenta desgastada ou uma máquina descalibrada.
  • Avaliação de riscos: Ecologistas, seguradoras e engenheiros de segurança combinam dados escassos com o julgamento de especialistas em redes que estimam a probabilidade de eventos raros.
  • Naive Bayes: Uma rede bayesiana em que um único nó de classe é o único pai de cada característica, supondo que as características sejam independentes dada a classe.
  • Campos aleatórios de Markov: Modelos gráficos com arestas não direcionadas, adequados para relações simétricas, como as existentes entre pixels vizinhos em uma imagem.
  • Processos de decisão de Markov: Modelos de decisões sequenciais, com ações que mudam o estado e recompensas a maximizar, e a estrutura padrão do aprendizado por reforço. Uma rede bayesiana só incorpora decisões e recompensas quando é ampliada com nós de decisão e utilidade, formando um diagrama de influência.
  • Modelos ocultos de Markov: Uma rede bayesiana dinâmica, que repete a mesma estrutura a cada instante, com um estado oculto que emite uma observação por etapa. Os filtros de Kalman têm a mesma estrutura, com estados contínuos e transições e observações lineares gaussianas.

Explore as soluções

Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em informações em tempo real para a agricultura, a aquacultura, a conservação e a análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Aplica visão computacional na indústria aeroespacial com Ultralytics YOLO para inspecionar aeronaves, detetar objetos estranhos na pista (FOD), apoiar operações aeroportuárias em terra e detetar defeitos em materiais compósitos.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Comece sua jornada rumo ao futuro do aprendizado de máquina