Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Назад к глоссарию Ultralytics

Bayesian Network

Байесовская сеть моделирует переменные и их условные зависимости в виде ориентированного ациклического графа, позволяя обновлять вероятности причин с учётом свидетельств.

Байесовская сеть, также называемая сетью убеждений, — это вероятностная графическая модель, которая представляет набор случайных переменных и их условные зависимости с помощью ориентированного ациклического графа (DAG). Каждый узел — это переменная, например заболевание, симптом или показание датчика, а каждая стрелка направлена от непосредственного влияющего фактора к переменной, на которую он воздействует. В каждом узле хранится таблица условных вероятностей, которая задаёт распределение для каждой комбинации значений родительских узлов. Вместе эти таблицы определяют полное совместное распределение всех переменных. Получив данные о некоторых переменных, сеть вычисляет обновлённые вероятности для остальных, что делает её инструментом для диагностики, оценки рисков и поддержки принятия решений в условиях неопределённости. Джудеа Перл разработал значительную часть теории в 1980-х годах, а его работы по вероятностному и причинному выводу принесли ему премию Тьюринга в 2011 году.

Структура и таблицы условных вероятностей#

Граф кодирует условную независимость: каждая переменная независима от переменных, которые не являются её потомками, если известны её родительские узлы. Благодаря этому совместное распределение раскладывается на небольшие локальные компоненты: P(X1, ..., Xn) = P(X1 | parents(X1)) × ... × P(Xn | parents(Xn)). В классической сети «ограбление — сигнализация» из работ Перла, которая рассматривается в учебнике Рассела и Норвига «Искусственный интеллект: современный подход», есть пять булевых переменных. Ограбление или землетрясение могут включить домашнюю сигнализацию, после чего соседи Джон и Мэри звонят владельцу дома.

Полная совместная таблица для пяти бинарных переменных требует 31 независимую вероятность. Сети достаточно 10: по одной для ограбления и землетрясения, четыре для сигнализации при каждой комбинации значений двух родительских узлов и по две для каждого соседа в зависимости от состояния сигнализации. По мере увеличения числа переменных экономия быстро растёт, поскольку размер каждой таблицы зависит только от количества родительских узлов этого узла.

Вывод: обновление вероятностей на основе наблюдений#

При выводе наблюдаемые переменные фиксируются, а апостериорное распределение запрашиваемой переменной вычисляется с помощью теоремы Байеса, применённой к графу. Вывод может выполняться в любом направлении: от причин к следствиям (предсказание), от следствий к причинам (диагностика) и между причинами общего следствия. В последнем случае, который называют объясняющим исключением, если известно, что сигнализация сработала, то сведения о землетрясении снижают вероятность ограбления. Точный вывод перебором или исключением переменных применим для маленьких сетей и сетей древовидной структуры, но в общем случае задача NP-трудная. Поэтому в больших сетях используют приближённые методы, например взвешивание по правдоподобию, выборку Гиббса или циклическое распространение убеждений.

В этом примере на вопрос из учебника P(Burglary | John calls, Mary calls) отвечают перебором, суммируя факторизованное совместное распределение по ненаблюдаемым переменным землетрясения и сигнализации:

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

Скрипт выводит 0.284 — тот же ответ, что и в учебнике. Два звонка повышают вероятность ограбления с 1 к 1,000 примерно до 28%. Оставшиеся 72% приходятся на объяснения без ограбления, например срабатывание сигнализации из-за землетрясения или неисправности, поскольку ограбления случаются очень редко.

Обучение байесовских сетей на данных#

Сеть можно построить вручную на основе экспертных знаний, обучить на данных или совместить оба подхода. При обучении параметров таблицы условных вероятностей заполняются на основе наблюдаемых частот; для сглаживания редких сочетаний используются априорные распределения, а при пропущенных значениях — алгоритм максимизации ожидания. Обучение структуры ищет сам граф: либо оценивает кандидатные графы по критерию, например байесовскому информационному критерию, либо выполняет тесты условной независимости, как это делает алгоритм PC. Обученные стрелки показывают статистическую зависимость, но интерпретация их как причин требует дополнительных допущений, рассматриваемых в обнаружении причинно-следственных связей. Библиотеки Python, например pgmpy, реализуют оба вида обучения, а также точный и приближённый вывод.

Примеры применения в реальных условиях#

  • Медицинская диагностика: Сети связывают заболевания с вызываемыми ими симптомами и результатами анализов. Наблюдения врача обновляют вероятность каждого состояния, а каждый вывод можно проследить по графу — это одна из форм объяснимого ИИ.
  • Диагностика неисправностей: В промышленных и IT-системах моделируется распространение отказов компонентов на сигналы тревоги и показания приборов. При визуальном контроле классы дефектов, обнаруженные детектором YOLO26, могут выступать в сети в качестве наблюдаемых данных, обновляющих вероятность каждой первопричины, например изношенного инструмента или неправильно откалиброванного станка.
  • Оценка рисков: Экологи, страховщики и инженеры по безопасности объединяют ограниченные данные с экспертными оценками в сетях, вычисляющих вероятность редких событий.
  • Наивный Байес: Байесовская сеть, в которой единственным родительским узлом всех признаков является узел класса. Предполагается, что признаки независимы при известном классе.
  • Случайные поля Маркова: Графические модели с ненаправленными рёбрами, подходящие для симметричных отношений, например между соседними пикселями изображения.
  • Марковские процессы принятия решений: Модели последовательного принятия решений, где действия изменяют состояние, а награды нужно максимизировать. Это стандартная основа обучения с подкреплением. Байесовская сеть учитывает решения и выигрыши только после добавления узлов решений и полезности, образующих диаграмму влияния.
  • Скрытые марковские модели: Динамическая байесовская сеть, структура которой повторяется на каждом временном шаге, а скрытое состояние порождает одно наблюдение за шаг. Фильтры Калмана имеют ту же структуру, но используют непрерывные состояния и линейно-гауссовские переходы и наблюдения.

Изучи решения

Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

Превращай снимки с дронов и аэрофотоснимки в полезные данные в реальном времени для сельского хозяйства, аквакультуры, охраны природы и геопространственного анализа с Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

Применяй компьютерное зрение в аэрокосмической отрасли с Ultralytics YOLO: для осмотра самолётов, обнаружения посторонних предметов на взлётно-посадочных полосах, наземного обслуживания аэропортов и выявления дефектов композитных материалов.
Подробнее
Компьютерное зрение в сфере безопасности

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ повышает безопасность дорожного движения, улучшает помощь водителю и автоматизацию автомобилей, делая дороги умнее.
Подробнее
Компьютерное зрение в сельском хозяйстве

Компьютерное зрение в сельском хозяйстве

Внедряй ИИ для компьютерного зрения в умное сельское хозяйство с моделями Ultralytics YOLO. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

Давай вместе строить будущее ИИ!

Начни свой путь в будущее машинного обучения