КулЛиб - Классная библиотека! Скачать книги бесплатно 

Вероятностные графовые модели. Принципы и приложения [Луис Энрике Сукар] (pdf) читать онлайн

Книга в формате pdf! Изображения и текст могут не отображаться!


 [Настройки текста]  [Cбросить фильтры]
Особенности книги:
• представлена универсальная рабочая среда, включающая
все основные классы ВГМ;
• освещается практическое применение разнообразных методик;
• рассматриваются все самые последние разработки в области ВГМ, включая многомерные байесовские классификаторы, реляционные графовые модели и причинно-следственные модели;
• в конце каждой главы предлагаются задания и упражнения
для самостоятельного выполнения, а также направления и
идеи для исследовательских или программных проектов.

ISBN 978-5-97060-874-6
Интернет-магазин:
www.dmkpress.com
Оптовая продажа:
КТК «Галактика»
books@alians-kniga.ru

www.дмк.рф

9 785970 608746

Вероятностные графовые модели

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

Луис Энрике Сукар

Вероятностные
графовые модели
Принципы и приложения

Луис Энрике Сукар

Вероятностные графовые
модели
Принципы и приложения

Luis Enrique Sucar

Probabilistic Graphical
Models
Principles and Applications

Луис Энрике Сукар

Вероятностные графовые
модели
Принципы и приложения

Москва, 2021

УДК 004.021
ББК 32.973
С89

С89 Луис Энрике Сукар
Вероятностные графовые модели. Принципы и приложения / пер.
с англ. А. В. Снастина. – М.: ДМК Пресс, 2021. – 338 с.: ил.
ISBN 978-5-97060-874-6
В настоящее время вероятностные графовые модели широко распространены как мощная и вполне сформировавшаяся методика для выполнения
умозаключений и выводов в условиях неопределенности. В отличие от
некоторых узкоспециализированных методик, применявшихся в ранних
экспертных системах, вероятностные графовые модели основаны на строгих
математических принципах теории графов и теории вероятностей. Эта книга
на современном уровне охватывает более широкий диапазон вероятностных
графовых моделей, чем другие недавно опубликованные материалы в данной
области: разнообразные классификаторы, скрытые марковские модели, марковские случайные поля, байесовские сети и их динамические, временные и
причинно-следственные варианты, реляционные вероятностные графовые
модели, графы решений и марковский процесс принятия решений. В книге представлены эти вероятностные графовые модели и соответствующие
методы логического вывода и обучения в ясном и доступном стиле. Автор
делится своим богатым опытом, накопленным в процессе активной практической работы в области использования вероятностных графовых моделей, и
демонстрирует примеры их применения в разнообразных областях реальной
деятельности: от биоинформатики до задач наблюдения за загрязнением
воздуха и распознавания объектов.
Книга предназначена для студентов старших курсов и аспирантов, а также
для ученых-исследователей и инженеров-практиков, работающих в других
отраслях и интересующихся применением вероятностных моделей.

First published in English under the title Concise Computer Vision; Copyright © Springer-Verlag
London, 2015. This edition has been translated and published under licence from Springer-Verlag
London Ltd., part of Springer Nature. Springer-Verlag London Ltd., part of Springer Nature takes no
responsibility and shall not be made liable for the accuracy of the translation. © 2020 by DMK Press.
All rights reserved.
Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы
то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев
авторских прав.
Материал, изложенный в данной книге, многократно проверен. Но, поскольку вероятность
технических ошибок все равно существует, издательство не может гарантировать абсолютную
точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги.

ISBN 978-1-4471-6698-6 (англ.)
ISBN 978-5-97060-874-6 (рус.)

© Springer-Verlag London, 2015
© Оформление, перевод на русский язык, издание,
ДМК Пресс, 2021

Посвящается моей семье – Дорис, Эдгару и Диане –
за их безграничную любовь и поддержку

Оглавление
Предисловие от издательства............................................................................................11
Вступительное слово............................................................................................................12
Предисловие..........................................................................................................................14
Благодарности.......................................................................................................................18
Список сокращений, принятых в книге.............................................................................20
Условные математические обозначения, используемые в книге................................23
Часть I. Теоретические основы...........................................................................................25
Глава 1. Введение..................................................................................................................26
1.1 Неопределенность.....................................................................................................................26
1.1.1 Воздействие неопределенности............................................................................................. 26
1.2 Краткая история.........................................................................................................................27
1.3 Основные вероятностные модели......................................................................................28
1.3.1 Пример.............................................................................................................................................. 31
1.4 Вероятностные графовые модели......................................................................................33
1.5 Представление, логический вывод и обучение............................................................35
1.6 Приложения.................................................................................................................................37
1.7 Обзор содержимого книги.....................................................................................................38
1.8 Материалы для дополнительного чтения........................................................................39
Ссылки на источники.......................................................................................................................39
Глава 2. Теория вероятностей.............................................................................................41
2.1 Введение.......................................................................................................................................41
2.2 Основные правила....................................................................................................................43
2.3 Случайные переменные..........................................................................................................45
2.3.1 Двумерные случайные переменные..................................................................................... 49
2.4 Теория информации.................................................................................................................50
2.5 Материалы для дополнительного чтения........................................................................53
2.6 Задания и упражнения............................................................................................................53
Ссылки на источники.......................................................................................................................54
Глава 3. Теория графов.........................................................................................................56
3.1 Определения................................................................................................................................56
3.2 Типы графов.................................................................................................................................57
3.3 Пути и циклы...............................................................................................................................58
3.4 Изоморфизм графов................................................................................................................60
3.5 Деревья..........................................................................................................................................60
3.6 Клики..............................................................................................................................................63
3.7 Полное упорядочивание.........................................................................................................64
3.8 Алгоритмы упорядочивания и триангуляции.................................................................66
3.8.1 Поиск паросочетания максимальной мощности.............................................................. 66
3.8.2 Дополнение графа........................................................................................................................ 66

Оглавление  7
3.9 Материалы для дополнительного чтения........................................................................67
3.10 Задания и упражнения.........................................................................................................68
Ссылки на источники.......................................................................................................................69
Часть II. Вероятностные модели.........................................................................................71
Глава 4. Байесовские классификаторы.............................................................................72
4.1 Введение.......................................................................................................................................72
4.1.1 Оценки классификатора............................................................................................................. 73
4.2 Байесовский классификатор.................................................................................................74
4.2.1 Наивный байесовский классификатор................................................................................. 75
4.3 Другие модели: TAN, BAN.......................................................................................................79
4.4 Частично наивные байесовские классификаторы.......................................................80
4.5 Многомерные байесовские классификаторы................................................................84
4.5.1 Многомерные классификаторы на основе байесовских сетей.................................. 85
4.5.2 Байесовские классификаторы на основе цепи................................................................. 86
4.6 Иерархическая классификация...........................................................................................88
4.6.1 Оценка цепного пути................................................................................................................... 89
4.7 Приложения.................................................................................................................................91
4.7.1 Визуальное определение кожи человека на изображениях....................................... 91
4.7.2 Выбор лекарственных средств для лечения вируса иммунодефицита
человека........................................................................................................................................... 94

4.8 Материалы для дополнительного чтения........................................................................96
4.9 Задания и упражнения............................................................................................................96
Ссылки на источники.......................................................................................................................97
Глава 5. Скрытые марковские модели............................................................................100
5.1 Введение.................................................................................................................................... 100
5.2 Марковские цепи.................................................................................................................... 101
5.2.1 Оценка параметров................................................................................................................... 104
5.2.2 Сходимость.................................................................................................................................... 105
5.3 Скрытые марковские модели............................................................................................ 106
5.3.1 Вычисление оценки.................................................................................................................. 109
5.3.2 Оценка состояния....................................................................................................................... 111
5.3.3 Обучение....................................................................................................................................... 114
5.3.4 Расширения.................................................................................................................................. 116
5.4 Приложения.............................................................................................................................. 118
5.4.1 Алгоритм PageRank.................................................................................................................... 118
5.4.2 Распознавание жестов............................................................................................................. 119
5.5 Материалы для дополнительного чтения..................................................................... 122
5.6 Задания и упражнения......................................................................................................... 122
Ссылки на источники.................................................................................................................... 123
Глава 6. Марковские случайные поля.............................................................................125
6.1 Введение.................................................................................................................................... 125
6.2 Марковские сети..................................................................................................................... 127
6.2.1 Регулярные марковские случайные поля........................................................................ 129

8

 Оглавление
6.3 Случайные поля Гиббса........................................................................................................ 130
6.4 Логический вывод.................................................................................................................. 131
6.5 Оценка параметров............................................................................................................... 133
6.5.1 Оценка параметров с помощью данных с метками.................................................... 134
6.6 Условные случайные поля................................................................................................... 135
6.7 Приложения.............................................................................................................................. 137
6.7.1 Сглаживание изображений.................................................................................................... 137
6.7.2 Расширенная аннотация изображений............................................................................. 139
6.8 Материалы для дополнительного чтения..................................................................... 142
6.9 Задания и упражнения......................................................................................................... 143
Ссылки на источники.................................................................................................................... 144

Глава 7. Байесовские сети: представление и логический вывод................................146
7.1 Введение..................................................................................................................................... 146
7.2 Представление......................................................................................................................... 147
7.2.1 Структура........................................................................................................................................ 148
7.2.2 Параметры..................................................................................................................................... 152
7.3 Логический вывод................................................................................................................... 158
7.3.1 Односвязные сети: алгоритм распространения доверия........................................... 160
7.3.2 Многосвязные сети.................................................................................................................... 165
7.3.3 Приближенный логический вывод...................................................................................... 174
7.3.4 Наиболее вероятное объяснение........................................................................................ 177
7.3.5 Непрерывные переменные.................................................................................................... 178
7.4 Приложения............................................................................................................................... 180
7.4.1 Валидация информации.......................................................................................................... 180
7.4.2 Анализ надежности.................................................................................................................... 185
7.5 Материалы для дополнительного чтения..................................................................... 187
7.6 Задания и упражнения.......................................................................................................... 188
Ссылки на источники.................................................................................................................... 189
Глава 8. Байесовские сети: обучение...............................................................................191
8.1 Введение.................................................................................................................................... 191
8.2 Обучение параметров.......................................................................................................... 191
8.2.1 Сглаживание................................................................................................................................. 192
8.2.2 Неопределенность параметров............................................................................................ 192
8.2.3 Недостаточный объем данных.............................................................................................. 194
8.2.4 Дискретизация............................................................................................................................. 198
8.3 Обучение структуры.............................................................................................................. 200
8.3.1 Обучение дерева........................................................................................................................ 200
8.3.2 Обучение полидерева.............................................................................................................. 203
8.3.3 Методики поиска с оценкой.................................................................................................. 204
8.3.4 Методики проверки независимости.................................................................................. 211
8.4 Объединение экспертных знаний и имеющихся данных...................................... 212
8.5 Приложения.............................................................................................................................. 213
8.5.1 Модель загрязнения воздуха в Мехико-сити................................................................. 214
8.6 Материалы для дополнительного чтения..................................................................... 217

Оглавление  9
8.7 Задания и упражнения......................................................................................................... 217
Ссылки на источники.................................................................................................................... 219
Глава 9. Динамические и временные
 байесовские сети..............................................221
9.1 Введение.................................................................................................................................... 221
9.2 Динамические байесовские сети..................................................................................... 222
9.2.1 Логический вывод...................................................................................................................... 223
9.2.2 Обучение....................................................................................................................................... 224
9.3 Временные сети событий.................................................................................................... 226
9.3.1 Байесовские сети с временными узлами......................................................................... 226
9.4 Приложения.............................................................................................................................. 233
9.4.1 Динамические байесовские сети: распознавание жестов........................................ 233
9.4.2 Байесовская сеть с временными узлами: прогнозирование
вариантов мутаций ВИЧ......................................................................................................... 238

9.5 Материалы для дополнительного чтения..................................................................... 242
9.6 Задания и упражнения......................................................................................................... 242
Ссылки на источники.................................................................................................................... 243
Часть III. Модели принятия решений...............................................................................245
Глава 10. Графы принятия решений................................................................................246
10.1 Введение.................................................................................................................................. 246
10.2 Теория принятия решений................................................................................................ 247
10.2.1 Основы теории принятия решений.................................................................................. 247
10.3 Деревья решений................................................................................................................. 251
10.4 Диаграммы влияния............................................................................................................ 254
10.4.1 Моделирование........................................................................................................................ 254
10.4.2 Оценка.......................................................................................................................................... 256
10.4.3 Расширения................................................................................................................................ 261
10.5 Приложения............................................................................................................................ 262
10.5.1 Медработник, принимающий теоретические решения........................................... 262
10.6 Материалы для дополнительного чтения.................................................................. 266
10.7 Задания и упражнения....................................................................................................... 266
Ссылки на источники.................................................................................................................... 268
Глава 11. Марковские процессы принятия решений....................................................269
11.1 Введение.................................................................................................................................. 269
11.2 Моделирование.................................................................................................................... 270
11.3 Вычисление оценки............................................................................................................ 273
11.3.1 Итерация значения................................................................................................................. 273
11.3.2 Итерация стратегии................................................................................................................ 274
11.4 Факторизованные марковские процессы принятия решений.......................... 275
11.4.1 Абстракция................................................................................................................................. 277
11.4.2 Декомпозиция........................................................................................................................... 278
11.5 Частично наблюдаемые марковские процессы принятия решений.............. 279
11.6 Приложения............................................................................................................................ 280
11.6.1 Управление электростанцией............................................................................................. 280

10

 Оглавление

11.6.2 Согласование задач робота................................................................................................. 283
11.7 Материалы для дополнительного чтения................................................................... 289
11.8 Задания и упражнения...................................................................................................... 289
Ссылки на источники.................................................................................................................... 291

Часть IV. Реляционные и причинно-следственные модели.........................................293
Глава 12. Реляционные вероятностные графовые модели.........................................294
12.1 Введение.................................................................................................................................. 294
12.2 Логика....................................................................................................................................... 296
12.2.1 Логика высказываний............................................................................................................ 296
12.2.2 Логика предикатов первого порядка.............................................................................. 297
12.3 Вероятностные реляционные модели......................................................................... 300
12.3.1 Логический вывод................................................................................................................... 302
12.3.2 Обучение..................................................................................................................................... 302
12.4 Марковские логические сети.......................................................................................... 302
12.4.1 Логический вывод............................................................................................................ 305
12.4.2 Обучение..................................................................................................................................... 305
12.5 Приложения............................................................................................................................ 306
12.5.1 Моделирование студента..................................................................................................... 306
12.6 Вероятностная реляционная модель студента......................................................... 307
12.6.1 Визуальные грамматики....................................................................................................... 310
12.7 Материалы для дополнительного чтения................................................................... 312
12.8 Задания и упражнения...................................................................................................... 313
Ссылки на источники.................................................................................................................... 314
Глава 13. Графовые причинно-следственные модели.................................................316
13.1 Введение.................................................................................................................................. 316
13.2 Причинно-следственные байесовские сети.............................................................. 318
13.3 Обоснование причин.......................................................................................................... 320
13.3.1 Прогноз........................................................................................................................................ 320
13.3.2 Контрфактуальный анализ................................................................................................... 322
13.4 Обучение причинно-следственных моделей........................................................... 323
13.5 Приложения............................................................................................................................ 325
13.5.1 Обучение причинно-следственной модели для синдрома дефицита
внимания и гиперактивности............................................................................................... 325

13.6 Материалы для дополнительного чтения.................................................................. 327
13.7 Задания и упражнения....................................................................................................... 327
Ссылки на источники.................................................................................................................... 328
Словарь терминов...............................................................................................................329
Предметный указатель......................................................................................................333

Предисловие от издательства
Отзывы и пожелания
Мы всегда рады отзывам наших читателей. Расскажите нам, что вы
думаете об этой книге – что понравилось или, может быть, не понравилось. Отзывы важны для нас, чтобы выпускать книги, которые будут для
вас максимально полезны.
Вы можете написать отзыв на нашем сайте www.dmkpress.com, зайдя на
страницу книги и оставив комментарий в разделе «Отзывы и рецензии».
Также можно послать письмо главному редактору по адресу dmkpress@
gmail.com; при этом укажите название книги в теме письма.
Если вы являетесь экспертом в какой-либо области и заинтересованы
в написании новой книги, заполните форму на нашем сайте по адресу
http://dmkpress.com/authors/publish_book/ или напишите в издательство по адресу
dmkpress@gmail.com.

Скачивание исходного кода примеров
Скачать файлы с дополнительной информацией для книг издательства «ДМК Пресс» можно на сайте www.dmkpress.com на странице с описанием соот­ветствующей книги.

Список опечаток
Хотя мы приняли все возможные меры для того, чтобы обеспечить
высокое качество наших текстов, ошибки все равно случаются. Если вы
найдете ошибку в одной из наших книг – возможно, ошибку в основном
тексте или программном коде, – мы будем очень благодарны, если вы
сообщите нам о ней. Сделав это, вы избавите других читателей от недопонимания и поможете нам улучшить последующие издания этой книги.
Если вы найдете какие-либо ошибки в коде, пожалуйста, сообщите о
них главному редактору по адресу dmkpress@gmail.com, и мы исправим это
в следующих тиражах.

Нарушение авторских прав
Пиратство в интернете по-прежнему остается насущной проблемой.
Издательства «ДМК Пресс» и Springer очень серьезно относятся к вопросам защиты авторских прав и лицензирования. Если вы столкнетесь в
интернете с незаконной публикацией какой-либо из наших книг, пожалуйста, пришлите нам ссылку на интернет-ресурс, чтобы мы могли применить санкции.
Ссылку на подозрительные материалы можно прислать по адресу
элект­ронной почты dmkpress@gmail.com.
Мы высоко ценим любую помощь по защите наших авторов, благодаря которой мы можем предоставлять вам качественные материалы.

Вступительное слово
Вероятностные графовые модели и методы их использования для разум­
ных рассуждений и выводов в условиях неопределенности появи­лись в
1980-х гг. в сообществах, занимающихся проблемами статистических
выводов и искусственного интеллекта. Конференция по неопределенности в области искусственного интеллекта (UAI – Uncertainty in Artificial Intelligence) стала самым первым форумом, посвященным этой
быстро развивающейся области исследований. На этой конференции
UAI в 1992 году в Сан Хосе (San Jose) я впервые встретила Энрике Сукара (Enrique Sucar) – тогда мы оба были аспирантами, – он представлял
свою работу по реляционным и временным
 (темпоральным) моделям
для систем высокоуровневой обработки компьютерного зрения. За прошедшие с тех пор 25 лет Энрике внес впечатляющий вклад в эту область
исследований: от фундаментальной работы по объективной вероят­
ности до разработки усовершенствованных форм вероятностных графовых моделей, таких как временные байесовские сети и байесовские
сети для вычисления вероятности событий, а также методики обучения
вероятностных графовых моделей, например самая последняя работа
Энрике по классификаторам типа байесовская цепь для многомерной
классификации.
В настоящее время вероятностные графовые модели широко распространены как мощная и вполне сформировавшаяся методика для
выполнения умозаключений и выводов в условиях неопределенности.
В отличие от некоторых узкоспециализированных методик, применявшихся в ранних экспертных системах, вероятностные графовые модели основаны на строгих математических принципах теории графов и
теории вероятностей. Их можно использовать для широкого диапазона
задач, связанных с выводом и обоснованием результатов, в том числе
задач прогнозирования, мониторинга, диагностики, оценки рисков и
принятия решений. Существует множество эффективных алгоритмов
как для логического вывода, так и для обучения, доступных в виде программного обеспечения с открытым исходным кодом и коммерческих
программных продуктов. Более того, мощь и эффективность этих алгоритмов уже подтверждена их успешным практическим применением в
огромном диапазоне областей задач реального окружающего нас мира.
Энрике Сукар стал главным специалистом по практическому внедрению и утверждению вероятностных графовых моделей как эффективной и полезной технологии с учетом его работы в широком диапазоне
прикладных областей. Это медицина, реабилитация и здравоохранение
в целом, робототехника и машинное зрение, образование, анализ надежности и разнообразные промышленные приложения – от нефтедобычи до энергетики.

Вступительное слово  13
Первыми авторами, которые начали исследования байесовских сетей и с большим мастерством убедительно описали их в книгах, стали
Джуда Перл (Judea Pearl) с книгой «Probabilistic Reasoning in Intelligent
Systems» и Рич Неаполитан (Rich Neapolitan) с книгой «Probabilistic
Reasoning in Expert Systems». Предлагаемая читателям монография
Энрике Сукара представляет собой своевременное дополнение к комплекту литературы, изданной после книг Перла и Неполитана. Эта книга на современном уровне охватывает более широкий диапазон вероятностных графовых моделей, чем другие недавно опубликованные
материалы в этой области: разнообразные классификаторы, скрытые
марковские модели, марковские случайные поля, байесовские сети и
их динамические, временные и причинно-следственные варианты, реляционные вероятностные графовые модели, графы решений и марковский процесс принятия решений. В книге представлены эти вероятностные графовые модели и соответствующие методы логического
вывода и обуче­ния в ясном и доступном стиле. Поэтому издание подходит для студентов старших курсов и аспирантов, а также для ученых-исследователей и инженеров-практиков, работающих в других отраслях и
интересующихся применением вероятностных моделей. В этой книге
Энрике делится своим богатым опытом, накопленным в процессе активной практической работы в области использования вероятностных
графовых моделей, и демонстрирует примеры их применения в разнообразных областях реальной деятельности: от биоинформатики до
задач наблюдения за загрязнением воздуха и распознавания объектов.
Я искренне поздравляю Энрике с выходом этой книги и настоятельно
рекомендую ее будущим читателям.
Энн Е. Николсон,
Мельбурн, Австралия,
май 2015 года

Предисловие
О чем эта книга
Вероятностные графовые модели уже превратились в мощный набор
методик, используемых в нескольких предметных областях. В этой книге представлен общий вводный курс по вероятностным графовым моделям (probabilistic graphical models – PGM) с учетом их применения в
инженерных дисциплинах. Здесь подробно рассматриваются главные
принципы основных классов вероятностных графовых моделей: байе­
совские классификаторы, скрытые марковские модели, байесовские
сети, динамические и временные байесовские сети, марковские случайные поля, диаграммы влияния и марковские процессы принятия
решений. Кроме того, описано представление, процесс логического вывода и принципы обучения для всех этих методик. В книге также рассматриваются реальные приложения для каждого типа модели.
Некоторые характерные особенности этой книги:
• основные классы вероятностных графовых моделей представлены в одной монографии в единой универсальной рабочей среде;
• книга охватывает основополагающие принципы: представление,
процесс логического вывода и процесс обучения для всех методов;
• демонстрируются практические приложения различных методик
для решения реальных задач, что весьма важно для студентов,
аспирантов и инженеров-практиков;
• в книгу включены некоторые самые последние разработки в этой
области, такие как многомерные байесовские классификаторы, реляционные графовые модели и причинно-следственные модели;
• к каждой главе прилагается ряд упражнений и заданий, которые
могут послужить отправным пунктом для исследовательских и
программных проектов.
Одна из целей этой книги – стимулирование практического приложения вероятностных графовых моделей к реальным задачам. Такой подход требует не только теоретических знаний о различных моделях и методиках, но также некоторого практического опыта и знания предметной
области. Чтобы помочь профессионалам в различных областях получить
некоторое углубленное представление об использовании вероятностных
графовых моделей для решения практических задач, в книгу включено
множество примеров применения разнообразных типов моделей для
широкого диапазона предметных областей, в том числе:

Предисловие  15












компьютерное зрение;
биомедицинские приложения;
промышленные приложения;
извлечение информации;
интеллектуальные обучающие системы;
биоинформатика;
приложения в области охраны окружающей среды;
робототехника;
взаимодействие человек–компьютер;
проверка достоверности информации;
уход за пациентами (медицина).

Для кого предназначена эта книга

Эта книга может использоваться как учебное пособие для студентов последнего года обучения и аспирантов по курсу вероятностных графовых моделей для изучающих информатику, инженерное дело, физику
и т. д. Книга также может служить справочником для профессионалов,
которым необходимо применять вероятностные графовые модели в
различных областях, и для всех, кто хочет овладеть основами применения этих методик.
Для чтения данной книги не требуется какой-либо особенной предварительной подготовки, тем не менее желательно знание основ теории
вероятностей и статистики. Предполагается, что читатель обладает базовыми знаниями математики на уровне средней школы, а также имеет
определенный уровень подготовки в области информатики и программирования. Упражнения и задания по программированию требуют некоторых знаний и практического опыта использования какого-либо
языка программирования, например C, C++, Java, MATLAB и т. д.

Упражнения и задания

К каждой главе (за исключением введения) прилагается ряд упражнений и заданий. Некоторые из них являются вопросами и задачами,
способствующими более глубокому пониманию концепций и методик,
изложенных в соответствующей главе. Кроме того, в каждой главе предлагается несколько заданий, представляющих собой отправные пункты
для исследовательских и программных проектов (такие задания отмечены тремя звездочками «***»), которые могут использоваться как
учебные курсовые проекты.

Обзор содержимого книги
Книга разделена на четыре части. В первой части представлено общее
введение и обоснование использования вероятностных графовых мо-

16

 Предисловие

делей, приведены необходимые для чтения основы теории вероятностей и теории графов. Во второй части описываются модели, которые не
считаются решениями или утилитами: байесовские классификаторы,
скрытые марковские модели, марковские случайные поля, байесовские
сети, дина­мические и временные байесовские сети. Третья часть начинается с краткого введения в теорию решений, затем рассматриваются
модели с поддержкой принятия решений, включая деревья решений,
диаграммы влияния и марковские процессы принятия решений. В четвертой части представлены два расширения стандартных вероятностных графовых моделей: реляционные вероятностные графовые модели
и причинно-следственные вероятностные графовые модели.
Зависимости между содержимым глав показаны на рис. 1. Дуга от главы X к главе Y, т. е. X → Y, означает, что изучение содержимого главы X
требуется (или, по меньшей мере, рекомендуется) для понимания главы Y. Такое графическое представление структуры книги дает немалый
объем информации в аналоговом представлении о графовых моделях,
которые будут рассматриваться в этой книге.
1-Введ

2-ТВ

3-Графы

4-Классиф.

5-Скр.
марк.
мод.

6-Марк.
сл.поля

12-Рел.ВГМ

9-Дин. и
врем. БСети
11-Марк.
проц.пр.реш.

7-БСети:
предст. и
вывод

13-Прич.след.БСети
8-БСети:
обуч.
10-Графы
реш.

Рис. 1. Структура книги в виде направленного ациклического графа,
показывающего, какие главы требуется изучить для перехода к следующим главам

По рис. 1 можно определить несколько различных способов чтения
данной книги. В первую очередь рекомендуется прочитать введение и
главы о математических основах 2 и 3. Затем более или менее незави-

Предисловие  17
симо друг от друга можно изучать различные модели в части II: классификацию (глава 4), скрытые марковские модели (глава 5), марковские
случайные поля (глава 6) и байесовские сети (главы 7–9). Перед чтением
главы об обучении байесовских сетей (глава 8) необходимо прочитать
главу 7 – представление и логический вывод, кроме того, изучение обеих этих глав требуется перед переходом к динамическим и временным
байесовским сетям.
Темы в частях III и IV требуют изучения некоторых глав из части II.
Для чтения главы 10, в которой рассматриваются деревья решений и
диа­граммы влияния, вы должны как минимум прочитать первую главу по байесовским сетям. Перед чтением главы 11 о последовательном
принятии решений рекомендуется изучить скрытые марковские модели, а также динамические и временные байесовские сети. Реляционные
вероятностные графовые модели (глава 12) основаны на марковских
случайных полях и байесовских сетях, поэтому требуется предварительное изучение глав 6 и 8. Наконец, причинно-следственные модели
в главе 13 также основаны на байесовских сетях, включая методики их
обучения.
Если в учебном курсе недостаточно времени для полного охвата
мате­риала всей книги, то можно предложить несколько альтернативных вариантов. Например, сосредоточиться на вероятностных моделях
без рассмотрения теории принятия решений или более продвинутых
расширений, т. е. изучать части I и II. Другой вариант – все внимание
уделить моделям принятия решений, включая часть I, необходимые
подготовительные главы из части II и часть III. Кроме того, вы можете запланировать курс по своему усмотрению, но непременно с учетом
зависимостей, показанных на графе на рис. 1. Однако если вы располагаете достаточным временем и имеете серьезные намерения, то я предлагаю прочесть всю книгу в порядке глав. Желаю успеха.
Луис Энрике Сукар (Luis Enrique Sucar),
Пуэбла, Мексика,
февраль 2015 г.

Благодарности
Эта книга появилась на основе курса, который я читал в течение нескольких лет аспирантам. Сначала это был курс «Заключения и выводы
в условиях неопределенности» (Uncertain Reasoning) в Монтеррейском
технологическом институте (Tec de Monterrey) в г. Куэрнавака (Cuernavaca), затем он превратился в курс по вероятностным графовым моделям, когда я перешел в Национальный институт астрофизики, оптики
и электроники (INAOE) в г. Пуэбла (Puebla) в 2006 году. В течение всех
этих лет мои студенты являлись главным стимулом и источником вдохновения для написания этой книги. Я хочу поблагодарить всех своих
студентов за их заинтересованность, за их вопросы и многочисленные
поправки к моим заметкам. Книга посвящается всем моим студентам –
прошлым, настоящим и будущим.
Я благодарен тем студентам, с которыми сотрудничал особенно тесно, обычно в течение небольшого интервала времени, при подготовке
диссертаций для получения степени бакалавра, магистра или доктора.
Некоторые из новейших аспектов этой книги и большинство примеров
практических приложений взяты из их работ. Я благодарю всех этих студентов и ниже назову лишь тех, чьи работы оказали наибольшее влия­
ние при создании рукописи данной книги: Густаво Арройо (Gustavo
Arroyo), Эктор Уго Авилес (Héctor Hugo Avilés), Леонардо Чанг (Leonardo
Chang), Рикардо Омар Чавес (Ricardo Omar Chávez), Франсиско Элисалде (Francisco Elizalde), Уго Хаир Эскаланте (Hugo Jair Escalante), Линдси
Фид­лер (Lindsey Fiedler), Джовани Гомес (Giovani Gómez), Карлос Эрнан­
дес (Carlos Hernández), Пабло Эрнандес (Pablo Hernández), Ясмин Эрнандес (Yasmín Hernández), Пабло Ибаргуэнгойтиа (Pablo Ibargüengoytia),
Рохер Луис-Веласкес (Roger Luis-Velásquez), Мириам Мартинес (Miriam
Martínez), Хосе Антонио Монтеро (José Antonio Montero), Хулиета Ногес
(Julieta Noguez), Аннетте Моралес (Annette Morales), Хоакин Перес-Брито (Joaquín Pérez-Brito), Мигель Паласиос (Miguel Palacios), Мальинали Рамирес (Mallinali Ramírez), Альберто Рейес (Alberto Reyes), Андрес
Родри­гес (Andrés Rodríguez), Элиас Руис (Elías Ruiz), Херардо Торрес-Толедано (Gerardo Torres-Toledano), и Хулио Сарагоса (Julio Zaragoza). Особая благодарность Линдси Фидлер (Lindsey Fiedler), которая помогла
мне создать все иллюстрации к этой книге и проверила мой английский.
Я также благодарен моим сотрудникам, совместная исследовательская работа и технические дискуссии с которыми обогатили мои
знания по многим темам и помогли написать эту книгу. Хотелось бы
особенно отметить следующих коллег и друзей: Хуан Мануэль Ауацин
(Juan Manuel Ahuactzin), Оливер Айкард (Olivier Aycard), Конча Биелса

Благодарности  19
(Concha Bielza), Роберто Лей Боррас (Roberto Ley Borrás), Кристина Конати (Cristina Conati), Хавьер Диэс (Javier Díez), Уго Хаир Эскаланте (Hugo
Jair Escalante), Данкан Жилль (Duncan Gillies), Хесус Гонсалес (Jesús
González), Эдель Гарсиа (Edel García), Хессе Оэ (Jesse Hoey), Пабло Ибаргуэнгойтиа (Pablo Ibargüengoytia), Педро Ларраньяга (Pedro Larrañaga),
Рон Ледер (Ron Leder), Джим Литтл (Jim Little), Хосе Луис Маррокин (José
Luis Marroquín), Оскар Майора (Oscar Mayora), Мануэль Монтес (Manuel
Montes), Эдуардо Моралес (Eduardo Morales), Энрике Муньос де Коте
(Enrique Muñoz de Cote), Хулиета Ногэс (Julieta Noguez), Фелипе Ориуэла (Felipe Orihuela), Луис Пинеда (Luis Pineda), Дэвид Пул (David Poole),
Альберто Рейес (Alberto Reyes), Карлос Руис (Carlos Ruiz), Сунил Вадера
(Sunil Vadera) и Луис Вильясеньор (Luis Villaseñor). Я благодарю Эдель,
Фелипе и Пабло за комментарии к некоторым первоначальным версиям книги. Спасибо Энн Николсон (Ann Nicholson) за превосходное вступительное слово.
Я благодарю за поддержку Национальный институт астрофизики,
оптики и электроники (INAOE), предоставивший мне великолепную
рабочую среду для исследовательской и преподавательской работы, а
также обеспечивший возможность выделить часть моего времени для
написания этой книги.
В последнюю по порядку, но не по важности очередь благодарю мою
семью. Мои родители Фуэд (Fuhed†) и Аида (Aida) поощряли мое желание учиться и упорно работать, поддерживали мои научные занятия.
Особенно мой отец, который написал несколько замечательных книг
и вдохновил на писательскую деятельность (возможно, подействовали
гены). Мой брат Рикардо (Ricardo) и сестры Шафиа (Shafia) и Беатрис
(Beatriz) всегда поддерживали и поощряли мои стремления и мечты.
Особенная благодарность моей жене Дорис (Doris) и моим детям Эдгару (Edgar) и Диане (Diana), которые скучали в течение тех долгих часов,
которые я посвятил книге, а не им. Их любовь и поддержка – это то, что
позволяет мне двигаться дальше.

Список сокращений, принятых в книге
ADD

Algebraic Decision
Diagram

АДР

алгебраическая диаграмма
решений

AI

Artificial
Intelligence

ИИ

искусственный интеллект

BAN

Bayesian network
Augmented Naive
Bayes classifier

НБКБС

наивный байесовский классификатор, дополненный
байесовской сетью

BCC

Bayesian Chain
Classifier

БЦ

байесовская цепь (классификатор)

BCCD

Bayesian
Constraint-based
Causal Discovery

БПСА

байесовский причинно-следственный анализ с
учетом ограничений

BN

Bayesian Network

БС

байесовская сеть

CBN

Causal Bayesian
Network

ПСБС

причинно-следственная
байесовская сеть

CMI

Conditional Mutual
Information

УВИ

условная взаимная информация

CPT

Conditional
Probability Table

ТУВ

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

CRF

Conditional Random УСП
Field

условное случайное поле

DAG

Directed Acyclic
Graph

НАГ

направленный ациклический граф

DBN

Dynamic Bayesian
Network

ДБС

динамическая байесовская
сеть

DBNC

Dynamic Bayesian
Network Classifier

КДБС

классификатор на основе
ДБС

DD

Decision Diagram

ДГР

диаграмма решений

DDN

Dynamic Decision
Network

ДСР

динамическая сетьпринятия решений

DT

Decision Tree

ДР

дерево решений

EC

Expected Cost

ОЗ

ожидаемые затраты

EM

Expectation

Maximization EM-алгоритм

FN

False Negative

ЛО

ложноотрицательный

FP

False Positive

ЛП

ложноположительный

GRM

Gibbs Random Field

СПГ

случайное поле Гиббса

Список сокращений, принятых в книге  21
HMM

Hidden Markov
Model

СММ

скрытая марковская модель

ICM

Iterative
Conditional Modes

ИУМ

итеративные условные методы (алгоритм)

ID

Influence Diagram

ДВ

диаграмма влияния

ILP

Inductive Logic
Programming

ИЛП

индуктивное логическое
программирование

KB

Knowledge Base

БЗ

база знаний

LIMID

Limited Memory
Influence Diagram

ДВОП

диаграмма влияния с ограниченной памятью

MAG

Maximal Ancestral
Graph

МНГ

максимальный наследственный граф

MAP

Maximum a
Posteriori

ОАМ

оценка апостериорного
максимума

MB

Markov Blanket

МО

марковское ограждение

MBC

Multidimensional
Bayesian network
Classifier

МБС

многомерная байесовская
сеть (классификатор)

MC

Markov Chain

МЦ

марковская цепь

MDL

Minimum
Description Length

ПМДО

принцип минимальной
длины описания

MDP

Markov Decision
Process

МППР

марковский процесс принятия решений

MLN

Markov Logic
Network

МЛС

марковская логическая сеть

MN

Markov Network

МС

марковская сеть

MPE

Most Probable
Explanation

НВО

наиболее вероятное объяснение (обоснование)

MRF

Markov Random
Field

МСП

марковское случайное поле

NBC

Naïve Bayes
Classifier

НБК

наивный байесовский классификатор

PAG

Parental Ancestral
Graph

РНГ

родительский наследственный граф

PGM

Probabilistic
Graphical Model

ВГМ

вероятностная графовая
модель

PL

Pseudolikelihood

ПП

псевдоправдоподобие

22

 Список сокращений, принятых в книге

POMDP Partially Observable ЧНМПР
Markov Decision
Process

частично наблюдаемый
марковский процесс принятия решений

PRM

Probabilistic
Relational Model

ВРМ

вероятностная реляционная модель

RPGM

Relational
Probabilistic
Graphical Model

РВГМ

реляционная вероятностная графовая модель

SNBC

Semi-Naïve
Bayesian Classifier

ЧНБК

частично наивный байесовский классификатор

TAN

Tree Augmented
Naive Bayes
classifier

НБКД

наивный байесовский классификатор, дополненный
деревом

TEN

Temporal Event
Network

ВСС

временнáя сеть событий

TN

Temporal Node

ВУ

временной узел (сети)

TNBN

Temporal Nodes
Bayesian Network

БСВУ

байесовская сеть с временными узлами

Условные математические обозначения,
используемые в книге
T

True (Истина)

F

False (Ложь)

A, B, C, …

Утверждения (бинарные/двоичные переменные)

¬A

Не A (отрицание)

A⋀B

A и B (конъюнкция)

A↔B

A, если B, и B, если A (двойная импликация)

∃(X)

Квантор существования: существует X

A⋁B

A или B (дизъюнкция)

X∈A

X является элементом A

C∪D

Объединение двух множеств

Ω

Пространство выборки

A→B

B если A (импликация)

∀(X)

Квантор всеобщности: для всех X

C∩D

Пересечение двух множеств

X

Случайная переменная

x

Конкретное значение случайной переменной, X = x

X

Вектор случайных переменных, X = X1, X2, ..., XN

x

Конкретная реализация вектора X, x = x1, x2, ..., xN

X1:T

Вектор переменной X от t = 1 до t = T, X1:T = X1, X2, ..., XT

P(X = x)

Вероятность переменной X, находящейся в состоянии x; сокращенно P(x)

P(X = x)

Вероятность вектора X, находящегося в состоянии x; сокращенно P(x)

P(x, y)

Вероятность x и y

P(x ⋁ y)

Вероятность x или y

P(x | y)

Условная вероятность x при заданном y

P(x) ~ y

Вероятность x пропорциональна y, т. е. P(x) = k × y

P(X)

Кумулятивная функция распределения дискретной переменной X

P(X)

Функция вероятности дискретной переменной X

F(X)

Кумулятивная функция распределения непрерывной переменной X

24

 Условные математические обозначения, используемые в книге

f(X)

Функция плотности (распределения) вероятности непрерывной переменной X

I(X, Y, Z)

Переменная X независима от Z при заданной переменной Y

G(V, E)

Граф G с множеством вершин V и множеством ребер E

Pa(X)

Родители (предки) узла X в направленном (ориентированном) графе

Nei(X)

Соседи узла X в графе

n!

Факториал числа n; n! = n × (n − 1) × (n − 2) × ...1

 n
 r 

Число сочетаний из r элементов множества n;

exp(x)

Экспоненциальная функция от x; exp(x) = ex

|X|

Размерность, или число состояний дискретной переменной X

μ

Меана (среднее значение)

 n
n!
 r  = r!(n − r)!

Дисперсия случайной величины

2

σ

Среднеквадратическое (стандартное) отклонение

σ
N(μ, σ )

Нормальное распределение со средним значением μ и среднеквадратическим отклонением σ

I(m)

Информация

H(M)

Энтропия

E(X)

Ожидаемое значение случайной переменной X

2

ArgMaxxF(X) Значение переменной X, при котором функция F достигает
максимума

Часть

I
Теоретические основы

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

Глава

1

Введение

1.1 Неопределенность
Для достижения своих целей интеллектуальные агенты (сущности),
естественные или искусственные, должны выбирать образ действий из
многих возможных вариантов. То есть они должны принимать решение на основе информации, получаемой из окружающей среды, накоп­
ленных ранее знаний и конкретных целей (задач). Во многих случаях
информация и знания неполные или ненадежные, поэтому результаты
этих решений являются неопределенными, т. е. агенты должны принимать решения в условиях неопределенности. Например, врач скорой
помощи должен действовать очень быстро, даже если располагает недостаточной информацией о состоянии пациента. Самоуправляемое
транспортное средство, определяющее возможные препятствия на своем пути, должно принимать решение о повороте или остановке, не зная
точно об удаленности, размере и скорости объекта, препятствующего
движению. Финансист должен выбрать наилучший вариант инвес­
тирования в соответствии со своими приблизительными прогнозами
ожидаемого оборота средств и дохода при различных альтернативных
вариантах и в соответствии с требованиями своих клиентов.
Одна из целей искусственного интеллекта – разработка систем, которые способны обосновывать и принимать решения в условиях неопределенности. Обоснование в условиях неопределенности представляло
трудную задачу для первых интеллектуальных систем, так как привычные парадигмы и принципы не очень хорошо подходили для управления неопределенностью.

1.1.1 Воздействие неопределенности
Первые системы искусственного интеллекта были основаны на классической логике, в которой знания можно представить как набор логи-

1.2 Краткая история  27
ческих высказываний или правил. Такие системы обладали двумя важными свойствами: модульностью и монотонностью, которые помогают
упростить получение знаний и логические выводы из них.
Система является модульной, если каждый элемент знаний может
использоваться независимо для получения логических заключений
(выводов). Таким образом, если предпосылки любого логического высказывания (условия) или правила являются истинными, то мы можем
получить (вывести) соответствующее заключение без необходимости
рассмотрения других элементов базы знаний. Например, если сущест­
вует правило ∀X, паралич(X) → повреждена_рука(X), тогда если известно, что у Мери был паралич, то известно также, что у нее повреждена
рука.
Система является монолитной, если ее знания всегда расширяются
монотонно, т. е. любой дедуктивно выводимый факт или заключение
сохраняет свою силу, даже если системе становятся известны новые
факты. Например, если в системе существует правило ∀X, птица(X) →
летает(X), тогда если Твити – птица, то можно сделать вывод, что она
летает.
Но если имеется неопределенность этих двух свойств, то в общем
случае они не являются истинными. В медицинских системах обычно
существует неопределенность диагноза для пациента, так что даже если
пациент перенес паралич, возможно, его рука не повреждена. Это зависит от конкретного участка мозга, пораженного параличом. Не все птицы летают, поэтому если в дальнейшем мы узнаем, что Твити – пингвин, то необходимо отменить заключение о том, что он(а) летает.
Неточность описанных выше пар свойств усложняет систему, которая должна обосновывать выводы и заключения в условиях неопределенности. Теоретически такая система должна учитывать все доступные знания и факты при выводе заключения, а кроме того, непременно
должна обладать способностью изменять свои выводы и заключения
при получении новых данных.

1.2 Краткая история
В истории искусственного интеллекта можно выделить следующие стадии развития методик управления неопределенностью:
• начальная стадия (1950-е и 1960-е гг.) – исследователи искусственного интеллекта (ИИ) сосредоточены на решении таких задач, как
доказательство теорем, игра в шахматы и подобные игры, а также
область задач планирования «мир многогранников», в которые
не включалась неопределенность. Таким образом, не было необходимости в разработке методик управления неопределенно-

28

 Глава 1. Введение









стью. В начальной стадии развития ИИ преобладающей являлась
символическая парадигма;
ad-hoc-методики (1970-е гг.) – разработка экспертных систем
для реальных приложений, например для медицины и горнодобывающей промышленности, потребовала развития методик
управления неопределенностью. Новейшие на тот момент adhoc-методики разрабатывались для специализированных экспертных систем, например фактор определенности MYCIN [15]
и псевдовероятности Prospector [3]. Позже выяснилось, что эти
методики содержали набор неявных предположений, которые
ограничивали их применяемость [5]. Кроме того, в этот период
предлагались альтернативные теории управления неопределенностью в экспертных системах, в том числе нечеткая логика (fuzzy
logic) [17] и теория Демпстера–Шафера [14];
возрождение вероятности (1980-е гг.) – теория вероятностей использовалась в некоторых ранних экспертных системах, но несколько позже от нее отказались, так как применение теории
вероятностей в ее простейших формах приводило к высокой
сложности вычислений (см. раздел 1.3). Новые разработки, в особенности байесовские сети [11], предоставляют возможность создавать сложные вероятностные системы эффективным способом.
Таким образом, на этом этапе начинается новая эра в управлении
неопределенностью в области ИИ;
разнотипный (теоретический) формализм (1990-е гг.) – продолжается развитие байесовских сетей, кроме того, они объединяются
с разработками эффективных алгоритмов логического вывода и
обучения. В то же время и другие методики, такие как нечеткая
логика и немонотонная логика, рассматриваются как альтернативные варианты обоснования выводов и заключений в условиях
неопределенности;
вероятностные графовые модели (2000-е гг.) – несколько методик,
основанных на теории вероятностей и представлениях в форме
графов, объединяются, образуя мощные методы представления,
обоснования и принятия решений в условиях неопределенности.
В их числе байесовские сети, марковские сети, диаграммы влияния, марковские процессы принятия решения и другие.

1.3 Основные вероятностные модели
Теория вероятностей предоставляет прочную основу для управления
неопределенностью, следовательно, вполне естественно воспользоваться теорией вероятностей для обоснования выводов и заключений в

1.3 Основные вероятностные модели  29
условиях неопределенности. Но если применять теорию вероятностей
в ее простейшей форме для решения сложных задач, то очень скоро нас
остановит проблема сложности вычислений.
В этом разделе показано, как можно смоделировать задачу, используя простейший вероятностный метод, основанный на равномерном
представ­лении, а также как можно воспользоваться этим представлением для ответа на некоторые вероятностные запросы. Это поможет
лучше понять ограничения такого простейшего метода и объяснит причины, стимулирующие разработку вероятностных графовых моделей1.
Многие задачи можно сформулировать в виде набора (множества)
переменных X1, X2, …, Xn, при этом мы знаем значения некоторых пере­
менных, тогда как другие неизвестны. Например, в медицинской диаг­
ностике переменные могут представлять определенные симптомы и
соответствующие болезни. Обычно нам известны конкретные симп­
томы, и необходимо определить (найти) наиболее вероятную болезнь
(или болезни). Другим примером может послужить разработка в финансовой сфере системы, которая помогает принять решение о сумме
кредита, выдаваемого конкретному клиенту. В этом случае значимыми
переменными являются атрибуты (характеристики) этого клиента, т. е.
возраст, доходы, ранее выданные кредиты и т. д., а также переменная,
содержащая сумму выдаваемого кредита. На основе атрибутов (характеристик) конкретного клиента необходимо определить, например,
максимальную сумму кредита, которую можно предоставить этому
клиенту без особого риска. Вообще говоря, существует несколько типов задач, которые можно смоделировать таким способом, – это задачи
диаг­ностики, классификации, распознавания и некоторые другие.
В вероятностной рабочей среде можно считать, что каждый атрибут
задачи представляет собой случайную переменную, так что есть возможность получить определенное значение из набора (множества)
значений2. Будем считать, что это множество возможных значений является конечным, например X = {x1, x2, …, xm} может представлять m возможных заболеваний в области медицинской диагностики. Каждое значение случайной переменной будет иметь определенную вероятность,
связанную с внутренним контекстом. В рассматриваемом здесь примере случайной переменной X это может быть вероятность возникновения каждого заболевания в определенной группе населения (это называют частотой заболеваний или просто заболеваемостью), т. е. P(X = x1),
P(X = x2), …, или в сокращенной форме P(x1), P(x2), ….
Если рассматриваются две случайные переменные X и Y, то можно
вычислить вероятность получения определенного значения переменной X и вероятность получения определенного значения переменной Y,
1
2

В этом и в следующих разделах предполагается, что читатель знаком с некоторыми основными
концепциями теории вероятностей. Обзор этих и других концепций приведен в главе 2.
Формальное определение случайной переменной будет дано несколько позже.

30

 Глава 1. Введение

т. е. P(X = xi ⋀ Y = yj) или просто P(xi, yj). Это называют совместной вероят­
ностью переменных X и Y. Данный принцип можно обобщить для n
случайных переменных, где совместная вероятность обозначается как
P(X1, X2, …, Xn). Можно интерпретировать выражение P(X1, X2, …, Xn) как
функцию, которая присваивает значение вероятности всем возможным
сочетаниям значений переменных X1, X2, …, Xn.
Таким образом, можно представить любую предметную область как:
1) множество случайных переменных X1, X2, …, Xn;
2) совместное распределение вероятностей, связанное с этими переменными, P(X1, X2, …, Xn).
Приняв такое представление, можно ответить на некоторые запросы
с учетом значений конкретных переменных в рассматриваемой предметной области, например:
• частное (или маргинальное) распределение вероятностей – вероятность одной из переменных принимает конкретное значение.
Это можно вычислить, суммируя значения всех остальных переменных из совместного распределения вероятностей. Другими
словами, P(Xi) = ∑∀X≠X P(X1, X2, …, Xn). Это называют маргиналиi
зацией. Маргинализацию можно обобщить для получения частного распределения вероятностей некоторого подмножества
переменных путем суммирования значений всех остальных переменных;
• условные вероятности – по определению условная вероятность
Xi с учетом того, что нам известно значение Xj, равна P(Xi | Xj) =
P(Xi, Xj) / P(Xj), P(Xj) ≠ 0. Значения P(Xi, Xj) и P(Xj) можно получить
с помощью маргинализации, и с помощью этих значений вычисляются условные вероятности;
• полная абдукция – средняя ошибка в процентах (MPE) – если подмножество (E) переменных известно, то абдукция заключается в
поиске значений остальных переменных (J), которые максимизируют условную вероятность, давая обоснование, max P(J | E). Таким образом, ArgMaxJ [P(X1, X2, …, Xn) / P(E)];
• частичная абдукция – оценка апостериорного максимума (MAP) –
в этом случае существуют три подмножества переменных: обоснование E, запрашиваемые переменные, которые необходимо
максимизировать, J и остальные переменные K, так что необходимо максимизировать P(J | E). Результат получается путем марги­
нализации на подмножестве K и максимизации на подмно­
жестве J, т. е. ArgMaxJ [ ∑X∈K P(X1, X2, …, Xn) / P(E)].

1.3 Основные вероятностные модели  31
Кроме того, если имеются данные из интересующей нас предметной
области, то можно получить модель по этим данным, т. е. оценку сов­
местного распределения вероятностей для значимых переменных.
В следующем разделе рассматривается простой пример применения
базовой методики.

1.3.1 Пример
Воспользуемся обычным примером определения возможности игры
в гольф для демонстрации простой методики. В этой задаче имеется
пять переменных: прогноз погоды, температура, влажность, ветер,
игра. В табл. 1.1 показаны некоторые данные для этого примера. Все
переменные дискретные, так что они могут содержать значения из конечного множества возможных значений, например прогноз может
быть одним из следующих: солнечно, облачно или дождь. Теперь рассмотрим, как можно выполнить описанные выше различные вероятностные запросы для этого примера.
Таблица 1.1. Выборка данных для примера определения возможности игры в гольф
Прогноз

Температура

Влажность

Ветер

Игра

Солнечно

Высокая

Высокая

Ложь

Нет

Солнечно

Высокая

Высокая

Истина

Нет

Облачно

Высокая

Высокая

Ложь

Да

Дождь

Средняя

Высокая

Ложь

Да

Дождь

Низкая

Нормальная

Ложь

Да

Дождь

Низкая

Нормальная

Истина

Нет

Облачно

Низкая

Нормальная

Истина

Да

Солнечно

Средняя

Высокая

Ложь

Нет

Солнечно

Низкая

Нормальная

Ложь

Да

Дождь

Средняя

Нормальная

Ложь

Да

Солнечно

Средняя

Нормальная

Истина

Да

Облачно

Средняя

Высокая

Истина

Да

Облачно

Высокая

Нормальная

Ложь

Да

Дождь

Средняя

Высокая

Истина

Нет

Сначала упростим пример, используя только две переменные – Прог­
ноз и Температура. По данным из табл. 1.1 можно вычислить совместное
распределение вероятностей для Прогноза и Температуры, как показа-

32

 Глава 1. Введение

но в табл. 1.2. Каждая запись (строка) табл. 1.2 соответствует совместному распределению вероятностей P(Прогноз, Температура), например
P(Прогноз = С, Температура = В) = 0.143.
Таблица 1.2. Совместное распределение вероятностей для переменных Прогноз и
Температура
Прогноз

Температура
В

С

Н

С

0.143

0.143

0.071

О

0.143

0.071

0.071

Д

0

0.214

0.143

Сначала получим частное (маргинальное) распределение вероятностей для этих двух переменных. Если выполнить суммирование по
строкам (маргинализация переменной Температура), то получим частное распределение вероятностей для переменной Прогноз P(Прогноз) =
[0.357, 0.286, 0.357]. Если просуммировать столбцы, то получим частное распределение вероятностей для переменной Температура
P(Температура) = [0.286, 0.428, 0.286]. Из вычисленных распределений
получаем, что наиболее вероятной температурой является С (средняя),
а для прогноза наиболее вероятны значения С (солнечно) и Д (дождь).
Теперь можно вычислить условные вероятности для переменной
Прогноз при заданной температуре и для переменной Температура при
заданном прогнозе. Например:
P(Температура | Прогноз = Д) = P(Температура ⋀ Прогноз = Д) /
P(Прогноз = Д) = [0, 0.6, 0.4];

P(Прогноз | Температура = Н) = P(Прогноз ⋀ Температура = Н) /
P(Температура = Н) = [0.25, 0.25, 0.5].

С учетом вычисленных распределений при прогнозе дождливой погоды наиболее вероятной является средняя температура, а при низкой
температуре наиболее вероятно прогнозирование дождя.
Наконец, наиболее вероятным сочетанием значений переменных
Прогноз и Температура является {Дождь, Средняя}. Это сочетание в данном примере можно получить непосредственно из таблицы совместного распределения вероятностей.
Несмотря на возможность выполнения разнообразных вероятностных запросов для этого небольшого примера, описанная выше методика становится неприемлемой для сложных задач с многочисленными
переменными, так как размер таблицы и объем прямых вычислений

1.4 Вероятностные графовые модели  33
частных и условных вероятностей возрастает экспоненциально при
увеличении числа переменных в модели.
Еще один недостаток этой простейшей методики состоит в том, что
для получения правильных оценок совместного распределения вероятностей по данным потребуется очень большая база данных, если количество переменных в модели велико. Существует простое практическое
правило: число экземпляров (записей) как минимум в 10 раз больше
числа возможных сочетаний значений переменных в модели, так что
если рассматривается 50 бинарных переменных, то потребуется не менее 10 × 250 экземпляров (записей в базе данных).
Кроме того, таблица совместного распределения вероятностей дает
слишком мало информации о задаче человеку, т. е. эта методика имеет
еще и ограничения по восприятию и пониманию (когнитивности).
Перечисленные выше недостатки рассматриваемой в этом разделе
простейшей методики являются одним из стимулов развития вероятностных графовых моделей.

1.4 Вероятностные графовые модели
Вероятностные графовые модели (ВГМ) предоставляют рабочую среду
для управления неопределенностью на основе теории вероятностей с
выполнением вычислений наиболее эффективным способом. Основная идея состоит в рассмотрении только тех отношений независимости,
которые являются действительными и обоснованными для конкретной
задачи, и включении только этих отношений в вероятностную модель
для уменьшения сложности по критериям требований к объему памяти
и времени вычислений. Естественным способом представления отношений зависимости и независимости в множестве переменных является использование графов. Переменные, которые связаны прямой зависимостью, соединяются ребрами (дугами), а отношения независимости
неявно присутствуют в таком графе зависимостей.
Вероятностная графовая модель – это компактное представление совместного распределения вероятностей, из которого можно получить
частное распределение вероятностей и условные вероятности. Вероятностная графовая модель обладает следующими преимуществами по
сравнению с простым традиционным представлением:
• в общем гораздо более компактная модель (по объему памяти);
• в общем гораздо более эффективная модель (по времени вычислений);
• проще для понимания и получения информации;
• проще для обучения на различных формах данных или для создания на основе экспертных знаний.

34

 Глава 1. Введение

Вероятностная графовая модель определяется двумя компонентами:
1) граф G(V, E), который определяет структуру модели;
2) набор локальных функций f(Yi), которые определяют параметры,
где Yi – подмножество X.
Совместное распределение вероятностей вычисляется как произведение локальных функций:




M

P(X1, X2, …, XN) = K ∏ f(Yi),
i=1

(1.1)

где K – константа нормализации (приводит сумму вероятностей к единице).
Такое представление в форме графа и набор локальных функций (называемых потенциальными функциями) являются основой для логи­
ческого вывода и обучения в ВГМ.
Логический вывод (inference): получение частного распределения вероятностей или условных вероятностей на любом подмножестве переменных Z с учетом любого другого подмножества Y.
Обучение: при заданном наборе данных – значений переменной X
(набор может быть неполным) определяется оценка структуры (графа)
и параметров (локальных функций) модели.
Вероятностные графовые модели можно классифицировать по следующим трем характеристикам:
1) направленные или ненаправленные (ориентированные или не­
ориентированные);
2) статические или динамические;
3) вероятностные или предназначенные для принятия решений.
Первая характеристика определяет тип графа, используемого для
представления отношений зависимости. Ненаправленные (неориентированные) графы представляют симметричные отношения, тогда как
направленные (ориентированные) графы представляют отношения, в
которых направление важно. В заданном множестве случайных переменных с соответствующими условными отношениями зависимостей
невозможно представить все отношения с помощью одного типа графа [11], следовательно, необходимы оба типа моделей.
Вторая характеристика определяет, представляет ли модель множест­
во переменных в конкретный момент времени (статическая модель)
или в течение различных интервалов времени (динамическая модель).
Вероятностные модели включают только случайные переменные, а модели для принятия решений также содержат параметры принятия решения и переменные полезности.

1.5 Представление, логический вывод и обучение  35
Самые распространенные классы ВГМ и их типы в соответствии с
приведенной выше классификацией перечислены в табл. 1.3.
Таблица 1.3. Основные типы вероятностных графовых моделей
Тип модели

Направленный /
Статическая /
Ненаправленный
Динамическая
граф

Вероятностная /
Для принятия
решений

Байесовские
классификаторы

Напр. / Ненапр.

Статическая

Вероятностная

Марковские цепи

Напр.

Динамическая

Вероятностная

Скрытые марковские
модели

Напр.

Динамическая

Вероятностная

Ненапр.

Статическая

Вероятностная

Байесовские сети

Напр.

Статическая

Вероятностная

Динамические
байесовские сети

Напр.

Динамическая

Вероятностная

Диаграммы влияния

Напр.

Статическая

Для принятия
решений

Марковские процессы
принятия решений (МППР)

Напр.

Динамическая

Для принятия
решений

Частично наблюдаемые
МППР

Напр.

Динамическая

Для принятия
решений

Марковские случайные
поля

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

1.5 Представление, логический вывод
и обучение
Для каждого класса вероятностной графовой модели существуют три
аспекта: представление, логический вывод и обучение.
Представление (representation) – это основное свойство каждой модели, которое определяет, какие сущности (объекты) образуют модель
и как эти сущности связаны между собой. Например, все вероятностные графовые модели могут быть представлены как графы, которые
определяют структуру модели, и локальные функции, описывающие

36

 Глава 1. Введение

параметры модели. Но тип графа и локальные функции различны для
разных типов моделей.
Логический вывод (inference) заключается в ответах на разнообразные вероятностные запросы и основан на самой модели и некотором
доказательстве (подтверждении). Например, получение апостериорного распределения вероятностей переменной или набора переменных,
при условии что другие переменные в этой модели известны. Главная
трудность – как сделать это эффективно.
Для создания таких моделей существует два основных способа: создание «вручную» с помощью экспертов в рассматриваемой предметной области или вывод модели методом индукции из данных. В последние годы особое внимание уделялось методике вывода модели методом
индукции на основе методик машинного обучения, поскольку создание
модели с помощью экспертов представляет собой сложную и дорогостоящую задачу. В частности, определение параметров для моделей
обычно выполняется на основе данных, так как люди склонны давать
неудачные критерии оценки вероятностей.
Важным свойством этих методик с практической прикладной точки
зрения является возможность отделения процессов логического вывода
и методик обучения от модели. Таким образом, как и в других представлениях методик искусственного интеллекта, таких как логика и правила
вывода, механизмы обоснования (доказательства) являются общими и
могут применяться к различным моделям. В результате методики, разработанные для вероятностного логического вывода в каждом классе
вероятностных графовых моделей, можно напрямую применять для
различных моделей в разнообразных приложениях.
Эксперт
в предметной
области

Данные

Механизм
обучения

База знаний
(ВГМ)

Механизм
логического
вывода

Результаты

Наблюдения
(доказательство)

Рис. 1.1. Схематическое представление общего принципа, которому подчиняются
различные классы ВГМ: четкое разделение обобщенных механизмов обучения
и логического вывода и базы знаний, зависящей от конкретного приложения

Этот главный теоретический принцип схематически показан на
рис. 1.1. На основе данных, или знаний эксперта, или сочетания обо-

1.6 Приложения  37
их источников база знаний – в данном случае вероятностная графовая
модель создается с использованием механизма обучения. После создания модели можно применять ее для выполнения вероятностного
обоснования с помощью механизма логического вывода. Механизм
логического вывода на основе наблюдений и самой модели извлекает
результаты. Механизмы обучения и логического вывода являются общими для любого класса вероятностной графовой модели, поэтому могут применяться для моделирования и обоснования в различных предметных областях.
Для каждого типа вероятностной графовой модели, представленной
в этой книге, сначала будет описано ее представление, затем будут рассматриваться некоторые из наиболее часто используемых методик логического вывода и обучения.

1.6 Приложения
В большинстве реальных задач подразумевается работа в условиях неопределенности, и в таких задачах обычно существует большое количество факторов или переменных, которые необходимо учитывать при
решении. Вероятностные графовые модели формируют идеальную рабочую среду для решения сложных задач в условиях неопределенности,
поэтому могут применяться в широком диапазоне предметных областей, включая следующие:
• медицинская диагностика и принятие решений;
• определение местонахождения, навигация и планирование действий мобильного роботизированного устройства;
• диагностика сложного промышленного оборудования, например
турбин и оборудования электростанций;
• моделирование пользователем адаптивных интерфейсов и интеллектуальных обучающих средств;
• распознавание речи и обработка естественных языков;
• моделирование и прогнозирование загрязнения окружающей
среды;
• анализ надежности и устойчивости сложных процессов;
• моделирование эволюционирования вирусов;
• распознавание объектов в системах компьютерного зрения;
• извлечение информации;
• рынки энергоресурсов.
Для различных приложений в большей или меньшей степени подходят те или иные типы вероятностных графовых моделей, как будет
показано в следующих главах, где представлены примеры приложений
для каждого класса вероятностных графовых моделей.

38

 Глава 1. Введение

1.7 Обзор содержимого книги
Книга разделена на четыре части.
В части I изложены математические основы для изучения и понимания моделей и методик, представленных в последующих главах. Глава 2
содержит обзор некоторых основных концепций теории вероятностей и
теории информации, наиболее важных для понимания вероятностных
графовых моделей. В главе 3 приводится общий обзор теории графов с
выделением некоторых аспектов, которые важны для представления и
логического вывода в вероятностных графовых моделях, – рассматриваются клики, хордальные (триангулированные) графы, совершенная
упорядоченность и т. п.
В части II описаны различные типы вероятностных моделей, которые
содержат только случайные переменные, но в этих моделях не рассмат­
ривается принятие решений или полезность. Это самая большая часть
книги, которая включает описание следующих типов вероятностных
графовых моделей:






байесовские классификаторы;
марковские цепи и скрытые марковские модели;
марковские случайные поля;
байесовские сети;
динамические байесовские сети и временные
 сети.

Каждый тип модели рассматривается в отдельной главе (за исключением байесовских сетей, описание которых разделено на две главы),
включая представление, логический вывод и обучение, а также примеры практических приложений.
В части III представлены модели, реализующие принятие решений и
оценивающие полезность, поэтому основное внимание уделяется помощи механизма принятия решений для определения оптимальных
действий в условиях неопределенности. Эта часть содержит две главы.
В первой главе рассматриваются методики моделирования для выбора
одного или нескольких решений, включая деревья решений и диаграммы влияния. Вторая глава посвящена последовательному принятию решений, в особенности марковским процессам принятия решений.
В части IV рассматриваются другие теоретические принципы, которые можно считать расширениями обычных вероятностных графовых
моделей. В этой части также две главы. В первой главе рассматриваются
реляционные вероятностные модели, которые увеличивают мощность
представления стандартных вероятностных графовых моделей, объ­
единяя выразительную мощь логики первого порядка с возможностями
объяснения и обоснования неопределенности вероятностных моделей.
Во второй главе представлены причинно-следственные графовые мо-

Ссылки на источники  39
дели, которые существенно усиливают представление вероятностных
зависимостей для выражения отношений причин и следствий (результатов).

1.8 Материалы для дополнительного чтения
В этой книге тема вероятностных графовых моделей рассматривается
в широком аспекте. Некоторые другие книги не менее подробно освещают эту тему. Коллер (Koller) и Фридман (Friedman) [7] представляют
модели различной структуры, уделяя меньше внимания приложениям.
В книге Лауритцена (Lauritzen) [8] в большей степени рассматривается
статистический аспект. Байесовское программирование [1] предоставляет другой подход к реализации графовых моделей на основе парадигмы программирования.
Кроме того, существует несколько книг, в которых более подробно
рассматривается один или несколько типов моделей: байесовские сети
[2, 10, 11], графы решений [6], марковские случайные поля [9], марковские процессы принятия решений [13], реляционные вероятностные
модели [4] и причинно-следственные модели [12, 16].

Ссылки на источники
1. Bessiere, P., Mazer, E., Ahuactzin, J. M., Mekhnacha, K. Bayesian
Programming. CRC Press, Boca Raton (2014).
2. Darwiche, A. Modeling and Reasoning with Bayesian Networks. Cambridge University Press, New York (2009).
3. Duda, R. O., Hart, P. A., Nilsson, N. L. Subjective Bayesian methods for
rule-based inference systems. In: Proceeding of the National Computer
Conference, vol. 45, p. 1075–1082 (1976).
4. Getoor, L., Taskar, B. Introduction to Statistical Relational Learning. MIT
Press, Cambridge (2007).
5. Heckerman, D. Probabilistic interpretations for MYCIN’s certainty factors. In: Proceedings of the First Conference on Uncertainty in Artificial
Intelligence (UAI), p. 9–20 (1985).
6. Jensen, F. V. Bayesian Networks and Decision Graphs. Springer, New York
(2001).
7. Koller, D., Friedman, N. Probabilistic Graphical Models: Principles and
Techniques. MIT Press, Cambridge (2009).
8. Lauritzen, S. L. Graphical Models. Oxford University Press, Oxford (1996).
9. Li, S. Z. Markov Random Field Modeling in Image Analysis. Springer,
London (2009).

40

 Глава 1. Введение

10. Neapolitan, R. E. Probabilistic Reasoning in Expert Systems. Wiley, New
York (1990).
11. Pearl, J. Probabilistic Reasoning in Intelligent Systems: Networks of
Plausible Inference. Morgan Kaufmann, San Francisco (1988).
12. Pearl, J. Causality. Models, Reasoning and Inference. Cambridge University Press, New York (2009).
13. Puterman, M. L. Markov Decision Processes: Discrete Stochastic Dyna­
mic Programming. Wiley, New York (1994).
14. Shafer, G. A Mathematical Theory of Evidence. Princeton University
Press, Princeton (1976).
15. Shortliffe, E. H., Buchanan, B. G. A model of inexact reasoning in medicine.Math. Biosci. 23, 351–379 (1975).
16. Spirtes, P., Glymour, C., Scheines, R. Causation, Prediction, and Search.
MIT Press, New York (2000).
17. Zadeh, L. A. Knowledge Representation in Fuzzy Logic. IEEE Trans.
Knowl. Data Eng. 1 (1), 89–100 (1989).

Глава

2

Теория вероятностей

2.1 Введение
Теория вероятностей была создана на основе азартных игр со случайным исходом и имеет долгую и весьма интересную историю. Впоследствии теория вероятностей была преобразована в математический
язык для количественной оценки неопределенности.
Рассмотрим конкретный эксперимент, например бросок игральной кости, при котором можно получить различные результаты. Каждый результат будем называть исходом (outcome), или элементарным
событием. В примере с бросанием игральной кости возможны следующие исходы, или элементарные события: {1, 2, 3, 4, 5, 6}. Множество
всех возможных исходов эксперимента называется пространством элементарных событий Ω. Событие (event) – это множество элементарных
событий, или подмножество пространства элементарных событий Ω.
Продолжая рассматривать пример с броском игральной кости, отметим, что одним из событий может быть выпадение четного числа, т. е.
{2, 4, 6}.
Прежде чем дать математическое определение вероятности, следует
обсудить общий смысл или интерпретацию вероятности. Предлагалось
несколько определений, или интерпретаций вероятности, начиная с
классического определения Лапласа (Laplace) и включая предельную
(граничную) частоту, субъективную, логическую и предопределенную
интерпретации [1]:
• классическое определение: вероятность следует определять с помощью равновероятных событий. Если некоторый конкретный
эксперимент имеет N возможных исходов, то вероятность каждого исхода равна 1/N;

42

 Глава 2. Теория вероятностей

• логическая интерпретация: вероятность – это мера правильного
представления, то есть при наличии доступного подтверждения
правильно (рационально) мыслящая личность получает конкретное представление о некотором событии, которое определяет его
вероятность;
• субъективная интерпретация: вероятность – это мера личной
уверенности (представления) в наступлении определенного события. Эта характеристика может измеряться коэффициентом
ставок – вероятность наступления конкретного события для конкретного лица связана с тем, сколько это лицо готово поставить
на это событие;
• частотная интерпретация: вероятность – это мера, выраженная
числом возникновения некоторого события в конкретном эксперименте, когда количество повторений эксперимента стремится
к бесконечности;
• предопределенность: вероятность – это мера, выраженная числом возникновения некоторого события при повторно воспроизводимых условиях, даже если эксперимент выполнялся всего
лишь один раз.
Эти интерпретации можно сгруппировать по двум основным подходам, применяемым в теории вероятностей и статистике:
• объективный подход (классическое определение, предельная
час­тота, предопределенность): вероятности существуют в реальном мире и могут быть измерены (вычислены);
• эпистемологический, или гносеологический, подход (логическая
и субъективная интерпретации): вероятности должны определяться с помощью человеческих знаний, эти вероятности являются мерами персонального представления (уверенности).
Оба подхода основаны на одних и тех же математических аксиомах,
определения которых приведены ниже. Но существуют различия в способе применения вероятности, в особенности в статистическом выводе. Эти различия стали отравным пунктом создания двух основных
направлений (школ) в статистике: использование частотной вероятности и байесовская статистика. В области исследований искусственного
интеллекта, в особенности в экспертных системах, более предпочтительным является эпистемологический, или субъективный, подход, но
объективный подход также применяется [4].
Мы будем рассматривать логический, или нормативный, подход и
определение вероятности в терминах степени правдоподобия конкретного утверждения с учетом доступного доказательства (подтвержде-

2.2 Основные правила  43
ния) [2]. На основе работы Кокса (Cox) Джейнс (Janes) устанавливает
некоторые основные рекомендации, которые должны соблюдаться при
определении степени правдоподобия [2]:
• представление в форме действительных чисел;
• качественное соответствие здравому смыслу;
• логическая целостность (непротиворечивость).
На основе этих трех интуитивных принципов можно вывести следую­
щие три аксиомы вероятности:
1) P(A) – непрерывная монотонная функция в интервале [0,1];
2) P(A, B | C) = P(A | C)P(B | A, C) (правило умножения);
3) P(A | B) + P(¬A | B) = 1 (правило сложения).
Здесь A, B, C – утверждения (бинарные переменные), а P(A) – вероят­
ность истинности утверждения A. P(A | C) – вероятность истинности
утверждения A, при условии что C известно. Это называют условной
вероят­ностью. P(A, B | C) – это вероятность истинности A И B при условии C (логическая конъюнкция), а P(¬A | C) – вероятность НЕ A (логическое отрицание) при условии C. Эти правила равнозначны весьма часто
используемым аксиомам Колмогорова. Из этих аксиом можно вывести
все стандартные положения теории вероятностей.

2.2 Основные правила
Вероятность дизъюнкции (логической суммы) двух утверждений определяется правилом сложения: P(A + B | C) = P(A | C) + P(B | C) – P(A, B | C).
Если утверждения A и B являются взаимоисключающими при заданном C, то правило сложения можно упростить: P(A + B | C) = P(A | C) +
P(B | C). Это правило можно обобщить для N взаимоисключающих
утверждений:
P(A1 + A2 + … + AN | C) = P(A1 | C) + P(A2 | C) + … + P(AN | C).

(2.1)

Если существует Nвзаимоисключающих и исчерпывающих гипотез
H1, H2, …, HN и если доказательство B не указывает на предпочтение одной из этих гипотез, то в соответствии с принципом индифферентнос­
ти: P(Hi | B) = 1/N.
В соответствии с логической интерпретацией абсолютных вероятнос­
тей не существует, все вероятности условные при наличии некоторой
предпосылочной информации3. Вероятность P(H | B), рассматриваемая
3

Общепринятой является запись P(H) без явного указания условной информации. В этом случае
предполагается, что существует еще и некоторый контекст, в котором рассматриваются вероятности, даже если этот контекст не записан в явной форме.

44

 Глава 2. Теория вероятностей

только вместе с предпосылочной информацией B, называется априорной вероятностью. Если в рассмотрение включается некоторая дополнительная информация D, то это называют апостериорной вероятнос­
тью P(H | D, B). По правилу умножения получаем:
P(D, H | B) = P(D | H, B)P(H | B) = P(H | D, B)P(D | B).

(2.2)

Из этого выражения получаем:




P(H | B)P(D | H, B)
P(H | D, B) = ————————————.
P(D | B)

(2.3)

Последнее равенство (2.3) известно как правило Байеса, а член этой
формулы P(D | H, B) называют правдоподобием (likelihood) L(H).
В некоторых случаях на вероятность гипотезы H не влияет знание
дополнительной информации D, поэтому можно считать, что H и D
независимы при наличии некоторой предпосылки B, следовательно,
P(H | D, B) = P(H | B). В случае когда A и B независимы, правило умножения можно упростить следующим образом: P(A, B | C) = P(A | C)P(B | C).
Это упрощенное правило можно обобщить для N взаимно независимых
утверждений:
P(A1, A2, …, AN | B) = P(A1 | B)P(A2 | B) … P(AN | B).

(2.4)

Если два утверждения независимы с учетом только предпосылочной
информации, то они маргинально независимы. Но если эти два утверждения независимы с учетом некоторого дополнительного подтверж­
дения E, то они условно независимы: P(H, D | B, E) = P(H | B, E). Например,
пусть A представляет утверждение «поливка сада», B – прогноз погоды,
а C – дождь. Изначально поливка сада не является независимой от прог­
ноза погоды, но после того, как наблюдается дождь, эти утверждения
становятся независимыми. Таким образом (опуская член-предпосылку), P(A, B | C) = P(A | C).
Вероятностные графовые модели основаны на этих условиях маргинальной и условной независимости.
Вероятность конъюнкции N утверждений, то есть P(A1, A2, …, AN | B),
обычно называют совместной вероятностью (joint probability). Если
обобщить правило умножения для N утверждений, то получим известное цепное правило (chain rule):
P(A1, A2, …, AN | B) = P(A1 | A2, A3, …, AN, B)P(A2 | A3, A4, …, AN, B)
(2.5)
… P(AN | B).
Таким образом, совместная вероятность N утверждений может быть
определена по этому правилу. Отношения условной независимости

2.3 Случайные переменные  45
между этими утверждениями могут быть использованы для упрощения
приведенного выше произведения. Например, если A1 и A2 независимы
с учетом A3, …, AN, B, то первый член в формуле 2.5 можно упростить:
P(A1 | A3, …, AN, B).
Другим важным отношением является правило (формула) полной
вероят­ности (total probability). Рассмотрим множество B = {B1, B2, …, Bn}
в пространстве элементарных событий Ω, такое, что Ω = B1 ⋃ B2 ⋃ … ⋃ Bn
и Bi ⋂ Bj = Ø. Таким образом, B – это множество взаимоисключающих
событий, которые покрывают все пространство элементарных событий.
Рассмотрим другое событие A, равное объединению всех его пересечений с каждым событием множества: A = (B1 ⋂ A) ⋃ (B2 ⋂ A) ⋃ … ⋃ (Bn ⋂ A).
Затем на основании аксиом вероятности и определения услов­ной
вероят­ности можно вывести правило (формулу) полной вероятности:
(2.6)

P(A) = �P(A | Bi)P(Bi).
i

С учетом формулы полной вероятности можно переписать формулу
правила Байеса в следующем виде (опуская член-предпосылку):

P(B)P(B | A)

P(B | A) = ————————————.
�P(A | Bi)P(Bi)

i

Формула 2.7 общеизвестна как теорема Байеса.

(2.7)

2.3 Случайные переменные
Если рассматривать конечное множество исчерпывающих и взаимо­
исключающих утверждений4, то дискретная переменная X может
представ­лять это множество утверждений, такое, что каждое значение xi этой переменной X соответствует одному утверждению. Если
присво­ить числовое значение каждому утверждению xi, то X – это
дискретная случайная переменная. Например, исход броска игральной кости представляет собой дискретную случайную переменную с
шестью возможными значениями 1, 2, …, 6. Вероятности для всех возможных значений X, то есть P(X) – это распределение вероятностей X.
Продолжим рассмотрение примера с игральной костью, тогда для идеальной («честной») игральной кости распределение вероятностей будет следую­щим:


4

x
1 2 3 4 5 6
P(x) 1/6 1/6 1/6 1/6 1/6 1/6

Это означает, что одно и только одно из этих утверждений имеет значение ИСТИНА (TRUE).

46

 Глава 2. Теория вероятностей

Это пример равномерного распределения вероятностей. Существуют
и определения некоторых других распределений вероятностей. Широко известно биномиальное распределение. Предположим, что имеется
урна с N шарами красного и черного цвета, из которых M красные, то
есть доля красных шаров π = M/N. Случайным образом извлекается шар,
записывается его цвет, после чего шар возвращается в урну. Шары снова
перемешиваются (поэтому теоретически каждая операция извлечения
шара не зависит от предыдущей операции извлечения). Вероятность
получения r красных шаров за n извлечений равна:


 n

P(r | n, π) =   πr(1 – π)n–r,
r

(2.8)

 n
n!
где   = ——————.
 r  r!(n – r)!
Это пример биномиального распределения, которое применяется,
если существует n независимых испытаний, при этом каждое испытание имеет два возможных исхода (успех или промах), а вероятность
успеха постоянна во всех испытаниях. Существует много других распре­
делений. Заинтересованным читателям рекомендуем ознакомиться с
материалами для дополнительного чтения в конце главы.
Существуют две важные числовые величины, которые в целом помогают охарактеризовать распределение вероятности. Ожидаемое
значение, или ожидание (expectation), дискретной случайной переменной – это среднее арифметическое возможных значений, взвешенных
в соответствии с их вероятностями:

N

E(X | B) = �P(xi | B)xi.
(2.9)
i=1

Дисперсия (variance) определяется как ожидаемое значение квадрата
разности значения переменной и ее ожидания:

N

Var(X | B) = �P(xi | B)(xi – E(X))2.
(2.10)
i=1

В общем, дисперсия предоставляет меру ширины или узости интервала распределения вероятностей для конкретной случайной переменной. Квадратный корень из дисперсии называется стандартным отклонением. Обычно стандартное отклонение более понятно, так как его
единицы измерения те же, что и для исследуемой переменной.
До настоящего момента рассматривались дискретные переменные,
но правила определения вероятностей распространяются и на непре-

2.3 Случайные переменные  47
рывные переменные. Если имеется непрерывная переменная X, то
можно разделить ее значения на множество взаимно исключающих
полных интервалов, таких, что P = (a < X ≤ b) – утверждение, следовательно, выведенные выше правила можно применять и в этом случае.
Непрерывная случайная переменная может быть определена в терминах
функции плотности вероятности (или просто плотности вероятнос­ти –
probability density) f(X | B) следующим образом:




b

P(a < X ≤ b) = � f(X | B)dx.
a

(2.11)

Функция плотности вероятности непременно должна соответствовать следующему условию:




� f(X | B)dx = 1.
–∞

Примером непрерывного распределения вероятности является нормальное распределение, или распределение Гаусса. Это распределение
играет важную роль во многих приложениях теории вероятностей и
статистики, поскольку многие явления природы приблизительно соответствуют нормальному распределению. Этот тип распределения предпочтителен и в вероятностных графовых моделях из-за своих математических свойств.
Нормальное распределение обозначается как N(μ, �2), где μ – среднее
значение (меана, центральное значение), а 𝜎 – стандартное отклонение; определяется следующей формулой:




1
1
f(X | B) = ———— exp�− ——— (x – μ)2�.
2𝜎2
𝜎√2π

(2.12)

Функция плотности вероятности распределения Гаусса показана на
рис. 2.1.
Еще одним важным непрерывным распределением является экспоненциальное распределение. Например, время наработки конкретного
элемента оборудования до критического отказа обычно моделируется экспоненциальным распределением. Экспоненциальное распределение обозначается как Exp(𝛽) и имеет единственный параметр 𝛽 > 0;
определяется следующей формулой:




1
f(X | B) = ——e–x/𝛽, x > 0.
𝛽

(2.13)

48

 Глава 2. Теория вероятностей
Распределение Гаусса

0.014
0.012
0.01
0.008
0.006
0.004
0.002
0

–100

–80

–60

–40

–20

0

20

40

60

80

100

Рис. 2.1. Функция плотности вероятности распределения Гаусса

Пример функции плотности вероятности экспоненциального распределения показан на рис. 2.2.
Экспоненциальное распределение

0.5
0.45
0.4
0.35
0.3
0.25
0.2
0.15
0.1
0.05
0

0

1

2

3

4

5

6

7

8

9

10

Рис. 2.2. Функция плотности вероятности экспоненциального распределения

Общепринятым считается представление распределений вероятности, в особенности для непрерывных переменных, с использованием
(интегральной) функции распределения (cumulative distribution func­
tion) F. Функция распределения для случайной переменной X определяет вероятность, такую, что X ≤ x. Для непрерывной переменной функция
распределения определяется через функцию плотности вероятности:
x

F(x) = � f(X)dx.
(2.14)

–∞

2.3 Случайные переменные  49
Ниже перечислены некоторые свойства (интегральных) функций
распределения:
• значения расположены в интервале [0, 1]: 0 ≤ F(X) ≤ 1;
• неубывающие функции: F(X1) < F(X2), если X1 < X2;
• пределы: limx→−∞ = 0 и limx→∞ = 1.
Для дискретных переменных интегральная (суммарная) вероятность
P(X ≤ x) определяется по следующей формуле:
X=x

P(x) = � P(X).
x=−∞


(2.15)

Свойства аналогичны свойствам (интегральной) функции распределения.

2.3.1 Двумерные случайные переменные
Концепцию случайной переменной можно расширить до двух и
более измерений. Если даны две случайные переменные X и Y, то их
совместное распределение вероятностей определяется как P(x, y) =
P(X = x ∧ Y = y). Например, X может представлять количество продукции, выпущенное за один день на конвейере один, а Y – количество продукции, выпущенное за один день на конвейере два. Тогда P(x, y) соответствует вероятности выпуска x единиц продукции на конвейере один
и выпуска y единиц продукции на конвейере два. Вероятность P(X, Y)
обязательно должна подчиняться аксиомам теории вероятностей, таким образом: 0 ≤ P(x, y) ≤ 1 и �x�y P(X, Y) = 1.
Распределение для двумерных дискретных случайных переменных
(известное как двумерное распределение – bivariate distribution) может
быть представлено в табличной форме. Например, рассмотрим тот же
пример с двумя промышленными конвейерами и предположим, что
первый конвейер (X) может выпускать 1, 2 или 3 единицы продукции
в день, а второй конвейер (Y) – 1 или 2 единицы продукции. Тогда возможное совместное распределение P(X, Y) показано в табл. 2.1.
Таблица 2.1. Пример двумерного дискретного распределения вероятностей
X=1

X=2

X=3

Y=1

0.1

0.3

0.3

Y=2

0.2

0.1

0

Принимая во внимание совместное распределение вероятностей
P(X, Y), можно получить распределение для каждой отдельной случай-

50

 Глава 2. Теория вероятностей

ной переменной, которую называют частной (маргинальной) вероятностью:



P(x) = �P(X, Y); P(y) = �P(X, Y).

(2.16)

P(x | y) = P(x, y)/P(y); P(y | x) = P(x, y)/P(x).

(2.17)

y

x

Например, если рассматривать совместное распределение в табл. 2.1,
то можно получить совместные распределения для X и Y. В рассматриваемом здесь примере P(X = 2) = 0.3 + 0.1 = 0.4 и P(Y = 1) = 0.1 + 0.3 + 0.3 = 0.7.
Также можно вычислить условные вероятности для X с учетом Y и
для Y с учетом X:


Снова вернемся к примеру в табл. 2.1:
P(X = 3 | Y = 1) = P(X = 3, Y = 1)/P(Y = 1) = 0.3/0.7 = 0.4286.
Принцип независимости можно применить и к двумерным случайным переменным. Две случайные переменные X, Y независимы, если
их совместное распределение вероятностей равно произведению их
частных распределений (для всех значений X и Y):


P(X, Y) = P(X)P(Y) → Independent(X, Y).

(2.18)

Еще одна полезная числовая характеристика называется корреляцией
(correlation) – это количественная мера степени линейной зависимости
между двумя случайными переменными X, Y, которая определяется
следующей формулой:
�(X, Y) = E��X – E(X)][Y – E(Y)�� / (𝜎x𝜎y),

(2.19)

где E(X) – ожидаемое значение X, а 𝜎x – стандартное отклонение для этой
переменной. Значения корреляции находятся в интервале [–1, 1]. Положительная корреляция означает, что если X возрастает, то Y стремится
к возрастанию. Отрицательная корреляция означает, что если X возрастает, то Y стремится к убыванию.
Следует отметить, что корреляция, равная нулю, не обязательно подразумевает независимость, так как корреляция служит мерой только
линейной зависимости. Поэтому возможна ситуация, когда переменные X и Y имеют нулевую корреляцию, но связаны через функцию более
высокого порядка, следовательно, не могут считаться независимыми.

2.4 Теория информации
Теория информации возникла в области обмена данными (с использованием средств коммуникации), тем не менее она связана со многи-

2.4 Теория информации  51
ми другими дисциплинами. В сфере вероятностных графовых моделей
теория информации в основном применяется для обучения. В этом
разделе будут рассматриваться основополагающие концепции теории
информации.
Предположим, что мы передаем данные о возникновении некоторого
конкретного события. Теоретически можно считать, что количество информации при передаче данных о событии есть обратная величина по отношению к вероятности этого события. Например, будем считать, что передается сообщение, информирующее об одном из следующих событий:
1) в Нью-Йорке дождь;
2) в Нью-Йорке произошло землетрясение;
3) на Нью-Йорк Сити упал метеорит.
Вероятность первого события больше вероятности второго, а вероятность второго события больше вероятности третьего. Таким образом,
сообщение о событии 1 содержит наименьшее количество информации, а сообщение о событии 3 предоставляет наибольшее количество
информации.
Теперь рассмотрим, как можно формализовать такую концепцию информации. Предположим, что имеется некоторый источник информации, который может передавать q возможных сообщений m1, m2, …, mq.
При этом каждое сообщение соответствует событию с вероятностью P1,
P2, …, Pq. Необходимо найти функцию I(m) на основе вероятности m. Эта
функция обязательно должна соответствовать следующим свойствам
(условиям):
• информация имеет диапазон от нуля до бесконечности: I(m) ≥ 0;
• количество информации увеличивается при уменьшении вероятности: I(mi) > I(mj), если P(mi) < P(mj);
• количество информации стремится к бесконечности, если вероятность стремится к нулю: I(m) → ∞, если P(m) → 0;
• количество информации в двух сообщениях равно сумме количеств информации в каждом отдельном сообщении, если сообщения (и соответствующие события) являются независимыми:
I(mi + mj) = I(mi) + I(mj), если mi независимо от mj.
Функция, удовлетворяющая все перечисленные выше условия (свойства), – это логарифм величины, обратной вероятности, то есть:


I(mk) = log(1/P(mk)).

(2.20)

Чаще всего используют логарифмы по основанию два, а информацию
измеряют в битах (bit – binary digit):

52

 Глава 2. Теория вероятностей



I(mk) = log2(1/P(mk)).

(2.21)

Например, если предположить, что вероятность сообщения mr «в
Нью-Йорке дождь» равна P(mr) = 0.25, то соответствующее количество
информации равно I(mr) = log2(1/0.25) = 2.
После определения количества информации в конкретном сообщении необходимо рассмотреть еще одну важную концепцию – среднее
количество информации в q сообщениях, то есть ожидаемое значение
количества информации, также называемой энтропией (entropy). В соответствии с определением ожидаемого значения среднее количество
информации в q сообщениях, или энтропия, определяется следующей
формулой:




i=q

H(m) = E(I(m)) = �P(mi)log2(1/P(mi)).

(2.22)

i=1

Это можно интерпретировать следующим образом: в среднем будет
передано H бит информации.
Возникает резонный вопрос: когда H будет иметь максимальное и
минимальное значения? Рассмотрим бинарный источник, такой, что
существуют только два сообщения m1 и m2 с вероятностями P(m1) = p1 и
P(m2) = p2. Принимая во внимание, что существуют лишь два возможных
сообщения, p2 = 1 – p1, так что H зависит только от одного параметра p1
(или просто p). На рис. 2.3 показан график H в зависимости от значений p. На графике можно видеть, что H достигает максимума при p = 0.5,
а минимальное значение H (ноль) соответствует значениям p = 0 и p = 1.
В общем случае энтропия достигает максимума, когда существует равномерное распределение вероятностей для соответствующих событий.
Энтропия минимальна, когда только один элемент имеет вероятность,
равную единице, а все прочие элементы имеют нулевую вероятность.
Если рассматривать условные вероятности, то можно расширить концепцию энтропии до условной энтропии (conditional entropy):




i=q

H(X | y) = �P(Xi | y)log2[1/P(Xi | y)].

(2.23)

H(X, Y) = ��P(X, Y)log2[P(X, Y)/P(X)P(Y)].

(2.24)

i=1

Еще одно расширение концепции энтропии называется перекрестной энтропией (cross entropy):



X

Y

Перекрестная энтропия предоставляет меру взаимной информации
(зависимости) между двумя случайными переменными. Перекрестная
энтропия равна нулю, если эти две переменные независимы.

2.6 Задания и упражнения  53
H

0

1

P

Рис. 2.3. Связь энтропии и вероятности для бинарного источника.
Энтропия достигает максимума при вероятности 0.5.
Энтропия минимальна при значениях вероятности ноль и единица

2.5 Материалы для дополнительного чтения
Доналд Джиллис (Donald Gillies) [1] предоставляет самое полное описание разнообразных методов и подходов к определению и использованию вероятности. Превосходная книга по теории вероятностей с точки
зрения логики [2]. Вассерман (Wasserman) [5] подготовил краткий курс
по теории вероятностей и статистике для обучающихся по специальностям информатика и компьютерная инженерия. Предлагается также
несколько книг по теории информации, в одной из них устанавливается
связь теории информации с машинным обучением и логическим выводом [3].

2.6 Задания и упражнения
1. Какова вероятность того, что при повторных бросках двух игральных костей исходы в точности равняются семи? Семь или больше?
2. Если предположить, что рост группы студентов соответствует нормальному распределению со средним значением (меаной) 1.7 м,
а стандартное отклонение равно 0.1 м, то какова вероятность того,
что существует студент с ростом выше 1.9 м?
3. Продемонстрируйте применение математической индукции для
вывода цепного правила.
4. Предположим, что у некоторого пациента возможно одно из двух
заболеваний: гепатит (H) или брюшной тиф (T). Существуют два
симптома, характерных для этих заболеваний: головная боль (D)
и высокая температура (лихорадочное состояние) (F), для которых
возможно одно из значений TRUE или FALSE. Заданы следующие
вероятности: P(T) = 0.5, P(D | T) = 0.7, P(D | ¬T) = 0.4, P(F | T) = 0.9,
P(F | ¬T) = 0.5. Необходимо описать пространство элементарных событий и заполнить таблицы частичной (неполной) вероятности.

54

 Глава 2. Теория вероятностей

5. Используя данные из предыдущего задания и предполагая, что указанные симптомы болезни являются независимыми, определить
вероятность того, что пациент болен гепатитом с учетом того, что
головная боль отсутствует, но наблюдается высокая температура и
лихорадочное состояние.
6. Принимая во внимание двумерное распределение вероятностей в
табл. 2.2, определить:
• P(X1);
• P(Y2);
• P(X1 | Y1).
Таблица 2.2
Y1

Y2

Y3

X1

0.1

0.2

0.1

X2

0.3

0.1

0.2

7. Являются ли в предыдущем задании переменные X и Y независимыми?
8. В некоторой местности статистика сообщает, что в течение года наблюдаются следующие погодные условия. Из 365 дней 200 солнечных, 60 облачных, 40 дождливых, 20 дней идет снег, 20 дней – ливень
с грозой, 10 дней – град, 10 ветреных дней и 5 дней – мелкий дождь
(изморось). Если каждый день отправляется сообщение о погоде, то
какое количество информации о каждом типе погоды содержится в
таком сообщении?
9. Если учесть информацию о каждом типе погоды в предыдущем задании, то какое среднее количество информации (энтропия) содержится в ежедневном сообщении о погоде?
10. ***Внимательно изучить различные «философские» интерпретации понятия вероятности и обсудить преимущества и ограничения
(недостатки) каждой из этих интерпретаций. Какую интерпретацию вы считаете наиболее удачной? Почему?

Ссылки на источники
1. Gillies, D. Philosophical Theories of Probability. Routledge, London
(2000).
2. Jaynes, E. T. Probability Theory: The Logic of Science. CambridgeUniversity Press, Cambridge (2003).

Ссылки на источники  55
3. MacKay, D. J. Information Theory, Inference and Learning Algorithms.
Cambridge University Press, Cambridge (2004).
4. Sucar, L. E., Gillies, D. F., Gillies, D. A. Objective Probabilities in Expert
Systems. Artif. Intell. 61, 187–208 (1993).
5. Wasserman, L. All of Statistics: A Concise Course in Statistical Inference.
Springer, New York (2004).

Глава

3

Теория графов

3.1 Определения
Граф (graph) предоставляет компактный и удобный способ представления бинарных отношений в множестве объектов. Например, рассмот­
рим множество городов в некоторой местности и дороги, связывающие
эти города. Тогда карта данной местности по существу является графом,
в котором объекты – это города, а дороги, напрямую связывающие пары
городов, – это отношения. Графы обычно представлены в графическом
виде. Объекты изображаются в форме кружков или овалов, а отношения – линиями или стрелками (см. рис. 3.1). Существует два основных
типа графов: неориентированный граф (undirected graph) и ориентированный граф (directed graph). Ниже будут приведены формализованные
определения неориентированного и ориентированного графов.
Пусть дано непустое множество V, а бинарное отношение E ⊆ V × V
в множестве V есть набор упорядоченных пар (Vj, Vk), таких, что Vj ∈ V
и Vk содержится в множестве V. Ориентированный граф, или орграф
(digraph), – это упорядоченная пара G = (V, E), где V – множество вершин
или узлов, а E – множество дуг, представляющих бинарные отношения
в множестве V (см. рис. 3.1б). Ориентированные графы представляют
асимметричные отношения между объектами, например отношение
«родитель–потомок».
Неориентированный граф – это упорядоченная пара G = (V, E), где
V – множество вершин или узлов, а E – множество ребер, представляющих симметричные бинарные отношения: (Vj, Vk) ∈ E → (Vk, Vj) ∈ E
(см. рис. 3.1а). Ненаправленные графы представляют симметричные
отношения между объектами, например отношение «брат–брат».

3.2 Типы графов  57
а)

б)

Рис. 3.1. Графы: а) неориентированный, б) ориентированный

Если существует ребро Ei(Vj, Vk) между узлами j и k, то Vj является соседней (иногда используется термин «смежной») с вершиной Vk. Степень
(degree) узла (вершины) – это количество инцидентных ему ребер. На
рис. 3.1а верхний узел имеет степень 2, а оба нижних узла имеют степень 1.
Два ребра, связанных с одной и той же парой вершин, называются
параллельными ребрами. Ребро, инцидентное единственной вершине,
называется циклом. Вершина, которая не является концом ни для одного ребра, называется изолированной вершиной и имеет степень 0. Все
перечисленные здесь случаи показаны на рис. 3.2.
а)

б)

в)

Рис. 3.2. Примеры: а) параллельные ребра, б) цикл, в) изолированная вершина

В ориентированном графе количество дуг, направленных в некоторый узел, является степенью входа (indegree) этого узла, а количество
дуг, исходящих из узла, называется степенью выхода (outdegree) этого
узла. На рис. 3.1б два верхних узла имеют степень входа, равную нулю,
а их степень выхода равна двум. Для двух нижних узлов степень входа
равна двум, а степень выхода нулевая.
Пусть дан граф G = (V, E) и подграф этого графа G' = (V', E'), такой, что
V' ⊆ V и E' ⊆ E. В этом подграфе каждое ребро множества E' инцидентно
вершинам множества V'. Например, если убрать направления ребер в
графе на рис. 3.1б (то есть сделать его неориентированным графом), то
граф на рис. 3.1а будет представлять собой подграф измененного графа
на рис. 3.1б.

3.2 Типы графов
Кроме двух основных типов графов – ориентированного и неориентированного – существуют и другие типы графов, перечисленные ниже:
• смешанный граф – граф, который имеет как ориентированные,
так и неориентированные ребра;

58

 Глава 3. Теория графов

• простой граф – граф, который не содержит циклов и параллельных дуг;
• мультиграф – граф с несколькими компонентами (подграфами),
такой, что каждая компонента не имеет ребер, связывающих ее с
другими компонентами, т. е. компоненты являются несвязными
(изолированными);
• полный граф – граф, который содержит ребра между каждой парой его вершин;
• двудольный граф – граф, в котором вершины разделены на два
подмножества G1 и G2, такие, что все ребра соединяют вершины
из множества G1 с вершинами из множества G2, т. е. в таком графе
нет ребер между узлами внутри каждого подмножества;
• взвешенный граф – граф, в котором каждому ребру и/или вершине поставлено в соответствие некоторое значение – вес.
Примеры перечисленных выше типов графов показаны на рис. 3.3.
а)

б)

г)

д)

в)

е)
4
5
3

Рис. 3.3. Типы графов: а) смешанный граф, б) простой граф, в) мультиграф,
г) полный граф, д) двудольный граф, е) взвешенный граф

3.3 Пути и циклы
Путь (trajectory) – это последовательность ребер E1, E2, …, En, такая, что
конечная вершина каждого ребра совпадает с начальной вершиной
следующего ребра в этой последовательности (за исключением самой
последней вершины), т. е. Ei(Vj, Vk), Ei+1(Vk, Vl) от i = 1 до i = n – 1. Простой
путь не включает одно и то же ребро два и более раз. Элементарный

3.3 Пути и циклы  59
путь не проходит через одну вершину более одного раза. Примеры различных путей показаны на рис. 3.4.
а)

б)

Рис. 3.4. Примеры путей: а) простой, но не элементарный путь,
б) простой и элементарный путь

Граф G является связным (connected), если существует путь между
каж­дой парой различных вершин в этом графе G. Если граф G не является связным, то каждая его несвязанная часть называется компонентой связности графа G.
Цикл (circuit или cycle) – это путь, такой, что его конечная вершина совпадает с начальной, т. е. это «замкнутый путь». По аналогии с термино­
логией путей можно определить простой и элементарный цикл. На
рис. 3.5 показан пример цикла.

Рис. 3.5. Пример цикла, который является простым, но не элементарным

Важным типом графа для вероятностных графовых моделей является направленный ациклический граф (directed acyclic graph – DAG). Направленный ациклический граф – это ориентированный граф, который
не содержит направленных циклов (в орграфе цикл называется контуром; направленный контур – это контур, в котором все ребра в последовательности имеют направления, указанные стрелками). Например,
пока­занный на рис. 3.1б орграф является направленным ациклическим
графом, а граф на рис. 3.3е не является направленным ациклическим
графом.

60

 Глава 3. Теория графов

В некоторых классических задачах теории графов используются пути
и циклы (контуры):
• поиск пути, содержащего все ребра графа только один раз (эйлеров путь, или эйлеров граф);
• поиск цикла, содержащего все ребра графа только один раз (эйлеров цикл);
• поиск пути, содержащего все вершины графа только один раз
(путь Гамильтона);
• поиск цикла, содержащего все вершины графа только один раз
(цикл Гамильтона);
• поиск цикла Гамильтона во взвешенном графе с минимальной
стоимостью (задача коммивояжера)5.
Решение этих задач не относится к теме данной книги, поэтому заинтересованным читателям можно порекомендовать книгу [2].

3.4 Изоморфизм графов
Два графа называются изоморфными, если существует взаимно однозначное соответствие (типа один-к-одному) между их вершинами и
ребрами, которое сохраняет их смежность и инцидентность. Для двух
графов G1 и G2 существует три основных типа изоморфизма:
1) изоморфизм графов – графы G1 и G2 являются изоморфными;
2) изоморфизм подграфов – граф G1 изоморфен подграфу графа G2
(и наоборот);
3) двойной изоморфизм подграфов – подграф графа G1 изоморфен
подграфу графа G2.
На рис. 3.6 показан пример двух изоморфных графов.
Определение изоморфизма двух графов (по типу 1) является NPзадачей. Определения изоморфизма и двойного изоморфизма подграфов (типов 2 и 3) являются NP-полными задачами. Подробнее см. [1].

3.5 Деревья
Деревья (trees) – этот тип графа, чрезвычайно важный в информатике
в целом, но в особенности для вероятностных графовых моделей. Мы
будем рассматривать два типа деревьев: неориентированные и ориентированные (ненаправленные и направленные).
5

В этой задаче узлы представляют города, а ребра – дороги с обозначением соответствующего
расстояния или времени, поэтому решением является «наилучший» маршрут коммивояжера
(минимальный по расстоянию или по времени) с посещением всех городов.

3.5 Деревья  61

Рис. 3.6. Эти два графа изоморфны

Рис. 3.7. Неориентированное
дерево. Это дерево содержит
пять узлов, из которых три
являются листьями и два –
внутренними узлами

Неориентированное дерево – это связный граф, который не содержит простых циклов. На рис. 3.7 показан пример неориентированного
дерева. В неориентированном дереве существуют два класса вершин,
или узлов:
• лист, или конечный узел со степенью, равной единице;
• внутренний узел со степенью больше единицы.
Ниже перечислены некоторые основные свойства дерева:
• между каждой парой вершин существует простой путь;
• количество вершин |V| равно количеству ребер |E| плюс один:
|V| = |E| + 1;
• дерево с двумя и более вершинами имеет как минимум два листа
(конечных узла).
Ориентированное дерево – это связный ориентированный граф, такой, что существует единственный ориентированный путь между каж­
дой парой узлов (такой граф также называют односвязным ориентированным графом). Существует два типа ориентированных деревьев:
• корневое дерево (rooted tree), или просто дерево;
• полидерево (polytree).
Корневое дерево содержит единственный узел с нулевой степенью
входа (корневой узел), а остальные узлы имеют степень входа, равную
единице. Полидерево может иметь более одного узла с нулевой степенью входа (более одного корня) и некоторые узлы (ноль и более) со сте-

62

 Глава 3. Теория графов

пенью входа, большей единицы (узлы с несколькими родителями). Если
в полидереве удалить ориентацию (направления) ребер, то оно преобразуется в неориентированное дерево. Можно считать дерево особым
случаем полидерева. Примеры корневого дерева и полидерева показаны на рис. 3.8.
а)

б)

Рис. 3.8. а) Корневое дерево, б) полидерево

Ниже приведен краткий обзор некоторых терминов, связанных с
ориентированными деревьями:













корень – узел с нулевой степенью входа;
лист – узел с нулевой степенью выхода;
внутренний узел – узел со степенью выхода, большей нуля;
родитель/потомок – если существует направленная дуга от A к B,
то A – родитель B, а B – потомок A;
братья – два и более узлов являются братьями, если имеют одного
и того же родителя;
предок/(непрямой) потомок – если существует направленный
путь от A к B, то A называется предком B, а B – (непрямым) потомком A;
поддерево с корнем A – поддерево, в котором вершина A является
корнем;
поддерево A – поддерево с потомком вершины A, который (потомок) является корнем;
K-арное дерево – дерево, в котором каждый внутренний узел
имеет не более K потомков. Это регулярное дерево, если каждый
внутренний узел имеет K потомков;
бинарное (двоичное) дерево – дерево, в котором каждый внут­
ренний узел не более двух потомков.

Например, в дереве, показанном на рис. 3.9:

3.6 Клики  63









A – корневой узел (корень);
C, D, F, G – листья;
B, E – внутренние узлы;
A – родитель B, а B – потомок A;
B и C – братья;
A – предок F, а F – (непрямой) потомок A;
поддерево B, D, E, F, G является поддеревом с корнем B;
поддерево E, F, G является поддеревом B.

Дерево на рис. 3.9 – нерегулярное бинарное дерево.
A

B

D

C

E

F

G

Рис. 3.9. Пример ориентированного
дерева для демонстрации
терминологии

3.6 Клики
Полный граф – это граф Gc, в котором каждая пара узлов является смежной (соседней), т. е. между каждой парой узлов существует ребро. На
рис. 3.3г показан пример полного графа. Полное множество (complete
set) Wc – это подмножество графа G, которое выводит путем индукции
полный подграф графа G. Это подмножество вершин графа G, такое, что
каждая пара узлов в этом подграфе является смежной (соседней). Например, на рис. 3.3г каждое подмножество любых трех вершин в этом
графе является полным множеством.
Клика (clique) С – это подмножество графа G, такое, что представляет
собой максимальное полное множество, т. е. в графе G не существует
другого полного множества, которое содержит C. Подмножества любых
трех узлов на рис. 3.3г не являются кликами, так как они не максимальны, они содержатся в графе, который является полным.
Граф на рис. 3.10 содержит пять клик: одна с четырьмя узлами, одна с
тремя узлами и три с двумя узлами. Следует отметить, что каждый узел
в графе является частью как минимум одной клики. Таким образом,
множество клик в графе всегда покрывает множество вершин V.

64

 Глава 3. Теория графов

Рис. 3.10. Клики: пять клик в графе выделены
штриховыми линиями разного цвета

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

3.7 Полное упорядочивание
Упорядочивание (ordering) узлов в графе заключается в присваивании
целочисленных значений каждой вершине. Рассмотрим граф G(V, E) с n
вершинами, тогда � = [V1, V2, …, Vn] – это упорядочивание графа G. Вершина Vi по порядку расположена перед вершиной Vj, если i < j.
Упорядочивание 𝛼 графа G = (V, E) является полным упорядочиванием (perfect ordering), если для каждой вершины Vi все соседние (смежные) вершины, расположенные перед ней по порядку, являются полностью связанными, т. е. для каждого значения i Adj(Vi) ⋂ {V1, V2, …, Vi-1}
является полным подграфом графа G. Adj(Vi) – это подмножество узлов
в графе G, которые являются соседними (смежными) с вершиной Vi. На
рис. 3.11 показан пример полного упорядочивания.
1

C1

2

C2

3

4

C3

5

Рис. 3.11. Пример упорядочивания узлов и клик в графе.
В этом случае узлы полностью упорядочены, а упорядочивание клик
соответствует свойству древесной декомпозиции (running intersection property)

3.7 Полное упорядочивание  65
Рассмотрим множество клик C1, C2, …, Cp в неориентированном связном графе G. По аналогии с упорядочиванием узлов можно определить
упорядочивание клик 𝛽 = [C1, C2, …, Cp]. Упорядочивание 𝛽 этих клик
обладает свойством древесной декомпозиции (running intersection property), если все узлы каждой клики Ci, являющиеся общими с предыдущими по указанному порядку кликами, содержатся в клике Cj. Клика Cj
является родителем клики Ci. Другими словами, для каждой клики i > 1
существует клика j < i, такая, что Ci ⋂ {C1, C2, …, Ci-1} ⊆ Cj. Возможно, что
клика имеет более одного родителя.
Клики C1, C2 и C3 на рис. 3.11 являются полностью упорядоченными.
В этом примере клика C1 является родителем клики C2, в то же время
клики C1 и C2 являются родителями клики C3.
Граф G является триангулированным (triangulated), если каждый
прос­той контур (цикл) с длиной, большей трех, в графе G содержит хорду. Хорда (chord) – это ребро, которое соединяет две вершины в этом
контуре (цикле), но не является частью этого контура (цикла). Например, на рис. 3.11 контур (цикл), сформированный вершинами 1, 2, 4, 3, 1,
содержит хорду, соединяющую узлы 2 и 3. Граф на рис. 3.11 является
триангулированным. Пример графа, не являющегося триангулированным, показан на рис. 3.12. Несмотря на то что внешне этот граф может
показаться триангулированным, в нем существует контур (цикл) 1, 2, 5,
4, 1, который не содержит ни одной хорды.
1

2

3

4

5
Рис. 3.12. Пример графа, не являющегося триангулированным.
Контур (цикл) 1, 2, 5, 4, 1 не содержит хорду

Условием достижения полного упорядочивания вершин и упорядочивания тех клик, которые соответствуют свойству древесной декомпозиции (running intersection property), является триангулированность графа.
В следующем разделе будут рассматриваться следующие алгоритмы:
• упорядочивание узлов графа для достижения полного упорядочивания;

66

 Глава 3. Теория графов

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

3.8 Алгоритмы упорядочивания
и триангуляции
3.8.1 Поиск паросочетания максимальной мощности
Если граф является триангулированным, то следующий алгоритм, известный как поиск паросочетания максимальной мощности (maximum
cardinality search), обеспечивает полное упорядочивание. Пусть дан неориентированный граф G = (V, E) с n вершинами:
Алгоритм 3.1. Поиск паросочетания максимальной мощности
Выбрать любую вершину из множества V и присвоить ей номер 1.
while Не все вершины в графе G пронумерованы do
Из всех непомеченных вершин выбрать ту, для которой соседние
(смежные) вершины имеют наибольший номер, и присвоить выбранной
вершине следующий номер. Связи разрывать в произвольном порядке.
end while

После полного упорядочивания всех вершин легко пронумеровать
клики так, чтобы их порядок соответствовал свойству древесной декомпозиции. Для этого клики нумеруются в обратном порядке. Пусть
существует p клик, тогда клике, содержащей узел с наибольшим номером, присваивается номер p. Клика, включающая узел со следующим
наибольшим номером, получает номер p – 1 и т. д. Этот метод можно
проиллюстрировать с помощью примера на рис. 3.11. Наибольший номер узла равен 5, поэтому клика, его содержащая, обозначается как
C3. Следующий наибольший номер узла 4, а включающая его клика C2.
Послед­няя клика получает обозначение C1.
Далее будет рассматриваться дополнение графа, чтобы сделать его
триангулированным.

3.8.2 Дополнение графа
Дополнение графа состоит в добавлении дуг в исходный граф G, чтобы получить новый (дополненный) граф Gt, который является триангулированным. Пусть дан неориентированный граф G = (V, E) с n узлами,

3.9 Материалы для дополнительного чтения

 67

тогда приведенный ниже алгоритм дополняет этот граф до триангулированного.
Алгоритм 3.2. Дополнение графа
Упорядочить вершины V графа с помощью алгоритма поиска паросочетаний
максимальной мощности: V1, V2, …, Vn.
for i = n to i = 1 do
Для узла Vi выбрать все смежные с ним узлы Vj, такие, что j > i.
Обозначить это множество выбранных узлов Aj.
Добавить дугу от вершины Vi к вершине Vk, если k > i и Vk ∉ Aj.
end for

Например, рассмотрим граф на рис. 3.12, не являющийся триангулированным. Если применить к нему алгоритм 3.2, то сначала упорядочиваются узлы и генерируются числовые метки, показанные на рис. 3.12.
Затем узлы обрабатываются в обратном порядке и формируются множества A для каждого узла:
A5:
A4:
A3:
A2:
A1:

Ø
5
4, 5
3, 5. Добавляется дуга от вершины 2 к вершине 4.
2, 3, 4. Добавляется дуга от вершины 1 к вершине 5.

Полученный в итоге (дополненный) граф содержит две дополнительные дуги 2–4 и 1–5, и мы можем проверить и убедиться в том, что новый граф является триангулированным.
Алгоритм 3.2 дополнения графа гарантирует, что полученный в результате граф является триангулированным, но в общем случае этот
алгоритм неоптимален с точки зрения возможности добавления минимального количества дополнительных дуг.

3.9 Материалы для дополнительного
чтения
В нескольких книгах по теории графов более подробно рассматривается большинство концепций, представленных в этой главе, в том
числе [2–4]. Неаполитан (Neapolitan) [5] в главе 3 подробно описывает основы теории графов, требуемые для байесовских сетей, включая
и более продвинутые концепции. Некоторые методы теории графов
с алгоритмической точки зрения описаны в [1], в том числе и изоморфизм графов.

68

 Глава 3. Теория графов

3.10 Задания и упражнения
1. В XVIII веке город Кенигсберг (в Пруссии; в настоящее время – город Калининград и Калининградская область входят в состав России) был разделен на четыре части, соединенные семью мостами.
Говорят, что горожане пытались найти такой путь через весь город,
чтобы проход по каждому мосту выполнялся только один раз. Эйлер преобразовал эту задачу в граф (изображенный в самом начале данной главы) и определил в связном графе следующее условие
для контура, который проходит через каждое ребро в точности один
раз: все вершины в этом графе обязательно должны иметь четную
степень. Определить, была ли у жителей Кенигсберга возможность
найти контур (маршрут) Эйлера.
2. Доказать условие, определенное Эйлером: граф G содержит контур
Эйлера, если и только если все вершины в графе G имеют четную
степень.
3. Какое условие должно выполняться для графа, чтобы он содержал
путь Эйлера?
4. Пусть дан граф, изображенный на рис. 3.10. Определить, содержит
ли этот граф:
а) контур Эйлера,
б) путь Эйлера,
в) гамильтонов контур,
г) гамильтонов путь.
5. Пусть дан граф, изображенный на рис. 3.10. Является ли этот граф
триангулированным? Если это не триангулированный граф, то преобразовать его в триангулированный, применив алгоритм дополнения графа.
6. Доказать, что количество вершин нечетной степени в графе является четным числом.
7. Пусть дан граф, изображенный на рис. 3.13. Преобразовать его в неориентированный граф и упорядочить вершины, применив алгоритм поиска паросочетаний максимальной мощности.
8. Выполнить триангуляцию графа, указанного в задании 7.
9. Для графа, полученного в результате выполнения задания 8:
а) найти его клики,
б) упорядочить клики в соответствии с упорядочиванием узлов
этого графа и проверить, обладает ли этот граф свойством древесной декомпозиции,

Ссылки на источники  69
в) показать полученное в результате дерево (или деревья)клик.
C

A

D

B

E

F

G

H

Рис. 3.13. Граф, используемый в некоторых заданиях

10. *** Разработать программу генерации дерева клик в заданном не­
ориентированном графе. При этом условии:
а) упорядочить узлы по алгоритму поиска паросочетаний максимальной мощности,
б) выполнить триангуляцию графа, используя алгоритм заполнения графа,
в) найти клики в триангулированном графе и пронумеровать их.
Попробуйте найти наиболее подходящую структуру данных для
представления графа, учитывая реализацию описанных выше алгоритмов.
11. *** Включить в программу из задания 10 некоторые эвристики для
выбора упорядочиваемых узлов, такие, что размер наибольшей
клики в этом графе был бы минимальным (это важно для реализации алгоритма для дерева сочленений при логическом выводе для
байесовских сетей).

Ссылки на источники
1. Aho, A. V., Hopcroft, J. E., Ullman, J. D. The Design and Analysis of Computer Algorithms. Addison-Wesley, Boston (1974).
2. Golumbic, M. C. Algorithmic Graph Theory and Perfect Graphs. Elsevier,
The Netherlands (1994).
3. Gould, R. Graph Theory. Benjamin/Cummings, Menlo Park (1988).

70

 Глава 3. Теория графов

4. Gross, J. L., Yellen, J. Graph Theory and its Applications. CRC Press, Boca
Raton (2005).
5. Neapolitan, R. Probabilistic Reasoning in Expert Systems: Theory and
Algo­rithms.Wiley, New York (1990).

Часть

II

Вероятностные модели
В этой части книги представлены основные типы вероятностных графовых моделей, в том числе байесовские классификаторы, скрытые
марковские модели, марковские случайные поля, байесовские сети, а
также динамические и временные байесовские сети. Каждый тип модели рассматривается в отдельной главе, включая представление, логический вывод и обучение, а кроме того, примеры практических приложений. К моделям, описанным в части II, не относятся модели принятия
решений, которые будут рассматриваться в части III.

Глава

4

Байесовские классификаторы

4.1 Введение
Классификация – это присваивание классов или меток объектам. Су­
ществуют два основных типа задач классификации:
• без учителя (unsupervised) – в этом случае классы неизвестны, поэтому задача заключается в разделении множества объектов на
n групп или кластеров таким способом, что класс присваивается
каждой отдельной группе. Эту методику также называют кластеризацией (clustering);
• с учителем (supervised) – возможные классы или метки известны
заранее. Задача заключается в нахождении функции или правила, по которым каждый объект причисляется к одному из известных классов.
В обоих случаях объекты обычно описываются набором свойств или
атрибутов. В этой главе основное внимание будет уделено классификации с учителем (supervised classification).
С вероятностной точки зрения задача классификации с учителем состоит в присваивании конкретному объекту, описываемому атрибутами A1, A2, …, An, одного из m классов C = {c1, c2, …, cm} таким образом, чтобы вероятность назначаемого класса с учетом атрибутов объекта была
максимальной, т. е.


ArgC �Max P(C | A1, A2, …, An)�.

(4.1)

Если обозначить множество атрибутов как A = {A1, A2, …, An}, то формулу 4.1 можно записать следующим образом: ArgC [Max P(C | A)].
Существует много способов создания классификатора, в том числе
деревья решений, правила, нейронные сети, метод опорных векторов

4.1 Введение  73
и многие другие6. В этой книге будут рассматриваться модели классификации на основе вероятностных графовых моделей, в частности
байесовские классификаторы. Прежде чем перейти к рассмотрению
байесовского классификатора, необходимо кратко описать, как оцениваются классификаторы.

4.1.1 Оценки классификатора
Для сравнения различных методик классификации можно определять числовые оценки классификатора с различных точек зрения. Выбор оцениваемой характеристики и степень важности, назначаемая
каждой характеристике, зависит от конечного приложения классификаторов. Рассматриваются и оцениваются следующие основные характеристики:
• точность – насколько правильно классификатор прогнозирует
корректный класс для ранее не наблюдаемых экземпляров (эта
оценка не предназначается для обучения классификатора);
• время классификации – как долго продолжается процесс классификации для прогнозирования класса после тренировочного
обуче­ния классификатора;
• время тренировочного обучения – сколько времени требуется для
обучения классификатора по имеющимся данным;
• требования к памяти – какой объем памяти требуется для хранения параметров классификатора;
• ясность – может ли человек без затруднений понять результаты
работы классификатора.
Обычно самой важной характеристикой является точность (accuracy).
Ее можно оценить в числовом выражении, прогнозируя N ранее не наблюдаемых элементов выборки данных и определяя процент правильных прогнозов. Таким образом, точность в процентах равна:


Acc = (NC /N) × 100,

(4.2)

где NC – число правильных прогнозов.
При сравнении классификаторов в общем случае необходимо макси­
мизировать точность классификации, но это оптимальный подход только в том случае, если стоимость неправильной классификации одинакова для всех классов. Рассмотрим классификатор, используемый для
прогнозирования рака груди. Если классификатор прогнозирует, что
пациент болен раком, но это неправильно (ложноположительный слу6

Заинтересованный читатель может найти вводную информацию и сравнение различных типов
классификаторов в [10].

74

 Глава 4. Байесовские классификаторы

чай), то может быть назначено лечение, которое не требуется. С другой
стороны, если классификатор прогнозирует отсутствие ракового забо­
левания, а в действительности у пациента рак груди (ложноотрицательный случай), это может привести к задержке необходимого лечения и
даже к смерти. Вполне очевидно, что последствия различных типов
ошибок неодинаковы.
Когда существует дисбаланс в стоимостях неправильной классификации, необходимо обязательно минимизировать ожидаемую стоимость
(expected cost – EC). Для двух классов ожидаемую стоимость можно вычислить по следующей формуле:


EC = FN × P(−)C(− | +) + FP × P(+)C(+ | −),

(4.3)

где FN – коэффициент ложноотрицательных случаев, FP – коэффициент ложноположительных случаев, P(+) – вероятность положительного результата, P(−) – вероятность отрицательного результата, C(− | +) –
стои­мость классификации положительного случая как отрицательного,
C(+ | −) – стоимость классификации отрицательного случая как положительного. В некоторых приложениях определение этих стоимостей
может оказаться трудной задачей.

4.2 Байесовский классификатор
Определение (формулировка) байесовского классификатора основано
на применении правила Байеса для оценки вероятности каждого класса
с учетом атрибутов:
P(C | A1, A2, …, An) = P(C)P(A1, A2, …, An | C) / P(A1, A2, …, An).

(4.4)

Это правило можно записать в более компактной форме:


P(C | A) = P(C)P(A | C) / P(A).

(4.5)

Задача классификации на основе формулы 4.5 может быть сформулирована следующим образом:


ArgC[Max[P(C | A) = P(C)P(A | C) / P(A)]].

(4.6)

Формулу 4.6 можно записать в равнозначной форме, используя любую функцию, которая изменяется монотонно по отношению к вероятности P(C | A), например:
• ArgC �Max[P(C)P(A | C)]�;
• ArgC �Max[log(P(C)P(A | C))]�;
• ArgC �Max[(log P(C) + log P(A | C))]�.

4.2 Байесовский классификатор  75
Следует отметить, что вероятность атрибутов P(A) не изменяется по
отношению к классу, поэтому ее можно считать постоянной величиной
в процессе максимизации.
На основе приведенных выше равнозначных вариантов записи формулы для решения задачи классификации потребуется оценка вероят­
ности P(C), известная как априорная вероятность классов, и оценка
вероятности P(A | C), называемая правдоподобием (likelihood), а также
P(C | A) – апостериорная вероятность. Таким образом, для получения
апостериорной вероятности каждого класса необходимо всего лишь
умножить априорную вероятность конкретного класса на правдоподобие, которое зависит от значений атрибутов7.
Прямое применение правила Байеса приводит к задаче с большими
вычислительными затратами, это было отмечено в главе 1. Причина в
том, что количество параметров в правдоподобии P(A1, A2, …, An | C) возрастает экспоненциально при увеличении количества атрибутов. Это
потребует не только огромного объема памяти для хранения всех параметров, но кроме того, будет очень трудно дать оценку всех вероятнос­
тей по имеющимся данным или с помощью эксперта в соответствую­
щей предметной области. Таким образом, практическое применение
байесовского классификатора возможно только для относительно малых задач с небольшим количеством атрибутов. Другой подход заключается в рассмотрении некоторых независимых свойств как в графовых моделях, в частности что все атрибуты независимы по отношению
к конкретному классу. Результатом такого подхода является наивный
байесовский классификатор.

4.2.1 Наивный байесовский классификатор
Наивный, или простейший, байесовский классификатор (Naive Baye­
sian classifier – NBC) основан на предположении о том, что все атрибуты являются независимыми по отношению к переменной класса, т. е.
каждый атрибут Ai является условно независимым от всех прочих атрибутов относительно класса: P(Ai | Aj, C) = P(Ai | C), ∀ j ≠ i. С учетом этого
предположения формулу 4.4 можно записать так:
P(C | A1, A2, …, An) = P(C)P(A1 | C)P(A2 | C) … P(An | C) / P(A),

(4.7)

где P(A), как уже отмечено выше, может рассматриваться как постоянная нормализации.
Формула наивной байесовской классификации резко снижает сложность байесовского классификатора, так как в этом случае требуется
7

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

76

 Глава 4. Байесовские классификаторы

только априорная вероятность (одномерный вектор) класса и n условных вероятностей каждого атрибута относительно класса (двумерные
матрицы) как параметры модели. Таким образом, требование к объему
памяти снижается: экспоненциальная зависимость заменяется линейной в соответствии с количеством атрибутов. Кроме того, значительно
упрощается вычисление апостериорной вероятности, поскольку для ее
(ненормализованной) оценки требуется только n операций умножения.
Графическое представление наивной байесовской классификации
показано на рис. 4.1. Эта структура, напоминающая по форме звезду,
отображает свойство условной независимости между всеми атрибутами относительно класса – между узлами атрибутов нет дуг.
A2

A1

C

A3

A4
Рис. 4.1. Пример наивного байесовского классификатора
с переменной класса C и четырьмя атрибутами A1, A2, A3, A4

Обучение наивного байесовского классификатора заключается в
определении оценки априорной вероятности класса P(C) и условной
вероятности каждого атрибута относительно класса P(Ai | C). Эти значения можно получить с помощью субъективных оценок эксперта или по
данным с использованием максимального правдоподобия8.
Вероятности могут оцениваться по имеющимся данным, например
с использованием оценки максимального правдоподобия. Априорные
вероятности переменной класса C вычисляются по следующей формуле:


P(ci) ∼ Ni /N,

(4.8)

P(Ajk | ci) ∼ Njki /Ni,

(4.9)

где Ni – количество присваиваний (появлений) класса ci в выборке из N
элементов.
Условные вероятности каждого атрибута Aj могут оцениваться по следующей формуле:

8

Более подробно оценка параметров будет рассматриваться в главе по байесовским сетям.

4.2 Байесовский классификатор  77
где Njki – количество случаев, когда атрибут Aj принимает значение k, которое взято из класса i, а Ni – количество элементов класса ci в рассмат­
риваемом наборе данных.
После вычисления оценок параметров апостериорную вероятность
можно получить простым умножением априорной вероятности на
правдоподобие каждого атрибута. Таким образом, с учетом значений
для m атрибутов a1, a2, …, am для каждого класса ci апостериорная вероят­
ность пропорциональна следующему произведению:


P(ci | a1, a2, …, am) ∼ P(ci)P(a1 | ci) … P(am | ci).

(4.10)

Будет выбран класс ck, который максимизирует значение этого выражения9.
Таблица 4.1. Набор данных для примера определения возможности игры в гольф
по прогнозу погоды
Прогноз

Температура

Влажность

Ветер

Игра

Солнечно

Высокая

Высокая

Ложь

Нет

Солнечно

Высокая

Высокая

Истина

Нет

Облачно

Высокая

Высокая

Ложь

Да

Дождь

Средняя

Высокая

Ложь

Да

Дождь

Низкая

Нормальная

Ложь

Да

Дождь

Низкая

Нормальная

Истина

Нет

Облачно

Низкая

Нормальная

Истина

Да

Солнечно

Средняя

Высокая

Ложь

Нет

Солнечно

Низкая

Нормальная

Ложь

Да

Дождь

Средняя

Нормальная

Ложь

Да

Солнечно

Средняя

Нормальная

Истина

Да

Облачно

Средняя

Высокая

Истина

Да

Облачно

Высокая

Нормальная

Ложь

Да

Дождь

Средняя

Высокая

Истина

Нет

Снова обратимся к примеру определения возможности игры в гольф
по прогнозу погоды. В табл. 4.1 содержится по 14 записей для 5 переменных: четыре атрибута (Прогноз, Температура, Влажность, Ветер) и
один класс (Игра). Наивный байесовский классификатор для этого при9

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

78

 Глава 4. Байесовские классификаторы

мера показан на рис. 4.2 вместе с некоторыми необходимыми таблицами вероятностей.
игра

игра

истина ложь

0.64

0.36

игра

прогноз

температура

влажность

ветер

истина ложь

истина 0.33

0.67

ложь

0.40

0.60

ветер

Рис. 4.2. Наивный байесовский классификатор для примера
определения возможности игры в гольф. Также показаны
некоторые параметры модели: P(игра), P(ветер | игра)

Ниже кратко описаны основные преимущества наивного байесовского классификатора:
• небольшое количество требуемых параметров. Это снижает уровень требований к объему памяти и облегчает обучение по имеющимся данным;
• низкая стоимость вычислений для логического вывода (оценки
апостериорных вероятностей) и для обучения;
• относительно высокая производительность (точность классификации) во многих предметных областях;
• простая и понятная модель.
Но наивный байесовский классификатор имеет и недостатки, самые
значительные из которых перечислены ниже:
• в некоторых предметных областях производительность снижается из-за того, что предположение об условной независимости
является неверным;
• если имеются непрерывные атрибуты, то необходимо их дискретизировать (или рассмотреть варианты с использованием других
моделей, таких как линейная дискриминативная модель классификатора).
В следующих разделах будут подробно рассматриваться альтернативные варианты решения, устраняющие первый недостаток. Сначала
будут описаны другие модели, которые учитывают конкретные зависи-

4.3 Другие модели: TAN, BAN  79
мости между атрибутами. Затем будут представлены методики, которые
могут исключить или объединить атрибуты. Это еще один способ устранения некорректности предположения об условной независи­мости.

4.3 Другие модели: TAN, BAN
Обобщенный байесовский классификатор и наивный байесовский
классификатор – это две предельно противоположные структуры зависимостей из множества возможных структур для байесовских классификаторов. Обобщенный байесовский классификатор представляет
самую сложную структуру без предположений о независимости. Наив­
ный байесовский классификатор – эта самая простая структура, для
которой предполагается, что все атрибуты независимы относительно
класса. Между этими двумя предельными вариантами находится широкий спектр возможных разнообразных моделей различной сложности.
Интересными вариантами являются классификаторы TAN и BAN.
TAN (Tree augmented Bayesian classifier – байесовский классификатор,
дополненный деревом) включает некоторые зависимости между атрибутами, создавая ориентированное дерево на переменных атрибутов.
Таким образом, n атрибутов формируют граф, ограниченный ориентированным деревом, которое представляет отношения зависимости
между этими атрибутами. Кроме того, здесь существуют дуги между
переменными класса и каждым атрибутом. Структура классификатора
TAN показана на рис. 4.3.
C


A1

A2

An

Рис. 4.3. Пример классификатора TAN

Если не ограничиваться структурой дерева, определяющей связи между атрибутами, то получим BAN (Bayesian Network augmented
Bayesian classifier – байесовский классификатор, дополненный байесовс­
кой сеть­ю). В классификаторе BAN структура зависимостей между
атрибутами образует направленный ациклический граф (directed acyc­
lic graph). Как и в классификаторе TAN, здесь существуют дуги между узлом класса и каждым атрибутом. Структура классификатора BAN
пока­зана на рис. 4.4.

80

 Глава 4. Байесовские классификаторы
C


A1

An
A2

Рис. 4.4. Пример классификатора BAN

Апостериорную вероятность для переменной класса с учетом атрибутов можно получить тем же способом, что и для наивного байесовского
классификатора. Но теперь каждый атрибут зависит не только от класса,
но и от других атрибутов в соответствии со структурой графа. Таким образом, необходимо учитывать условную вероятность каждого атрибута
по отношению к классу и к своим родительским атрибутам:
P(C | A1, A2, …, An)
= P(C)P(A1 | C, Pa(A1))P(A2 | C, Pa(A2))…P(An | C, Pa(An)) / P(A),

(4.11)

где Pa(Ai) – множество родительских атрибутов для атрибута Ai в соответствии со структурой зависимости атрибутов в классификаторе TAN
или BAN.
Классификаторы TAN и BAN могут рассматриваться как частные случаи более общей модели, а именно байесовских сетей, которые подробно описываются в главе 7. В главах 7 и 8 будут рассматриваться различные методики логического вывода и обучения байесовских сетей,
которые можно применять для определения апостериорных вероятнос­
тей (логи­ческий вывод) и для создания модели (обучение) для классификаторов TAN и BAN.

4.4 Частично наивные байесовские
классификаторы
Другой вариант обработки зависимых атрибутов – преобразование основной структуры наивного байесовского классификатора с сохранением сети в форме звезды или древовидной структуры. Преимущество
такого подхода заключается в сохранении эффективности и простоты
наивного байесовского классификатора, но в то же время улучшается
производительность в тех случаях, когда атрибуты не являются независимыми. Такие типы байесовских классификаторов называют частично
наивными байесовскими классификаторами (Semi-Naïve Bayesian Classi-

4.4 Частично наивные байесовские классификаторы  81
fiers – SNBC). Некоторые авторы предлагают различные варианты час­
тично наивных байесовских классификаторов [11, 16].
Основная идея частично наивных байесовских классификаторов
заклю­чается в исключении или объединении атрибутов, зависимых по
отношению к классу. Это позволяет улучшить производительность классификатора. Такая методика аналогична отбору признаков (feature selection) в машинном обучении, и здесь существуют два типа подходов:
• фильтр (filter) – атрибуты отбираются в соответствии с локальной мерой, например взаимной информацией между атрибутом
и классом;
• обертка (wrapper) – атрибуты отбираются на основе глобальной
меры, обычно посредством сравнения производительности классификатора с конкретным атрибутом и без этого атрибута.
Кроме того, обучающий алгоритм может начать работу с пустой
структуры и добавлять (или объединять) атрибуты или начать работу с
заполненной структурой со всеми атрибутами и постепенно исключать
(или объединять) атрибуты.
На рис. 4.5 показаны две различные операции, изменяющие структуру наивного байесовского классификатора: рис. 4.5б – исключение узла,
рис. 4.5в – объединение узлов. Предполагается, что работа была начата
с заполненной структурой (рис. 4.5а).
а)

б)

H

E1

E2

E3

E4

H

E1

Исходная структура

в)

E2

E3

Исключение E4
H

E1 E2

E3

E4

Объединение E1, E2
Рис. 4.5. Улучшение структуры: а) исходная структура, б) один атрибут исключен,
в) два атрибута объединены в одной переменной

82

 Глава 4. Байесовские классификаторы

Исключение узла – это просто удаление атрибута Ai из модели, возможно, потому, что он не связан с конкретным классом (Ai и C независимы), или потому, что атрибут Ai и другой атрибут Aj не являются
независимыми по отношению к классу (это основное предположение
для наивного байесовского классификатора). Обоснование исключения
одного из зависимых атрибутов: если атрибут не является независимым по отношению к классу, то один из таких атрибутов избыточен и
может быть исключен.
Объединение узлов – это слияние двух атрибутов Ai и Aj в новый атрибут Ak, такой, что для Ak множеством возможных значений является
векторное произведение Ai и Aj (предполагается, что атрибуты дискрет­
ны). Например, если Ai = a, b, c и Aj = 1, 2, то Ak = a1, a2, b1, b2, c1, c2. Это
альтер­нативное решение, когда два атрибута не являются независимыми по отношению к классу. При объединении таких атрибутов в единый
комбинированный атрибут условие независимости больше не является
значимым.
Таким образом, если два атрибута не являются независимыми по отношению к классу, то существуют два различных варианта: исключение одного из атрибутов или объединение этих атрибутов в одну переменную. Теоретически мы должны выбрать тот вариант, который дает
больший прирост производительности классификатора, но на практике
оценку производительности иногда трудно определить.
Как уже отмечено выше, существует несколько различных вариантов
обучения частично наивного байесовского классификатора. Простая
«жадная» схема показана в алгоритме 4.1, где обработка начинается с
заполненного наивного байесовского классификатора со всеми атрибутами [9].
Этот процесс повторяется до тех пор, пока не останется избыточных
или зависимых атрибутов.
По ссылкам [8, 16] можно найти описание еще одной операции изме­
нения структуры наивного байесовского классификатора – добавление
нового атрибута, который делает два зависимых атрибута независимыми
(см. рис. 4.6). Этот новый атрибут представляет собой тип виртуального или
скрытого узла в модели, для которого нет каких-либо данных для обучения
его параметров. Альтернативный метод оценки парамет­ров скрытых переменных в байесовских сетях, как и в описанном здесь случае, основан на
EM-алгоритме (Expectation-Maximization), который описан в главе 8.
Во всех описанных выше классификаторах предполагалось, что су­
ществует единственная переменная класса, т. е. каждый экземпляр (элемент выборки данных) принадлежит одному и только одному классу.
Далее мы будем считать, что любой экземпляр (элемент данных) может
принадлежать нескольким классам. Эту методику называют многомерной классификацией.

4.4 Частично наивные байесовские классификаторы  83
H

V

E1

E2

E3

E4

Рис. 4.6. Пример создания узла, позволяющего сделать два зависимых
атрибута независимыми. Узел V вставляется в модель с учетом того,
что узлы E3 и E4 не являются условно независимыми по отношению к узлу H

Алгоритм 4.1. Алгоритм улучшения структуры
Требуемое условие: A – атрибуты
Требуемое условие: C – класс
/* Зависимость между каждым атрибутом и классом оценивается
* (например, с использованием взаимной информации (MI)).
*/
for all a ∈ A do
/* Эти атрибуты, которые не превышают пороговое значение, исключаются. */
if MI(a, C) < � then
Исключить a
end if
end for
/* Оставшиеся атрибуты проверяются на независимость по отношению
* к классу, например с использованием условной взаимной информации
* (conditional mutual information – CMI).
*/
for all a ∈ A do
for all b ∈ A – a do
/* Эти атрибуты, находящиеся выше порогового значения, исключаются
* или объединяются.При этом выбирается вариант, обеспечивающий
* наилучшую производительность классификации.
*/
if CMI(a, b | C) > � then
Исключить или Объединить a и b
end if
end for
end for

84

 Глава 4. Байесовские классификаторы

4.5 Многомерные байесовские
классификаторы
Некоторые важные задачи требуют одновременного прогнозирования
нескольких классов. Например, классификация текстов, при которой
документу может быть назначено несколько тем, классификация генов, так как ген может выполнять различные функции, автоматическая
аннотация изображений, поскольку изображение может содержать несколько объектов, и т. д. Это примеры многомерной классификации, при
которой для объекта может быть назначено более одного класса. Формально задача многомерной классификации соответствует задаче поиска
функции h, которая назначает для каждого экземпляра (элемента данных), представленного вектором m признаков X = (X1, X2, …, Xm), вектор, состоящий из d значений класса C = (C1, C2 …, Cd). Функция h должна присва­ивать каждому экземпляру X наиболее вероятное сочетание
классов, т. е.


ArgMaxC1,C2…,Cd P(C1 = c1, …, Cd = cd | X).

(4.12)

Классификация с несколькими метками (multi-label classification) – это
частный случай многомерной классификации, при которой все переменные классов являются бинарными. При классификации с несколькими метками существует две основные методики: бинарная релевантность (binary relevance) и повышение степени множества (булеана)
меток (label power-set) [18]. Методики типа бинарная релевантность выполняют преобразование задачи классификации с несколькими метками в d независимых задачах бинарной классификации, по одной задаче для каждой переменной класса C1, …, Cd. Производится независимое
обучение каждого класса, а результаты объединяются для определения
множества прогнозируемых классов. При этом зависимости между
классами не учитываются. Методика повышения степени множества
меток выполняет преобразование задачи классификации с несколькими метками в вариант с одним классом, определяя новую составную
переменную классов, для которой возможными значениями являются
все возможные сочетания значений из исходных классов. В этом случае
неявно учитываются взаимодействия между классами. Эта методика
может быть эффективной для предметных областей с небольшим количеством переменных классов, но при многочисленных классах такой
подход неэффективен с практической точки зрения. По существу, методика бинарной релевантности может быть эффективной, когда классы
относительно независимы, а методика повышения степени множества
меток – когда количество переменных класса невелико.
В общем рабочем комплекте байесовских классификаторов можно
выделить две методики, являющиеся альтернативами для основных

4.5 Многомерные байесовские классификаторы  85
методик. Одна из них основана на байесовских сетях, где зависимости
между переменными классов (и между атрибутами) учитываются явно.
Другая методика неявно включает зависимости между классами, добавляя дополнительные атрибуты в каждый независимый классификатор.
Обе эти методики рассматриваются в следующих разделах.

4.5.1 Многомерные классификаторы на основе
байесовских сетей
Многомерный классификатор на основе байесовских сетей (multidi­
mensional Bayesian network classifier – MBC) на множестве V = {Z1, …, Zn},
n ≥ 1, дискретных случайных переменных – это байесовская сеть с особой
структурой10. Множество переменных V разделяется на два множест­ва:
VC = {C1, …, Cd}, d ≥ 1, – переменные классов и VX = {X1, …, Xm}, m ≥ 1, –
переменные признаков (при этом d + m = n). Множество дуг A разделяется на три множества AC, AX, ACX, таких, что AC ⊆ VC × VC сформировано
из дуг между переменными классов, AX ⊆ VX × VX сформировано из дуг
между переменными признаков, а ACX ⊆ VC × VX сформировано из дуг
от переменных классов к переменным признаков. Соответствующими
подграфами являются GC = (VC, AC) – подграф классов, GX = (VX, AX) – подграф признаков и GCX = (V, ACX) – подграф мостов (см. рис. 4.7).
C1

Классы

C3

C2

C4

Мосты
A2

Признаки

A3

A4

A5

A1
Рис. 4.7. Многомерный классификатор на основе байесовских сетей,
в котором выделены три подграфа: классы, признаки и мосты

Различные структуры графов для подграфов классов и признаков могут приводить к созданию разнообразных семейств многомерных классификаторов на основе байесовских сетей [19]. Например, можно было
бы ввести ограничение, по которому подграф классов должен иметь
только структуру дерева, и предположить, что атрибуты независимы
по отношению к переменным класса. В других вариантах можно было
бы определить одинаковую структуру для обоих подграфов, например
дерево-дерево, полидерево-полидерево, НАГ-НАГ (НАГ – направленный ациклический граф). При увеличении сложности структур, прини10

Байесовские сети рассматриваются в главе 7.

86

 Глава 4. Байесовские классификаторы

маемых для каждого подграфа, возрастает и сложность обучения этих
структур.
Задача классификации экземпляра (элемента) данных с помощью
многомерного классификатора на основе байесовских сетей, т. е. наиболее правдоподобное сочетание классов, соответствует задаче наиболее
вероятного объяснения (MPE – most probable explanation) или задаче
абдукции (abduction) для байесовских сетей. Другими словами, необходимо определить наиболее вероятные значения для переменных класса
V = {C1, …, Cn} с учетом признаков. Это сложная задача с высокой стоимостью вычислений. Существует несколько методов снижения сложности по времени [2], но даже в этом случае такая методика применима
только к задачам с ограниченным количеством классов.
Обучение байесовских сетей (многомерные классификаторы на основе байесовских сетей представляют собой один из типов байесовских
сетей) и вычисление наиболее вероятного объяснения (MPE) будут рассматриваться в главах 7 и 8.

4.5.2 Байесовские классификаторы на основе цепи
Классификаторы на основе цепи (chain classifiers) представляют альтернативный метод классификации с несколькими метками, которая
включает зависимости классов при сохранении эффективности вычислений, свойственной методике бинарной релевантности [12]. Классификатор на основе цепи состоит из d базовых бинарных классификаторов, объединенных в цепь так, что каждый классификатор содержит
классы, спрогнозированные предыдущими классификаторами как дополнительные атрибуты. Таким образом, вектор признаков для каждого бинарного классификатора Li дополняется метками (0/1) из всех
классификаторов, предшествующих ему в цепи. Каждый классификатор в цепи тренируется для обучения присваиванию метки li с учетом
признаков, дополняемых всеми предыдущими метками классов в цепи
L1, L2, …, Li–1. Классификация начинается с L1, затем спрогнозированные
классы распространяются далее по цепи так, что для Li ∈ ℒ (где ℒ =
{L1, L2, …, Ld}) прогнозируется вероятность P(Li | X, L1, L2, …, Li–1). Как и в
методе бинарной релевантности, вектор классов определяется объединением выходных данных всех бинарных классификаторов в цепи.
Байесовские классификаторы на основе цепи (Bayesian chain classifiers)
представляют собой один из типов классификатора на основе цепи в
рабочем пространстве вероятностных методов. Если применить цепочное правило теории вероятностей, то формулу 4.12 можно записать в
следующем виде:
ArgMaxC1,…,Cd P(C1 | C2, …, Cd, X)P(C2 | C3, …, Cd, X) … P(Cd | X).

(4.13)

4.5 Многомерные байесовские классификаторы  87
Если учитывать отношения зависимостей между переменными классов и представить эти отношения в виде направленного ациклического
графа (directed acyclic graph – DAG), то можно упростить формулу 4.13,
рассматривая зависимости, отображенные в графе, так, чтобы только
родители каждой переменной класса включались в цепь, а все прочие
предшествующие по порядку в цепи классы исключались. Тогда можно
записать формулу 4.13 в следующем виде:




d

ArgMaxC1,…,Cd �P(Ci | Pa(Ci), X),

(4.14)

i=1

где Pa(Ci) – родители класса i в направленном ациклическом графе, который представляет зависимости между переменными классов.
Возможно и дальнейшее упрощение, если предположить, что наиболее вероятное совместное сочетание классов можно аппроксимировать
простым соединением отдельных наиболее вероятных классов. Таким
образом, необходимо решить следующую систему уравнений как аппроксимацию формулы 4.14:





ArgMaxC1 P(C1 | Pa(C1), X)
ArgMaxC2 P(C2 | Pa(C2), X)
……………………….
ArgMaxCd P(Cd | Pa(Cd), X)

Эта последняя аппроксимация соответствует байесовскому классификатору на основе цепи. Таким образом, для байесовского классификатора на основе цепи принимаются два основных предположения:
1) структура зависимости классов с учетом признаков может быть
представлена в виде направленного ациклического графа;
2) процедура присваивания наиболее вероятного совместного сочетания классов (полная абдукция) аппроксимируется простым
соединением наиболее вероятных отдельных классов.
Первое предположение является обоснованным, если имеется достаточный объем данных для правильной аппроксимации структуры зависимостей классов и верно предположение о том, что эта аппроксимация
выполнена с учетом соответствующих признаков. Относительно второго предположения хорошо известно, что полная абдукция или наиболее
вероятное объяснение не всегда равнозначно максимизации отдельных классов. Но это предположение менее строгое, чем аналогичное
предположение в методе бинарной релевантности. Байесовские классификаторы на основе цепи предоставляют неплохой альтернативный

88

 Глава 4. Байесовские классификаторы

вариант для многомерной классификации, поскольку включают в той
или иной степени зависимости между переменными классов, сохраняя
при этом эффективность метода бинарной релевантности.
Для базового (base) классификатора, принадлежащего каждому классу, можно использовать любой из байесовских классификаторов, представленных в предыдущих разделах, например наивный байесовский
классификатор. Предполагая, что имеется структура зависимостей
классов, представленная в виде направленного ациклического графа
(эту структуру можно обучить по имеющимся данным, см. главу 8), каждый классификатор может быть обучен тем же способом, что и наивный
байесовский классификатор. Для этого достаточно просто включить
как дополнительные атрибуты переменные классов в соответствии со
структурой зависимостей классов. Проще всего включить только родительские узлы каждого класса в соответствии с этим графом зависимостей. Общий принцип построения байесовского классификатора на основе цепи показан на рис. 4.8.
а)

C1

C2

C3

б)

x1

C1



C4

C2

xn

x1



C3

xn

x1



C4

xn

C1

C2

x1



xn

C2

Рис. 4.8. Пример байесовского классификатора на основе цепи: а) байесовская
сеть представляет структуру зависимости классов, б) наивные байесовские
классификаторы – по одному для каждого класса. Каждый базовый
классификатор, определенный для Ci, включает множество атрибутов X1, …, Xn
плюс родители в структуре зависимостей как дополнительный атрибут

Для классификации экземпляра (элемента данных) все классификаторы применяются одновременно и все классы, апостериорная вероятность которых превышает пороговое значение, возвращаются как
выходные данные.

4.6 Иерархическая классификация
Иерархическая классификация представляет собой тип многомерной
классификации, при которой все классы упорядочены в предварительно определенной структуре, обычно в дереве, или в общем случае в на-

4.6 Иерархическая классификация  89
правленном ациклическом графе (directed acyclic graph – DAG). С учетом
иерархической организации классов можно улучшить производительность классификации. В иерархической классификации экземпляр,
принадлежащий некоторому классу, автоматически принадлежит всем
суперклассам, т. е. родительским классам для этого класса. Это называют ограничением иерархии (hierarchy constraint). Иерархическая классификация применяется в нескольких областях, таких как категоризация
текстов, предсказание функции белка и распознавание образов.
Как и при многомерной классификации, существуют две основные
методики иерархической классификации: глобальные классификаторы
и локальные классификаторы. При глобальном подходе создается классификатор для прогнозирования всех классов сразу. Для крупных иерархий при этом существенно возрастает сложность вычислений. Схемы с
локальными классификаторами тренируют несколько классификаторов
и объединяют их выходные данные. Для схем с локальными классификаторами существуют три основные методики. Локальный классификатор на каждый уровень иерархии тренирует один мультиклассовый
классификатор для каждого уровня иерархии классов. Локальный бинарный классификатор для каждого узла – здесь создается бинарный
классификатор для каждого узла (класса) в иерархии, за исключением
корневого узла. Локальный классификатор для каждого родительского
узла (Local Classifier per Parent Node – LCPN) – мультиклассовый классификатор тренируется для прогнозирования своих узлов-потомков.
Локальные методики широко используют нисходящий (top-down)
способ классификации [14]. Классификатор на самом верхнем уровне
выбирает определенный класс, а все прочие классы исключаются. Затем
анализируются потомки выбранного класса и т. д. При таком подходе
возможна следующая проблема: если ошибка возникает на верхних
уровнях иерархии, то ее невозможно устранить, и она распространяется на более низкие уровни. Альтернативным подходом является анализ
путей в иерархии и выбор пути, в наибольшей степени соответствующего результатам локальных классификаторов. Метод, основанный на
этом принципе, описывается ниже.

4.6.1 Оценка цепного пути
Метод оценки цепного пути (Chained Path Evaluation – CPE) [13] анализирует каждый путь от корня до листа в иерархии, принимая во внимание уровень прогнозируемых меток для получения оценки каждого
пути, и в конечном итоге возвращает путь с наилучшей оценкой. Кроме
того, этот метод учитывает отношения каждого узла со своими предками в иерархии на основе цепных классификаторов. Метод оценки
цепного пути (CPE) состоит из двух частей: тренировочное обучение и
классификация.

90

 Глава 4. Байесовские классификаторы

4.6.1.1 Тренировочное обучение
Локальный классификатор тренируется для каждого узла Ci в иерархии, исключая узлы-листья, для классификации соответствующих узлов-потомков, т. е. используется схема LCPN (см. рис. 4.9). Классификатор для каждого узла Ci, например наивный байесовский классификатор,
тренируется с учетом экземпляров из всех своих узлов-потомков, а также с учетом некоторых экземпляров из соседних узлов (узлов-братьев) на том же уровне иерархии. Например, классификатор C2 на рис. 4.9
будет тренироваться для классификации C5, C6, C7, а дополнительные
экземпляры будут взяты для рассмотрения из классов C3 и С4, которые
представляют неизвестный класс для C1.
C1

C2

C5

C6

C3

C7

C8

C4

C9

C10

C11

C12

Рис. 4.9. Пример иерархической структуры (дерева). Для каждого узла,
не являющегося листом, локальный классификатор тренируется для
прогнозирования своих узлов-потомков: C1 классифицирует C2, C3, C4; C2
классифицирует C5, C6, C7; C3 классифицирует C8, C9; C4 классифицирует C10, C11, C12

Чтобы учесть отношения с другими узлами в этой иерархии, класс,
прогнозируемый родителем (в структуре дерева) или несколькими родителями (в направленном ациклическом графе), включается как дополнительные атрибуты в каждый локальный классификатор на основании принципа, вводимого байесовскими цепными классификаторами.
Например, классификатор C2 на рис. 4.9 в качестве дополнительного
атрибута будет содержать класс, прогнозируемый его родителем C1.

4.6.1.2 Классификация
На этапе классификации вероятности для каждого класса во всех
локальных классификаторах вычисляются на основе входных данных
(признаков каждого экземпляра). После вычисления вероятностей для
каждого узла в иерархии, не являющегося листом, эти узлы объединяются для получения оценки для каждого пути.

4.7 Приложения  91
Оценка (score) для каждого пути в иерархии вычисляется как взвешенная сумма логарифмов вероятностей всех локальных классификаторов в этом пути:
n


score = �wCi × log(P(Ci | Xi, pa(Ci))),
(4.15)
i=0

где Ci – классы для каждого локального классификатора для каждого
роди­тельского узла (LCPN), Xi – вектор атрибутов, pa(Ci) – прогнозируе­
мый родителем класс, wCi – весовой коэффициент. Цель назначения
весовых коэффициентов – придать бóльшую важность более высоким
уровням иерархии, так как ошибки на более высоких уровнях иерархии
(которые соответствуют более обобщенным концепциям) обходятся
дороже, чем ошибки на более низких уровнях (соответствующие более специализированным концепциям) [13]. Включение суммы логарифмов используется для обеспечения стабильности вычислений при
определении вероятностей для длинных путей.
После вычисления оценок для всех путей путь с наивысшей оценкой
будет выбран как множество классов, соответствующих конкретному экземпляру. Для примера на рис. 4.9 оценка будет вычисляться для
каждого пути от корня до каждого узла-листа: Путь 1: C1–C2–C5, Путь 2:
C1–C2–C6 и т. д. В этом примере существует восемь путей. Предпо­ложим,
что наивысшую оценку имеет Путь 4: C1–C3–C8, тогда эти три класса будут возвращены как выходные данные классификатора.

4.7 Приложения

В этом разделе рассматриваются приложения двух типов байесовских классификаторов для решения двух практических задач. Сначала
демонст­рируется использование частично наивного классификатора
для присваивания пикселам в изображении (фотографии) меток «кожа»
и «не кожа». Затем рассматривается использование многомерных цепных классификаторов для выбора лекарственных средств для лечения
вируса иммунодефицита человека (ВИЧ – HIV).

4.7.1 Визуальное определение кожи человека
на изображениях
Определение (участков) кожи человека – это полезный этап предварительнойобработки для многих приложений в области компьютерного зрения, таких как идентификация личности, распознавание жестов и
многие другие. Поэтому весьма важно применять для этого чрезвычайно точный и эффективный классификатор. Простой и очень быстрый
способ получения приблизительной классификации пикселов в изображении как классов «кожа» и «не кожа» основан на цветовых атрибутах

92

 Глава 4. Байесовские классификаторы

каждого пиксела. Обычно пикселы в цифровом изображении представлены в виде сочетания трех основных (простых) цветов: красного – Red
(R), зеленого – Green (G) и синего – Blue (B). Это сочетание известно как
RGB-модель. Компонент каждого цвета может принимать числовые
значения в определенном интервале, а именно от 0 до 255. Существуют
и другие цветовые модели, например HSV, YIQ и т. д.
Для классификации пикселов как классов «кожа» и «не кожа» может
быть создан наивный байесовский классификатор с использованием
трех цветовых значений RGB в качестве атрибутов. Но возможно также
применение другой цветовой модели для более эффективной классификации. В другом варианте можно объединить несколько цветовых
моделей в одном классификаторе, используя все атрибуты из различных моделей. Последний вариант перспективен с точки зрения получения преимуществ использования информации, предоставляемой
различными моделями. Но при использовании наивного байесовского
классификатора нарушается предположение о независимости – различные модели не являются независимыми, так как одну модель можно
вывести из другой.
Альтернативный вариант – применение частично наивного байесовского классификатора и выбор наилучших атрибутов из различных
цветовых моделей для классификации изображения кожи посредством
исключения или объединения атрибутов. Для этого воспользуемся тремя различными цветовыми моделями: RGB, HSV и YIQ, – так что всего
будет использоваться девять атрибутов. Эти атрибуты (цветовые компоненты) были предварительно дискретизированы в ограниченном количестве интервалов значений. Затем исходный наивный байесовский
классификатор был обучен на имеющихся данных, т. е. на экземплярах
пикселов классов «кожа» и «не кожа», взятых из нескольких изображений. Этот исходный классификатор достиг точности 94 %, когда применялся к другим (тестовым) изображениям.
Затем классификатор был оптимизирован с использованием метода,
описанного в разделе 4.4. Начиная с полного наивного байесовского
классификатора с девятью атрибутами, этот метод поэтапно применяет процедуры исключения и объединения переменных до тех пор, пока
не будет получен наипростейший классификатор с максимальной точностью. Последовательность операций и конечная структура показаны
на рис. 4.10. Здесь можно видеть, что изначально алгоритм исключает
несколько несущественных или избыточных атрибутов, затем объединяет два зависимых атрибута, далее исключает еще два атрибута и продолжает работу до тех пор, пока не получит окончательную структуру
с тремя атрибутами: RG, Y, I (первый атрибут является объединением
двух исходных атрибутов). Полученная конечная модель была оценена
на тех же тестовых изображениях, и точность была улучшена до 98 %.

4.7 Приложения  93
Пример изображения с пикселами, определенными этим классификатором как класс «кожа», показан на рис. 4.11.
а)

S

R

б)

R

г)

G

B

H

S

S

V

Y

I

Y

RG

I

I

Q

S

V

S

д)

S

RG

Y

в)

S

G

V

Y

I

S

RG

Y

I

Рис. 4.10. Здесь показан процесс оптимизации частично наивного байесовского
классификатора для визуального определения человеческой кожи
на изображениях – от первоначальной модели с девятью атрибутами (а)
до конечной модели с тремя атрибутами (д): а) первоначальная структура
с цветовыми моделями RGB, HSV и YIQ, б) исключение атрибутов B, Q и H;
в) объединение атрибутов R и G, г) исключение атрибутов V и S, д) конечная модель

а)

б)

Рис. 4.11. Пример изображения, в котором пикселы классифицированы
как «кожа» и «не кожа»: а) исходное изображение, б) изображение
с обнаруженными пикселами класса «кожа» (обозначены черным цветом)

94

 Глава 4. Байесовские классификаторы

В рассматриваемом здесь примере частично наивный байесовский
классификатор получает значительное преимущество по сравнению с
обычным наивным байесовским классификатором, но в то же время
создает более простую модель (в плане количества переменных и требуемых параметров) [9].

4.7.2 Выбор лекарственных средств для лечения вируса
иммунодефицита человека
Вирус иммунодефицита человека (ВИЧ; Human Immunodeficiency
Virus – HIV) – это (вирусный) фактор, являющийся причиной СПИДа
(AIDS), условие развития поражения иммунной системы, которое способствует возникновению инфекционных заболеваний, опасных для
жизни человека. Для борьбы с ВИЧ-инфекцией были разработаны
некоторые антиретровирусные лекарственные средства, принадлежащие к различным классам медицинских препаратов, воздействующих на специфические фазы цикла воспроизводства вируса. В антиретровирусной терапии в основном применяется сочетание трех или
четырех антиретровирусных лекарственных средств. Выбор сочетания этих средств зависит от состояния пациента, которое может быть
охарактери­зовано в соответствии с мутациями вируса, присутствующего в организме пациента. Таким образом, важно выбрать наилучшее сочетание лекарств в соответствии с мутациями вируса в организме пациента.
Выбор наиболее эффективной группы антиретровирусных лекарст­
венных средств для пациента может рассматриваться как частный случай задачи классификации с несколькими метками, в которой классами
являются различные типы антиретровирусных лекарств, а атрибуты –
это мутации вируса. Поскольку классификация с несколькими метками
представляет собой частный случай многомерной классификации, эта
конкретная задача может быть точно смоделирована с использованием многомерной байесовской сети (классификатора) (MBC). Применяя
алго­ритм обучения, можно выявить связи, существующие между антиретровирусными средствами и мутациями, а кроме того, получить модель с высокой эффективностью прогнозов.
Альтернативой обучению многомерной байесовской сети (классификатора) является алгоритм MB-MBC [3]. Этот специализированный
алгоритм использует марковское ограждение (Markov blanket – MB)
переменной каждого класса для снижения сложности вычислений при
обучении многомерной байесовской сети (классификатора) (MBC),
отфильтровывая (исключая) те переменные, которые не улучшают
классификацию. Марковское ограждение переменной C, обозначае­
мое как MB(C), – это минимальное множество переменных, таких,

4.7 Приложения  95
что I(C, S | MB(C)) истинно для каждого подмножества переменных S,
где S не содержит в качест­ве своих элементов ни одну из переменных,
принадлежащих объединению MB(C) ⋃ C. Другими словами, марковское
ограждение переменной C – это минимальное множество переменных,
при которых C условно независима от всех остальных переменных.
Для прогнозирования наиболее подходящей группы антиретровирусных лекарственных средств для пациента с учетом присутствующих
в его организме мутаций вируса выполняется обучение марковского
ограждения для каждого антиретровирусного лекарства. Например,
если рассматривается группа ингибиторов обратной транскриптазы
(группа антиретровирусных лекарственных средств, которые подавляют активность обратной транскриптазы в фазе репликации жизненного цикла ВИЧ) как переменные классов, а группа мутаций как атрибуты, то марковское ограждение для полного множества ингибиторов
обратной транскриптазы обучается определению существующих связей типа антиретровирус–антиретровирус и антиретровирус–мутация.
Обучение марковского ограждения переменной каждого класса соответствует обучению неориентированной структуры для многомерной
байесовской сети (классификатора), т. е. трех подграфов. Наконец,
ориен­тация для всех трех этих подграфов определяется на последнем
шаге выполнения алгоритма MB-MBC. На рис. 4.12 показан полученный в результате итоговый многомерный байесовский классификатор
(сеть).
ABC

DDI

D4T

3TC

V108I

TDF

NVP

DLV

Q151M

AZT

EFV

M184I

F77L

FTC

K103N

P225H

T215Y

A98G
G190A

M41L

K70R

G190S
Y188H

V75I

V106A
M184V

T215F

V179D

Y181C

D67N

T69D
Y115F

V106M
K219Q
L74V

Рис. 4.12. Графовая структура для многомерной байесовской сети
(классификатора), обучаемой с помощью алгоритма MB-MBC, для множества
ингибиторов обратной транскриптазы (показаны зеленым цветом) и множества
мутаций (показаны желтым цветом) (иллюстрация взята из [3])

96

 Глава 4. Байесовские классификаторы

4.8 Материалы для дополнительного чтения
Общее введение и сравнение различных методик классификации см.
в [10]. Определение стоимости классификации описано в [5]. Классификаторы TAN и BAN рассматриваются в [6]. Сравнение различных классификаторов на основе байесовских сетей представлено в [4]. Введение
в частично наивную методику см. в [16], более подробное описание
в [11]. По ссылке [18] представлен общий обзор многомерных классификаторов. Различные альтернативные варианты для многомерной
байесовской сети (классификатора) см. в [2]. Цепные классификаторы
представлены в [12], байесовские цепные классификаторы в [17]. Обзор
различных методик иерархической классификации и их практических
приложений см. в [15].

4.9 Задания и упражнения
1. На основе данных для примера golf в табл. 4.1 завершить создание
таблиц условных вероятностей для наивного байесовского классификатора с использованием оценки максимального правдоподобия.
2. Определить класс с максимальной вероятностью для наивного
байе­совского классификатора в примере golf из задания 1 с учетом
всех сочетаний значений атрибутов.
3. На основе результатов выполнения задания 2 сформировать набор правил классификации, равнозначных наивному байесовскому
классификатору, для определения результатов «игра возможна» /
«игра невозможна» на основе значений атрибутов.
4. Предположим, что выполняется преобразование наивного байе­
совского классификатора для примера golf в модель TAN со следующей структурой зависимостей атрибутов: прогноз погоды →
температура, прогноз погоды → влажность, температура → ветер.
Используя тот же набор данных, оценить таблицы условных вероятностей для этой модели TAN.
5. На основе набора данных для примера golf определить оценку
взаим­ной информации между классом и каждым атрибутом. Соз­
дать частично наивный байесовский классификатор, исключив те
атрибуты, которые имеют низкий уровень взаимной информации
с классом (необходимо предварительно определить пороговое значение).
6. Расширить задачу 5: теперь необходимо оценить взаимную информацию между каждой парой атрибутов с учетом переменной класса. Исключить или объединить те атрибуты, которые не являются

Ссылки на источники  97

7.

8.

9.

10.

условно независимыми с учетом класса в соответствии с предварительно определенным пороговым значением. Показать структуру и
параметры созданных в результате классификаторов.
Предположим, что пример golf преобразовывается в задачу многомерной классификации с двумя классами: игра и прогноз погоды –
и с тремя атрибутами: температура, влажность и ветер. Также
предположим, что создается многомерный классификатор на основе бинарной релевантности – независимый классификатор для
каждой переменной класса. Приняв, что каждый такой классификатор – это наивный байесовский классификатор, определить, какой
будет структура итогового классификатора. Получить параметры
для этого классификатора на основе данных в табл. 4.1.
Для задания 7 предположить, что теперь создается наивный байесовский классификатор на основе методики мощности множества.
Какой теперь будет структура и параметры итоговой модели? Использовать тот же набор данных.
*** Сравнить структуру, сложность (по количеству параметров) и
точность классификации различных байесовских классификаторов – наивного БК, TAN, BAN, – используя несколько наборов данных (например, WEKA [7] реализацию байесовских классификаторов, а также некоторые наборы данных из репозитория UCI [1]).
Всегда ли модели TAN и BAN превосходят по эффективности наив­
ный байесовский классификатор? Почему?
*** Иерархический классификатор – это особый частный тип
много­мерного классификатора, в котором классы организованы в
иерар­хию. Например, иерархия классов животных. Ограничение
иерархии состоит в том, что экземпляр (элемент данных), принадлежащий конкретному классу, обязательно должен принадлежать и
всем соответствующим суперклассам в этой иерархии (иерархическое ограничение). Как можно спроектировать многомерный классификатор, чтобы обеспечить соблюдение этого иерархического
ограничения? Расширить байесовский цепной классификатор для
иерархической классификации.

Ссылки на источники
1. Bache, K., Lichman, M. UCI machine learning repository. University of
California, School of Information and Computer Science. Irvine. http://
archive.ics.uci.edu/ml. Accessed 22 Sept 2014 (2013).
2. Bielza, C., Li, G., Larrañaga, P. Multi-dimensional classification with
bayesian networks. Int. J. Approx. Reason. 52, 705–727 (2011).

98

 Глава 4. Байесовские классификаторы

3. Borchani, H., Bielza, C., Toro, C., Larrañaga, P. Predicting human immunodeficiency virus inhibitors using multi-dimensional Bayesian network
classifiers. Artif. Intell. Med. 57, 219–229 (2013).
4. Cheng, J., Greiner, R. Comparing Bayesian network classifiers. In: Proceedings of the Fifteenth Conference on Uncertainty in Artificial Intelligence, p. 101–108 (1999).
5. Drummond, C., Holte, R. C. Explicitly representing expected cost: an alternative to the ROC representation. In: Proceedings of the Sixth ACM
SIGKDD International Conference on Knowledge Discovery and Data
Mining, p. 198–207 (2000).
6. Friedman, N., Geiger, D., Goldszmidt, M. Bayesian network classifiers.
Mach. Learn. 29, 131–163 (1997).
7. Hall, M., Frank, E., Holmes, G., Pfahringer, B. and Reutemann, P., Witten,
I. H. The WEKA datamining software: an update. In: ACMSIGKDD Explorations Newsletter. ACM, p. 10–18 (2009).
8. Kwoh, C. K., Gillies, D. F. Using hidden nodes in Bayesian networks.
Artificial Intelligence, vol. 88, p. 1–38. Elsevier, Essex (1996).
9. Martinez, M., Sucar, L. E. Learning an optimal naive Bayes classifier. In:
International Conference on Pattern Recognition (ICPR), vol. 3, p. 1236–
1239 (2006).
10. Michie, D., Spiegelhalter, D. J., Taylor, C. C. Machine Learning, Neural
and Statistical Classification. Ellis Howard, England (2004).
11. Pazzani, M. J. Searching for Dependencies in Bayesian Classifiers. Artificial Intelligence and Statistics IV. Lecture Notes in Statistics, Springer-Verlag, New York (1997).
12. Read, J., Pfahringer, B., Holmes, G., Frank, E. Classifier chains for multi-label classification. In: Proceedings ECML/PKDD, p. 254–269 (2009).
13. Ramírez, M., Sucar, L. E., Morales, E. Path evaluation for hierarchicalmulti-label classification. In: Proceedings of the Twenty-Seventh International Florida Artificial Intelligence Research Society Conference
(FLAIRS), p. 502–507 (2014).
14. Silla Jr., C. N., Freitas, A. A. Novel top-down approaches for hierarchical
classification and their application to automatic music genre classification. In: IEEE International Conference on Systems, Man, and Cybernetics, p. 3499–3504. October 2009.
15. Silla Jr., C. N., Freitas, A. A. A survey of hierarchical classification across
different application domains. Data Min. Knowl. Discov. 22 (1–2), 31–72
(2011).
16. Sucar, L. E., Gillies, D. F., Gillies, D. A. Objective probabilities in expert
systems. Artif. Intell. 61, 187–208 (1993).

Ссылки на источники  99
17. Sucar, L. E., Bielza, C., Morales, E., Hernandez, P., Zaragoza, J., Larrañaga, P. Multi-label classification with Bayesian network-based chain
classifiers. Pattern Recognit. Lett. 41, 14–22 (2014).
18. Tsoumakas, G., Katakis, I. Multi-label classification: an overview. Int. J.
DataWareh. Min. 3, 1–13 (2007).
19. van der Gaag L. C., de Waal, P. R. Multi-dimensional Bayesian network
classifiers. In: Third European Conference on Probabilistic Graphic Models, p. 107–114. Prague, Czech Republic (2006).

Глава

5

Скрытые марковские модели

5.1 Введение
Марковские цепи (Markov chains) – это еще один класс вероятностных
графовых моделей, который представляет динамические процессы, в
частности изменение состояния процесса во времени. Например, предположим, что моделируется изменение погоды в конкретной местности
в течение некоторого времени. В весьма упрощенной модели предполагается, что погода не изменяется на протяжении дня и может иметь
три возможных состояния: солнечно, облачно, дождь. Кроме того, предполагается, что погода в конкретный день зависит только от погоды
в предыдущий день. Таким образом, можно считать эту упрощенную
модель погоды марковской цепью, в которой существует переменная
состояния для каждого отдельного дня с тремя возможными значения­
ми. Эти переменные связываются в цепь (chain) с ориентированной
(направленной) дугой от одного дня к следующему (см. рис. 5.1). При
этом подразумевается то, что называют марковским свойством (Markov property), – состояние погоды в следующий день St+1 не зависит от
всех предыдущих дней при рассмотрении погоды в текущий день St, т. е.
P(St+1 | St, St-1, …) = P(St+1 | St). Таким образом, в марковской цепи основным требуемым параметром является вероятность состояния с учетом
вероят­ности предыдущего состояния.
St

St+1

St+2

Рис. 5.1. Марковская цепь, в которой каждый узел представляет
состояние в определенный момент времени

Описанная выше модель предполагает, что можно точно оценить
(«измерить») погоду каждый день, т. е. состояние является наблюдае­

5.2 Марковские цепи  101
мым (observable). Но это предположение не всегда истинно. Во многих приложениях нет возможности непосредственного наблюдения за
состоя­нием процесса, поэтому необходимо перейти к скрытой марковской модели (Hidden Markov Model), в которой состояние скрыто. В этом
случае в дополнение к вероятности следующего состояния с учетом текущего состояния добавляется еще один параметр, моделирующий неопределенность текущего состояния, представленный как вероятность
наблюдения (observation) с учетом текущего состояния P(Ot | St). Этот
тип модели обладает большей мощью, чем простая марковская цепь, и
имеет множество практических приложений, например при распознавании речи и жестов.
После краткого ведения в марковские цепи в следующем разделе будут подробно рассматриваться скрытые марковские модели, в том числе методы выполнения вычислений интереса (значимости) для этого
типа моделей. Затем будут описаны некоторые расширения стандартных скрытых марковских моделей, а завершается глава двумя примерами практических приложений.

5.2 Марковские цепи
Марковская цепь (Markov chain – MC) – это конечный автомат (finite-sta­
te machine), имеющий дискретное (конечное) число состояний q1, q2, …,
qn, а переходы между состояниями являются недетерминированными,
т. е. существует вероятность перехода из состояния qi в другое состоя­
ние qj: P(St = qj | St–1 = qi). Время также дискретно, так что цепь может
находиться в определенном состоянии qi в любой момент (интервал)
времени t. Это соответствует марковскому свойству, т. е. вероятность
следующего состояния зависит только от текущего состояния.
Формально марковская цепь определяется в следующем виде:
• множество состояний: Q = {q1, q2, …, qn};
• вектор априорных вероятностей: Π = {π1, π2, .., πn}, где πi = P(S0 = qi);
• матрица вероятностей переходов: A = {aij}, i = [1..n], j = [1..n],
где aij = P(St = qj | St–1 = qi),
где n – количество состояний, а S0 – начальное состояние. В компактной форме марковскую цепь можно представить так: � = {A, Π}.

Марковская цепь (первого порядка) обладает следующими свойствами:

1) аксиомы вероятности: ∑i πi = 1 и ∑j aij = 1;
2) марковское свойство: P(St = qj | St–1 = qi, St–2 = qk, …) = P(St = qj | St–1 = qi).
Например, рассмотрим предложенную выше простую модель погоды
с тремя состояниями: q1 = солнечно, q2 = облачно, q3 = дождь. В этом случае

 Глава 5. Скрытые марковские модели

102

для определения марковской цепи потребуется вектор, состоящий из
трех априорных вероятностей (см. табл. 5.1), и матрица 3×3 вероятнос­
тей переходов (см. табл. 5.2).
Таблица 5.1. Априорные вероятности для примера прогнозирования погоды
Солнечно

Облачно

Дождь

0.2

0.5

0.3

Таблица 5.2. Вероятности переходов для примера прогнозирования погоды
Солнечно

Облачно

Дождь

Солнечно

0.8

0.1

0.1

Облачно

0.2

0.6

0.2

Дождь

0.3

0.3

0.4

Матрица переходов может быть представлена графически с помощью
так называемой диаграммы переходов между состояниями, или прос­то
диаграммы состояний (state diagram). Эта диаграмма представляет собой ориентированный граф, в котором каждый узел – это состояние, а
дуги представляют возможные переходы между состояниями. Если дуга
между состояниями qi и qj не отображена на диаграмме, это означает,
что вероятность соответствующего перехода равна нулю. Пример диаг­
раммы состояний для примера прогнозирования погоды показан на
рис. 5.211.

q1

q2

q3

Рис. 5.2. Диаграмма переходов между состояниями
для примера прогнозирования погоды

При рассмотрении модели марковской цепи естественным образом
возникают три основных вопроса:
• какова вероятность некоторой конкретной последовательности
состояний?
• какова вероятность того, что цепь остается в определенном
состоя­нии в течение некоторого интервала времени?
11

Не следует путать диаграмму состояний, в которой узлы представляют каждое состояние – конкретное значение случайной переменной, – а дуги представляют переходы между состояниями,
с диаграммой графовой модели, в которой узел представляет случайную переменную, а дуги
представляют вероятностные зависимости.

5.2 Марковские цепи  103
• каково ожидаемое время, в течение которого цепь будет оставаться в определенном состоянии?
Немного позже мы узнаем, как можно ответить на эти вопросы, и рассмотрим объяснение ответов на примере прогнозирования погоды.
Вероятность последовательности состояний с учетом выбранной модели в общем случае равна произведению вероятностей переходов в
этой последовательности состояний:


P(qi, qj, qk, …) = a0i aij ajk …,

(5.1)

где a0i – переход в начальное состояние рассматриваемой последовательности, который мог бы быть его априорной вероятностью (πi), или
переход из предыдущего состояния (если оно известно).
Например, в модели прогнозирования погоды может потребоваться
знание вероятности следующей последовательности состояний: Q = солнечно, солнечно, дождь, дождь, солнечно, облачно, солнечно. Предположим,
что солнечно – это начальное состояние в марковской цепи, тогда:
P(Q) = π1a11a13a33a31a12a21 = (0.2)(0.8)(0.1)(0.4)(0.3)(0.1)(0.2)
= 3.84 × 10–5.
Вероятность того, что модель в течение d интервалов времени остается в некотором конкретном состоянии qi, равна вероятности для последовательности в этом состоянии в течение d – 1 интервалов времени
с последующим переходом в некоторое другое состояние. Таким образом:


P(di) = aiid–1(1 – aii).

(5.2)

Если рассматривать модель прогнозирования погоды, то какова вероятность трех облачных дней (подряд)? Эту вероятность можно вычислить следующим образом:


P(d2 = 3) = a222(1 – a22) = 0.62(1 – 0.6) = 0.144.

Средняя продолжительность нахождения последовательности в
определенном состоянии – это ожидаемое значение количества фаз в
этом состоянии, т. е. E(D) = ∑ di P(di). Подставив формулу 5.2, получим:
i


E(di) =�diaiid–1(1 – aii).
(5.3)
i

Эту формулу можно записать в компактной форме следующим образом:


E(di) = 1 / (1 – aii).

(5.4)

104

 Глава 5. Скрытые марковские модели

Например, сколько ожидается дней, в течение которых погода будет
оставаться облачной? Воспользуемся формулой 5.4:


E(d2) = 1 / (1 – a22) = 1 / (1 – 0.6) = 2.5.

5.2.1 Оценка параметров
Еще один важный вопрос – как определить параметры модели –
известен как задача оценки параметров (parameter estimation). Для
марковской цепи параметры могут оцениваться простым подсчетом
количества нахождений рассматриваемой последовательности в определенном состоянии i и количества переходов из состояния i в состояние j. Предположим, что существует N последовательностей по наблюдениям. �0i – количество случаев, когда состояние i является начальным
состоянием в последовательности, 𝛾i – количество наблюдаемых состоя­
ний i, 𝛾ij – количество наблюдаемых переходов из состояния i в состояние j. Параметры могут быть оценены по следующим формулам.
Исходные вероятности:


πi = 𝛾0i / N.

(5.5)

aij = 𝛾ij / 𝛾i.

(5.6)

Вероятности переходов (между состояниями):


Следует отметить, что для самого последнего состояния в последовательности не наблюдается следующее состояние, поэтому самое последнее состояние для всех последовательностей не включается в расчеты.
Например, пусть в примере прогнозирования погоды имеются
следую­щие четыре наблюдаемые последовательности (q1 = солнечно,
q2 = облачно, q3 = дождь):
q2, q2, q3, q3, q3, q3, q1
q1, q3, q2, q3, q3, q3, q3
q3, q3, q2, q2
q2, q1, q2, q2, q1, q3, q1






С учетом этих четырех последовательностей соответствующие параметры можно оценить так, как показано в табл. 5.3 и 5.4.
Таблица 5.3. Вычисленные априорные вероятности для примера прогнозирования
погоды
Солнечно

Облачно

Дождь

0.25

0.5

0.25

5.2 Марковские цепи  105
Таблица 5.4. Вычисленные вероятности переходов для примера прогнозирования
погоды
Солнечно

Облачно

Дождь

Солнечно

0

0.33

0.67

Облачно

0.285

0.43

0.285

Дождь

0.18

0.18

0.64

5.2.2 Сходимость
Возникает еще один важный вопрос: если в последовательности наблюдается большое количество переходов M из одного состояния в другое, то какова вероятность в предельном случае (когда M → ∞) для каждого состояния qi?
С учетом начального вектора вероятностей Π и матрицы переходов A вероятность каждого состояния P = {p1, p2, …, pn} после M итераций равна:


P = πAM.

(5.7)

Что происходит, когда M → ∞? Ответ (решение) дает теорема Фробениуса–Перрона (Perron-Frobenius), которая утверждает, что при выполнении следующих двух условий:
1) несократимость: для каждого состояния i существует вероятность
aij > 0 перехода в другое состояние j;
2) непериодичность: в цепи не образуются циклы (подмножество
состояний, в которых цепь остается непосредственно после перехода в одно из этих состояний).
Тогда при M → ∞ цепь сходится к инвариантному распределению P,
такому, что P × A = P, где A – матрица вероятности переходов. Коэффициент сходимости определяется по второму собственному значению
(eigenvalue) матрицы A.
Например, рассмотрим марковскую цепь с тремя состояниями и
следующей матрицей вероятностей переходов между этими состояниями:




0.9 0.075 0.025
A = 0.15 0.8
0.05
0.25 0.25 0.5

Можно показать, что в этом случае устойчивые вероятности сходятся
к P = {0.625, 0.3125, 0.0625}.

106

 Глава 5. Скрытые марковские модели

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

5.3 Скрытые марковские модели
Скрытая марковская модель (Hidden Markov model – HMM) – это марковская цепь, в которой состояния не являются непосредственно
наблю­даемыми. Если снова обратиться к примеру прогнозирования
погоды, то погоду невозможно «измерить» напрямую, в действительности погода оценивается на основе последовательности сенсорных
(воспри­нимаемых) показателей – температуры, давления, скорости
вет­ра и т. п. Поэтому, как и во многих других явлениях, когда состояния
не являются непосредственно наблюдаемыми, скрытые марковские
модели предоставляют более подходящий и более мощный инструмент
моделирования. Кроме того, можно объяснить скрытую марковскую
модель как двойной стохастический (случайный) процесс: (i) скрытый
стохастичес­кий процесс, который мы не можем наблюдать напрямую,
(ii) второй стохастический процесс, который создает последовательность наблюдений с учетом первого процесса.
Например, предположим, что имеются две «неправильные» или
несим­метричные монеты M1 и M2. Для монеты M1 более высока веро­
ятность выпадения орлов (heads), а для монеты M2 более высока
вероятность выпадения решек (tails). Некто последовательно подбрасывает эти две монеты, но неизвестно, какая именно монета выбрана в каждом конкретном случае. Можно наблюдать только результаты
бросков – орлы или решки:
О, Р, Р, О, Р, О, О, О, Р, О, Р, О, Р, Р, Р, О, Р, О, О, …
Предположим, что игрок, бросающий монеты, сам выбирает первую
монету в последовательности (априорные вероятности), а следую­
щую монету для броска выбирает с учетом предыдущего результата
(вероят­ности переходов) с равной вероятностью. Кроме априорных
вероятностей и вероятностей переходов для состояний (как и в марковской цепи), в скрытой марковской модели необходимо определить
вероятности наблюдений (observation probabilities), в рассматриваемом здесь случае это вероятности выпадения орлов и решек с учетом
каждой монеты (конкретного состояния). Предположим, что для монеты M1 вероятность выпадения орлов равна 80 %, а для монеты M2 вероятность выпадения решек равна 80 %. Далее для этого простого примера определены все требуемые параметры, объединенные в табл. 5.5,
5.6 и 5.7.

5.3 Скрытые марковские модели  107
Таблица 5.5. Априорные вероятности (Π)
для примера с несимметричными монетами
Π=

M1

M2

0.5 0.5

Таблица 5.6. Вероятности переходов (A)
для примера с несимметричными монетами
A=

M1

M2

M1

0.5

0.5

M2

0.5

0.5

Таблица 5.7. Вероятности наблюдений (B)
для примера с несимметричными монетами
B=

M1

M2

M1

0.8

0.2

M2

0.2

0.8

Диаграмма состояний для примера с несимметричными монетами
изображена на рис. 5.3 с двумя переменными состояния и двумя возможными наблюдениями, которые зависят от состояния.
q1

q2

H

T

Рис. 5.3. Диаграмма состояния для скрытой марковской модели в примере
с несимметричными монетами. Показаны два состояния q1 и q2
и два наблюдения H (орел) и T (решка) с дугами,
представляющими переходы и вероятности наблюдений

Формально скрытая марковская модель определяется следующим
образом:





множество состояний: Q = {q1, q2, …, qn};
множество наблюдений: O = {o1, o2, …, om};
вектор априорных вероятностей: Π = {π1, π2, …, πn}, где πi = P(S0 = qi);
матрица вероятностей переходов: A = {aij}, i = [1..n], j = [1..n],
где aij = P(St = qj | St–1 = qi);

108

 Глава 5. Скрытые марковские модели

• матрица вероятностей наблюдений: B = {bij}, i = [1..n], j = [1..m],
где bik = P(Ot = ok | St = qi).
Здесь n – количество состояний, m – количество наблюдений, S0 – начальное состояние.
Скрытую марковскую модель можно представить в компактной форме: 𝜆 = {A, B, Π}.
Скрытая марковская модель (первого порядка) обладает следующими свойствами:
• марковское свойство:
P(St = qj | St-1 = qi, St–2 = qk, …) = P(St = qj | St–1 = qi);
• стационарный (устойчивый) процесс:
P(St-1 = qj | St–2 = qi) = P(St = qj | St–1 = qi) и
P(Ot–1 = ok | St–1 = qj) = P(Ot = ok | St = qi), ∀(t);
• независимость от наблюдений:
P(Ot = ok | St = qi, St–1 = qj, …) = P(Ot = ok | St = qi).
Как и для марковской цепи, марковское свойство подразумевает, что
вероятность текущего состояния зависит только от предыдущего состоя­
ния и не зависит от остальной (предыдущей) хронологии состояний.
Второе свойство означает, что вероятности переходов и наблюдений
не изменяются со временем, т. е. процесс стационарный (устойчивый).
Третье свойство определяет, что наблюдения зависят только от текущего состояния. Существуют расширения базовой скрытой марковской
модели, которые смягчают некоторые из этих положений. Некоторые
расширения скрытой марковской модели будут рассматриваться в следующем разделе и в следующих главах.
С учетом описанных выше свойств графовая скрытая марковская модель показана на рис. 5.4. Эта модель содержит две последовательности
случайных переменных: состояние в момент времени t St и наблюдение
в момент времени t Qt.
St

St+1

St+2

Ot

Ot+1

Ot+2

Рис. 5.4. Скрытая марковская модель, представленная в виде графа

С учетом представления конкретной предметной области в форме
скрытой марковской модели возникают три основных вопроса (задачи), которые важны в большинстве приложений [7]:

5.3 Скрытые марковские модели  109
1) вычисление оценки: в рассматриваемой модели необходимо определить оценку вероятности последовательности наблюдений;
2) оптимальная последовательность: с учетом модели и конкретной
последовательности наблюдений необходимо определить оценку
наиболее вероятной последовательности состояний, которая создает эти наблюдения;
3) обучение параметров: с учетом количества последовательностей
наблюдений необходимо отрегулировать (обучить) параметры
модели.
Алгоритмы решения этих вопросов (задач) с предположением, что
используется стандартная скрытая марковская модель с конечным числом состояний и наблюдений, рассматриваются в следующих разделах.

5.3.1 Вычисление оценки
Вычисление оценки заключается в определении вероятности последовательности наблюдений O = {o1, o2, o3, …} с учетом модели 𝜆, т. е. в
оценке вероятности P(O | 𝜆). Мы рассматриваем два метода. Сначала будет представлен прямой метод, простейший (naive) алгоритм, который
стал причиной разработки более эффективного метода, который будет
описан позже.

5.3.1.1 Прямой метод
Последовательность наблюдений O = {o1, o2, o3, …, oT} можно сгенерировать по различным последовательностям состояний Qi, так как состояния неизвестны для скрытых марковских моделей. Таким образом,
для вычисления вероятности последовательности наблюдений можно
вычислить ее оценку для конкретной последовательности состояний,
а затем прибавить вероятности для всех возможных последовательностей состояний:



P(O | 𝜆) = �P(O, Qi | 𝜆).

(5.8)

i

Чтобы получить P(O, Qi | 𝜆), нужно просто умножить вероятность начального состояния q1 на вероятности переходов для последовательности состояний q1, q2,… и вероятности наблюдений для последовательности наблюдений o1, o2,…:


P(O, Qi | 𝜆) = π1b1(o1)a12b2(o2)…a(T–1)T bT (oT).

(5.9)

Таким образом, вероятность O с учетом суммирования всех возможных последовательностей состояний Q равна:

110

 Глава 5. Скрытые марковские модели




P(O | 𝜆) = �π1b1(o1)a12b2(o2)…a(T–1)T bT (oT).

(5.10)

Q

Для модели с N состояниями и длиной (последовательности) наблюдений T существует NT возможных последовательностей состояний.
Каждый член в выражении суммирования требует выполнения 2T операций. В результате для вычисления оценки требуется количество операций порядка 2T × NT.
Например, если рассматривается модель с пятью состояниями N = 5 и
с длиной последовательности наблюдений T = 100 – это обычные параметры для приложений скрытых марковских моделей, – то количество
требуемых операций будет иметь порядок 1072. Очевидно, что необходим более эффективный метод.

5.3.1.2 Итеративный метод
Основная идея итеративного метода, также известного как алгоритм
Forward, заключается в определении оценки вероятностей состояний/
наблюдений для каждого интервала времени. То есть вычисляется
вероят­ность частичной последовательности наблюдений до времени t
(начиная с момента времени t = 1), и на основе этого неполного (промежуточного) результата вычисляется вероятность последовательности
наблюдений для времени t + 1 и т. д.
Сначала необходимо определить вспомогательную переменную, обозначенную как forward:
�t(i) = P(o1, o2, …, ot, St = qi | 𝜆).

(5.11)

Это вероятность частичной последовательности наблюдений до момента времени t, находящаяся в состоянии qi в момент времени t.
Итеративный алгоритм состоит из трех основных частей: инициализация, индукция и завершение. На этапе инициализации определяются переменные � для всех состояний в начальный момент времени. На
этапе индукции вычисляются значения �t+1(i) по значениям �t(i). Эти
вычисления повторяются от t = 2 до t = T. Наконец, на этапе завершения
вычисляется значение P(O | �) путем суммирования всех значений �T.
Полная процедура показана в алгоритме 5.1.
Алгоритм 5.1. Алгоритм Forward
Требования: Скрытая марковская модель 𝜆; Последовательность наблюдений O; Количество состояний N; Количество наблюдений T
for i = 1 to N do
�1(i) = P(o1, S1 = qi) = πibi(O1)
(Инициализация)
end for
for t = 2 to T do

5.3 Скрытые марковские модели  111
for j = 1 to N do
�t(j) = [∑i�t–1(i)aij]bj(Ot)
end for
end for
P(O) = ∑i�T(i)
(Завершение)
return P(O)

(Индукция)

Теперь проанализируем сложность по времени этого итеративного
метода. На каждой итерации требуется (приблизительно) N операций
умножения и N операций сложения, так что для T итераций количество
операций будет иметь порядок N2 × T. Таким образом, сложность по времени от экспоненциальной по T для прямого метода снизилась до линейной по T и квадратичной по N для итеративного метода. Это сущест­
венное уменьшение сложности. Следует отметить, что в большинстве
приложений T >> N.
Если вернуться к примеру с N = 5 и T = 100, то теперь количество операций приблизительно равно 2500, т. е. эти операции можно выполнить
за несколько миллисекунд на стандартном персональном компьютере.
Описанная выше итеративная процедура является основой для решения двух других задач, существующих в скрытых марковских моделях. Эти решения будут рассмотрены в следующих разделах.

5.3.2 Оценка состояния
Поиск наиболее вероятной последовательности состояний для некоторой последовательности наблюдений O = {o1, o2, o3,…} можно интерпретировать двумя способами:
• получение наиболее вероятного состояния St в каждом интервале
времени t;
• получение наиболее вероятной последовательности состояний s0,
s1, …, sT.
Следует отметить, что объединение наиболее вероятных состояний
для каждого момента (интервала) времени при t = 1…T не обязательно совпадает с наиболее вероятной последовательностью состояний12.
Сначала решается задача поиска наиболее вероятного или оптимального состояния для конкретного момента времени t, затем задача поиска оптимальной последовательности состояний.
В первую очередь необходимо определить несколько дополнительных вспомогательных переменных. Переменная backward аналогична
переменной forward, но в данном случае мы начинаем с конца последо12

Это частный случай задачи MPE (Most Probable Explanation – наиболее вероятное объяснение),
которая будет рассматриваться в главе 7.

112

 Глава 5. Скрытые марковские модели

вательности, т. е.
𝛽t(i) = P(ot+1, ot+2, …, oT, St = qi | �).

(5.12)

𝛽t(i) = �𝛽t+1(j)aijbj(ot).

(5.13)

P(O, st = qi | 𝜆 ) = �t(i)𝛽t(i).

(5.14)

P(O | �) = ��t(i)𝛽t(i).

(5.15)

�t(i) = P(st = qi | O, �) = P(st = qi, O | �) / P(O).

(5.16)

�t(i) = �t(i)𝛽t(i) / ��t(i)𝛽t(i).

(5.17)

MPS(t) = ArgMaxi �t(i).

(5.18)

Это вероятность частичной последовательности наблюдений от t + 1
до T, при нахождении в состоянии qi в момент времени t. Тем же способом, что и для �, можно выполнить итеративные вычисления, но теперь
в обратном направлении:


j

Переменные 𝛽 для момента времени T определяются как 𝛽T(j) = 1.
Таким образом можно решить и задачу вычисления оценки из преды­
дущего раздела, используя 𝛽 вместо �, начиная с конца последовательности наблюдений и выполняя итерации обратно по времени. Или
можно объединить обе переменные и выполнять итерации в прямом
и обратном направлениях, встретившись в некоторый промежуточный
момент времени t, т. е.:

Тогда:



i

Теперь определим дополнительную переменную � – это условная
вероят­ность нахождения в определенном состоянии qi с учетом последовательности наблюдений:


Эту формулу можно записать с использованием переменных � и 𝛽 в
следующем виде:


i

Эта переменная � дает решение первой подзадачи о нахождении
наиболее вероятного состояния (MPS – most probable state) в момент
времени t: необходимо просто определить, для какого состояния эта
переменная принимает максимальное значение, т. е.


Теперь решим вторую подзадачу – нахождение наиболее вероятной
последовательности состояний Q с учетом последовательности наблю-

5.3 Скрытые марковские модели  113
дений O, такой, что требуется максимизация P(Q | O, �). По правилу
Байе­са: P(Q | O, �) = P(Q, O | �) / P(O). Учитывая, что P(O) не зависит от Q,
это равнозначно максимизации P(Q, O | �).
Метод получения оптимальной последовательности состояний извес­
тен как алгоритм Витерби (Viterbi), который, как и алгоритм Forward,
решает задачу итеративно. Прежде чем подробно рассматривать сам
алгоритм, необходимо определить дополнительную переменную �.
Эта переменная дает максимальное значение вероятности частичной
после­довательности состояний и наблюдений до момента времени t
при нахождении в состоянии qi в момент времени t, т. е.
𝛿t(i) = MAX�P(s1, s2, …, st = qi, o1, o2, …, ot | �)�.

(5.19)

�t+1(i) = �MAX �t(i)aij�bj(ot+1).

(5.20)

Это значение также можно получить итеративным способом:

Алгоритм Витерби требует выполнения четырех этапов: инициализация, рекурсия, завершение и обратный проход (поиск с возвратом).
Для алгоритма Витерби требуется дополнительная переменная �t(i), в
которой для каждого состояния i в каждый момент времени t хранится
предыдущее состояние, для которого была определена максимальная
вероятность. Эта переменная используется для восстановления последовательности при обратном проходе после этапа завершения. Полная
процедура показана в алгоритме 5.2.
С помощью алгоритма Витерби можно получить наиболее вероятную
последовательность состояний, даже если они невидимы для скрытых
марковских моделей.
Алгоритм 5.2. Алгоритм Витерби
Требования: Скрытая марковская модель �; Последовательность наблюдений O; Количество состояний N; Количество наблюдений T
for i = 1 to N do
(Инициализация)
�1(i) = πibi(O1)
�1(i) = 0
end for
for t = 2 to T do
for j = 1 to N do
(Рекурсия)
�t(j) = MAXi[�t–1(i)aij]bj(Ot)
�t(j) = ARGMAXi[�t–1(i)aij]
end for
end for
(Завершение)

114

 Глава 5. Скрытые марковские модели

P* = MAXi[�T(i)]
qT* = ARGMAXi[�T(i)]
for t = T to 2 do
(Обратный проход)
q*t–1 = �t(qt*)
end for

5.3.3 Обучение
В этом разделе мы рассмотрим, как можно обучить скрытую марковскую модель по имеющимся данным с использованием алгоритма Бау­
ма–Велша (Baum-Welch). Необходимое предварительное замечание:
этот метод предполагает, что структура модели известна: предварительно определено количество состояний и наблюдений, следовательно, метод оценивает только параметры. Обычно наблюдения определяются предметной областью приложения, но количество состояний,
которые скрыты, не так-то просто определить. Иногда количество скрытых состояний можно определить на основе знаний предметной облас­
ти, иногда это делается экспериментально, методом проб и ошибок:
тестируется производительность модели с различными количествами
состоя­ний (2, 3, …), и выбирается то количество, при котором получены наилучшие результаты. Следует отметить, что при таком выборе
неизбежен определенный компромисс, так как увеличение количества
состояний дает более точные результаты, но увеличивает сложность вычислений.
Алгоритм Баума–Велша определяет параметры скрытой марковской
модели � = A, B, Π с учетом количества последовательностей наблюдений O = O1, O2, …, OK. Для этогоалгоритм максимизирует вероятность
модели с учетом наблюдений: P(O | �). Для скрытой марковской модели
с N состояниями и M наблюдениями необходимо оценить N + N2 + N × M
параметров для Π, A и B соответственно.
Нужно определить еще одну вспомогательную переменную � – вероятность перехода из состояния i в момент времени t в состояние j в
момент времени t + 1 с учетом последовательности наблюдений O:
�t(i, j) = P(st = qi, st+1 = qj | O, �) = P(st = qi, st+1 = qj, O | �) / P(O).

(5.21)

Эту формулу можно записать с использованием переменных � и 𝛽:
�t(i, j) = �t(i)aijbj(ot+1)𝛽t+1(j) / P(O).

(5.22)

Выражение P(O) также можно записать с использованием переменных � и 𝛽:

5.3 Скрытые марковские модели  115
�t(i, j) = �t(i)aijbj(ot+1)𝛽t+1(j) / ���t(i)aijbj(ot+1)𝛽t+1(j).
i

(5.23)

j

Формулу для переменной � еще можно записать с применением переменной �: �t(i) = ∑j �t(i, j).
Добавляя �t(i) для всех моментов (интервалов) времени, т. е. ∑t �t(i),
получаем оценку количества случаев, когда цепь находилась в состоя­
нии i, а при накопительном суммировании �t(i, j) по времени t, т. е.
∑t �t(i, j), оценивается количество переходов из состояния i в состояние j.
На основании всех приведенных выше определений процедура Баума–Велша для оценки параметров скрытых марковских моделей обобщена в алгоритме 5.3.
Алгоритм 5.3. Алгоритм Баума–Велша
1. Оценка априорных вероятностей – количество случаев нахождения
в состоянии i в момент времени t.
πi = �1(i)

2. Оценка вероятностей переходов – количество переходов из состоя­
ния i в состояние j по отношению к количеству случаев нахождения
в состоя­
нии i.
aij = ∑�t(i, j) / ∑�t(j)
t

t

3. Оценка вероятностей наблюдений – количество случаев нахождения
в состоянии j при количестве наблюдений k по отношению к коли­
честву случаев нахождения в состоянии j.
bjk = ∑�t(j) / ∑�t(j)
t,O=k

t

Следует отметить, что вычисление переменных � и � выполняется с
использованием переменных � и 𝛽, для которых требуются параметры
скрытой марковской модели Π, A, B. Здесь возникает проблема «курицы
и яйца» – необходимы параметры модели для алгоритма Баума–Велша,
который оценивает параметры этой модели. Решение данной проблемы
основано на принципе EM (expectation-maximization – EM-алгоритм).
Принцип (алгоритм) EM состоит в том, чтобы начать с некоторых
исходных параметров для модели (E-этап), т. е. � = {A, B, Π}, которые
можно инициализировать случайным образом или на основе каких-либо знаний предметной области. Затем по алгоритму Баума–Велша эти
параметры переоцениваются (M-этап). Цикл повторяется, пока не будет обеспечена сходимость, т. е. до тех пор, пока различия между пара-

116

 Глава 5. Скрытые марковские модели

метрами модели на последней и предшествующей итерациях не станут
меньше определенного порогового значения.
EM-алгоритм предоставляет так называемый механизм оценки
макси­мального правдоподобия (maximum-likelihood estimator), который
не гарантирует получения оптимального решения – это зависит от начальных условий. Тем не менее механизм оценки максимального правдоподобия на практике обычно работает вполне приемлемо13.

5.3.4 Расширения
Несколько расширений стандартных скрытых марковских моделей
были предложены для устранения конкретных проблем в отдельных
приложениях [2]. В этом разделе будут кратко описаны некоторые из
этих расширений, графовые модели которых изображены на рис. 5.5.
в)

SS1

S1S+1

OS1

O1S+1

St

SS2

S2S+1

Ot

OS2

O2S+1

SS

SS+1

б)

а)
St

θ

Ot

д)

е)

SS1

S1S+1

OS1

O1S+1

SS2

OS2

ж)

г)
It

St

Ot

з)
US

US+1

OS

OS+1

SS

SS+1

S2S+1

SS

SS+1

LS

LS+1

DS

DS+1

O2S+1

OS

OS+1

YS

YS+1

OS

OS+1

Рис. 5.5. Представление графовых моделей для стандартной скрытой марковской
модели (СММ) и нескольких ее расширений: а) стандартная (базовая) модель,
б) параметрические СММ, в) связные СММ, г) СММ ввода-вывода,
д) параллельные СММ, е) иерархические СММ, ж) динамические байесовские
сети со смешанным состоянием, з) скрытые полумарковские модели

Параметрические скрытые марковские модели (ПСММ) представляют
предметные области, в которых предполагается использование несколь13

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

5.3 Скрытые марковские модели  117
ких вариаций скрытых марковских моделей. В параметрических скрытых марковских моделях переменные наблюдений обусловлены переменной состояния и одним или несколькими параметрами, значимыми
для таких переменных (см. рис. 5.5б). Значения параметров известны и
постоянны на этапе тренировочного обучения. На этапе тести­рования
значения, которые максимизируют правдоподобие ПСММ, восстанавливаются (корректируются) с помощью адаптированного EM-алгоритма.
Связные скрытые марковские модели (ССММ) объединяют скрытые
марковские модели, вводя условные зависимости между переменными
состояния (см. рис. 5.5в). Эти модели вполне подходят для представления взаимовлияний между подпроцессами, которые протекают параллельно.
Скрытые марковские модели ввода-вывода (СММВВ) рассматривают
специальный добавочный входной параметр, который воздействует
на состояния марковской цепи и дополнительно (но не обязательно)
на переменные наблюдения. Эти типы моделей показаны на рис. 5.5г.
Входная переменная соответствует наблюдениям. Выходным сигналом
СММВВ является класс моделей (например, фонема при распознавании речи или конкретное движение при распознавании жестов), которые должны выполняться. Отдельная СММВВ может описывать полное
множество классов.
Параллельные скрытые марковские модели (ПарСММ) требуют меньше СММ, чем связные СММ для сложных составных процессов с предпо­
ложением о взаимной независимости между СММ (см. рис. 5.5д). Основной принцип заключается в создании независимых скрытых марковских
моделей для двух (и более) независимых параллельных процессов (например, для возможных движений каждой руки при распознавании жестов) и объединении их с помощью умножения их отдельных собственных
правдоподобий. Параллельные скрытые марковские модели с наиболее
вероятным совместным правдоподобием определяют требуемый класс.
Иерархические скрытые марковские модели (ИСММ) создают многослойную структуру скрытых марковских моделей на различных уровнях абстракции (см. рис. 5.5е). В двухуровневых иерархических скрытых марковских моделях нижний уровень – это множество скрытых
марковских моделей, которое представляет последовательность подмоделей. Верхний уровень – это марковская цепь, которая управляет
динамикой этих подмоделей. Разделение на уровни позволяет повторно использовать стандартные скрытые марковские модели, просто заменяя верхние уровни.
Динамические байесовские сети со смешанным состоянием (ДБССС)14
объединяют дискретные и непрерывные пространства состояний в
14

Скрытые марковские модели, включая их расширения, являются частными типами динамических байесовских сетей, более обобщенная модель которых описана в главе 9.

118

 Глава 5. Скрытые марковские модели

двух­уровневую структуру. Динамические байесовские сети со смешанным состоянием состоят из скрытой марковской модели на верхнем
уровне и линейной динамической системы (ЛДС) на нижнем уровне.
Линейная динамическая система используется для моделирования
пере­ходов между действительно-значными (или вещественно-значными) состоя­ниями. Выходные значения скрытой марковской модели
управляют этой линейной системой. Графовое представление ДБССС
показано на рис. 5.5ж. В ДБССС скрытые марковские модели могут
описы­вать дискретные концепции высокого уровня, такие как грамматика, тогда как линейная динамическая система описывает входные
сигналы в пространстве непрерывных состояний.
Скрытые полумарковские модели (СПММ) используют временные
знания, относящиеся к текущему процессу, определяя явную продолжительность каждого состояния (см. рис. 5.5з). Скрытые полумарковские
модели вполне пригодны для того, чтобы избежать экспоненциального убывания вероятностей наблюдений при моделировании больших
после­довательностей наблюдений.

5.4 Приложения
В этом разделе рассматриваются приложения марковских цепей и
скрытых марковских моделей в двух предметных областях. Сначала описывается использование марковских цепей для упорядочения
веб-страниц с помощью алгоритма PageRank. Затем будет представлено применение скрытой марковской модели для распознавания жес­
тов.

5.4.1 Алгоритм PageRank
Всемирную сеть WWW (World Wide Web) можно мысленно представить как весьма большую марковскую цепь, такую, что каждая веб-страница является состоянием, а гиперссылки между веб-страницами соответствуют переходам между этими состояниями. Предположим, что
существует N веб-страниц. Любая конкретная веб-страница wi имеет m
исходящих гиперссылок. Если некоторый пользователь находится на
веб-странице wi, то может выбрать здесь любую гиперссылку для пере­
хода на другую веб-страницу. Обоснованное предположение: каждая
исходящая гиперссылка может быть выбрана с равной вероятностью.
Таким образом, вероятность перехода с веб-страницы wi на любую
веб-страницу, на которую указывает одна из существующих гипер­
ссылок, wj равна Aij = 1/m. Для других веб-страниц, на которые нет гиперссылок с текущей веб-страницы, вероятность перехода равна нулю.
При таком подходе в соответствии со структурой WWW можно сформи-

5.4 Приложения  119
ровать матрицу вероятностей переходов A для соответствующей марковской цепи. Диаграмма состояний для небольшого примера с тремя
веб-страницами показана на рис. 5.6.
1

0.5

0.5

0.5
0.5
Рис. 5.6. Небольшой пример для WWW с тремя страницами

С учетом матрицы вероятностей переходов для WWW можно достичь
сходимости вероятностей для каждого состояния (веб-страницы) в соответствии с теоремой Фробениуса–Перрона (Perron-Frobenius) (см. раздел 5.2). Сходимость вероятности для конкретной веб-страницы можно
считать равнозначной вероятности посещения этой веб-страницы некоторым пользователем, произвольно перемещающимся по WWW. Теоре­
тически можно предположить, что веб-страницы с бóльшим количест­
вом входящих гиперссылок с веб-страниц, также содержащих большее
количество входящих гиперссылок, будут иметь более высокую вероятность их посещения.
На основе изложенных выше принципов Л. Пэйдж (L. Page) и др.
разработали алгоритм PageRank, представляющий собой основу для
упорядочения (ранжирования) веб-страниц при выполнении поиска с
помощью сервиса Google [6]. Веб-страницы, извлекаемые с помощью
алгоритма поиска, предъявляются пользователю в соответствии со
сходи­мостью их вероятностей. Здесь основная идея состоит в следующем: более важные веб-страницы, как правило, обладают более высокой сходимостью их вероятности.

5.4.2 Распознавание жестов
Язык жестов весьма важен для общения человека с человеком, поэтому жесты не менее важны для взаимодействия человека с компьютером.
Например, жесты можно использовать для подачи команд обслуживающему роботу. Мы сосредоточимся на динамических жестах кистью
руки, которые представляют собой движения кисти и руки (в целом)
чело­века. Например, на рис. 5.7 показаны некоторые отдельные кадры
с изображением человека, выполняющего жест «стоп».

120

 Глава 5. Скрытые марковские модели

Рис. 5.7. Видеопоследовательность, изображающая человека, выполняющего
жест «стоп» правой рукой. Показаны только некоторые ключевые кадры

Для распознавания жестов весьма эффективным вариантом является скрытая марковская модель [1, 9]. Скрытые марковские модели
хорошо подходят для моделирования последовательных процессов, а
кроме того, надежны и устойчивы к временным вариациям при выполнении динамических жестов. Чтобы появилась возможность применения скрытых марковских моделей для моделирования и распознавания
жестов, необходимо предварительно обработать изображения в видео­
последовательности и извлечь из них набор (множество) признаков.
Эти признаки сформируют множество наблюдений для скрытой марковской модели.
Обработка изображений состоит в обнаружении фигуры человека в
изображении, определении положения его руки (кисти руки) и последующем отслеживании положения кисти руки в последовательности
изображений. В рассматриваемой последовательности изображений
положение кисти руки (определяемое координатами XYZ) извлекается
из каждого изображения. Кроме того, могут быть определены и некоторые другие части тела, такие как голова и торс, которые используются
для получения признаков общего положения тела, как описано ниже.
Другие варианты описания жестов могут быть разделены на следующие группы: а) признаки движения; б) признаки положения тела
(позы); в) признаки положения тела и движения. Признаки движения
описывают движение кисти руки человека в декартовой системе координат XYZ. Признаки положения тела (позы) представляют положение кисти руки по отношению к другим частям тела, таким как голова
и/или торс. Эти признаки движения и положения тела обычно кодируются с помощью конечного числа кодовых слов, которые предоставляют наблю­дения для скрытых марковских моделей. Например, если
рассмат­риваются три значения для описания каждой координаты
движения и два бинарных признака положения тела (например, кисть
руки над головой и т. п.), то в итоге получится m = 3 × 3 × 3 × 2 × 2 = 108
возможных наблюдений. Эти наблюдения определяются для каждого
кадра (или для каждых n кадров) в видеопоследовательности, фиксирующей конкретный жест.
Для распознавания N различных жестов необходимо выполнить тренировочное обучение N скрытых марковских моделей, по одной для

5.4 Приложения  121
каждого жеста. Первый параметр, который необходимо определить, –
количество скрытых состояний для каждой модели. Как уже было отмечено ранее, это может быть множество на основе знаний предметной
области или множество, полученное посредством кросс-валидации по
экспериментально определенной оценке различных количеств состоя­
ний. В варианте с динамическими жестами можно интерпретировать
состояния как представление различных стадий перемещения кисти
руки. Например, жест «стоп» можно определить как состоящий из трех
фаз: перемещение всей руки вверх и вперед, раскрытие ладони и движение всей руки вниз, т. е. подразумеваются три скрытых состояния.
Экспериментальным путем было определено, что использование трех–
пяти состояний обычно дает хорошие результаты.
После определения количества состояний для каждой модели жеста
(количество состояний может быть различным для каждой модели)
определяются параметры с использованием алгоритма Баума–Велша.
Для этого требуется множество M тренировочных последовательностей
для каждого класса жестов, и чем больше элементов выборки данных,
тем лучше. Таким образом, создается N скрытых марковских моделей,
по одной для каждого типа жестов.
Для распознавания признаки извлекаются из видеопоследовательности. Это наблюдения O для N скрытых марковских моделей �i, по одной последовательности наблюдений для каждого типа жестов. Вероятность каждой модели с учетом соответствующей последовательности
наблюдений P(O | �i) вычисляется с использованием алгоритма Forward.
Модель с наибольшей вероятностью �k* выбирается как распознанный
жест. На рис. 5.8 показан процесс распознавания жеста, рассматривающий пять классов жестов.

S1

S2
S1

P1
P2
P3
P4
P5

S3
S2

S1

S3
S2

S1

S3
S2

S1

S3
S2

S3

Рис. 5.8. Распознавание жеста с использованием скрытых марковских моделей.
Признаки, извлекаемые из видеопоследовательности, передаются как наблюдения
в каждую скрытую марковскую модель, по одной последовательности наблюдений
для каждого класса жестов, и вычисляется вероятность каждой модели.
Модель с наибольшей вероятностью определяется как распознанный жест

122

 Глава 5. Скрытые марковские модели

5.5 Материалы для дополнительного чтения
Общее введение в марковские цепи представлено в [4]. Рабинер (Rabiner) [7] предлагает превосходное введение в скрытые марковские модели
и их приложения для распознавания речи. Более общий обзор технологии распознавания речи можно найти в [8]. Обзор нескольких расширений скрытых марковских моделей в приложении к распознаванию
жестов см. в [2]. По ссылке [5] предлагается анализ механизмов поиска
и алгоритма PageRank. Практическое применение скрытых марковских
моделей для распознавания жестов описано в [1, 9]. Программное обес­
печение с открытым исходным кодом для скрытых марковских моделей доступно по ссылке [3].

5.6 Задания и упражнения
1. Для марковской цепи моделирования погоды: а) определить вероятность последовательности состояний: облачно, дождь, солнечно,
солнечно, солнечно, облачно, дождь, дождь; б) определить вероят­
ность последовательности из четырех дождливых дней подряд;
в) определить ожидаемое количество дней, в течение которых будет
непрерывно идти дождь.
2. Для примера с небольшим количеством веб-страниц на рис. 5.6
определить: а) выполнено ли условие сходимости, и если выполнено, то б) определить порядок, в котором эти три веб-страницы будут
представлены пользователю.
3. Рассмотрим пример с несимметричной монетой. С учетом парамет­
ров в табл. 5.5, 5.6, 5.7 определить вероятность следующей последовательности наблюдений: ООРР, используя а) прямой метод; б) алгоритм forward.
4. Для задания 3 определить количество операций для каждого из указанных двух методов.
5. Для задания 3 определить наиболее вероятную последовательность
состояний, используя алгоритм Витерби.
6. Назвать три основных предположения в стандартных скрытых марковских моделях. Выразить их в математической форме.
7. Предположим, что имеются две скрытые марковские модели, которые представляют два явления: ph1 и ph2. Для каждой модели
сущест­вуют два состояния и два наблюдения со следующими параметрами:

Ссылки на источники  123
Модель 1: Π = [0.5, 0.5], A = [0.5, 0.5 | 0.5, 0.5], B = [0.8, 0.2 | 0.2, 0.8];
Модель 2: Π = [0.5, 0.5], A = [0.5, 0.5 | 0.5, 0.5], B = [0.2, 0.8 | 0.8, 0.2].
С учетом следующей последовательности наблюдений: «o1, o1, o2,
о2» – определить наиболее вероятное явление.
8. Необходимо разработать систему распознавания жестов (движений) головой. Имеется система компьютерного зрения, способная распознавать следующие движения головы: (1) вверх, (2) вниз,
(3) влево, (4) вправо, (5) стабильное (неподвижное) положение.
Систе­ма компьютерного зрения выдает соответствующие числовые
значения для каждого типа движений (1–5) каждую секунду. Эти
числа являются входными данными (наблюдениями) для системы
распознавания жестов. Система распознавания жестов должна распознавать четыре класса жестов головой: а) утвердительный жест,
б) отрицательный жест, в) поворот вправо, г) поворот влево. 1) Определить модель, соответствующую этой задаче распо­знавания, в том
числе структуру модели и требуемые параметры. 2) Определить, какие алгоритмы подходят для обучения парамет­ров этой модели и
для распознавания жестов.
9. *** Разработать программу для решения задания 8.
10. *** Для скрытых марковских моделей остается нерешенной задача установления оптимального количества состояний для каждой
модели. Разработать стратегию поиска для определения оптимального количества состояний для каждой модели, используемой в системе распознавания жестов головой, при котором максимизируется коэффициент (правильных) распознаваний. Следует учесть, что
набор данных (экземпляров каждого класса жестов) разделяется на
три подмножества: а) тренировочный набор – для оценки парамет­
ров модели; б) проверочный (валидационный) набор – для сравнения различных моделей; в) тестовый набор – для тестирования
конечных моделей.

Ссылки на источники
1. Aviles, H., Sucar, L. E., Mendoza C. E. Visual recognition of similar gestures. In: 18th International Conference on Pattern Recognition, p. 1100–
1103 (2006).
2. Aviles, H., Sucar, L. E., Mendoza, C. E., Pineda, L. A. A Comparison of dynamic naive Bayesian classifiers and hidden Markov models for gesture
recognition. J. Appl. Res. Technol. 9 (1), 81–102 (2011).

124

 Глава 5. Скрытые марковские модели

3. Kanungo, T. UMDHMM: Hidden Markov Model Toolkit. In: Kornai, A. (ed.)
Extended Finite State Models of Language. Cambridge University Press
(1999). http://www.kanungo.com/software/software.html.
4. Kemeny, J. K., Snell, L. Finite Markov Chains. Van Nostrand, Princeton
(1965).
5. Langville, N., Carl, D., Meyer, C. D. Google’s PageRank and Beyond: The
Science of Search Engine Rankings. Princeton University Press, Princeton
(2012).
6. Page, L., Brin, S., Motwani, R.,Winograd, T. The PageRank Citation Ranking: Bringing Order to the Web. Stanford Digital Libraries Working Paper
(1998).
7. Rabiner, L. E.: A tutorial on hidden Markov models and selected applications in speech recognition. In: Waibel, A., Lee, K. (eds.) Readings in
Speech Recognition, p. 267–296. Morgan Kaufmann, San Francisco (1990).
8. Rabiner, L., Juang, B. H. Fundamentals on Speech Recognition. Prentice-Hall Signal Processing Series, New Jersey (1993).
9. Wilson, A., Bobick, A. Using hidden Markov models to model and recognize gesture under variation. Int. J. Pattern Recognit. Artif. Intell., Spec.
Issue Hidden Markov Models Comput. Vis. 15 (1), 123–160 (2000).

Глава

6

Марковские случайные поля

6.1 Введение
Некоторые процессы, такие как ферромагнитное вещество в магнитном
поле или изображение, можно смоделировать как последовательность
состояний в цепи или в регулярной сетке (решетке). Каждое состояние
может принимать различные значения и с той или иной вероятностью
подвергаться воздействию состояний своих соседей. Такие модели известны как марковские случайные поля (Markov random fields – MRF).
Марковские случайные поля были введены при моделировании
ферромагнитных веществ по методике, известной как модель Изинга (Ising model) [2]. В модели Изинга существуют последовательности
случайных переменных по линии решетки. Каждая случайная переменная представляет диполь, который может находиться в одном из
двух возможных состояний: up(+) или down(−). Состояние каждого
диполя зависит от внешнего поля и от состояния соседних диполей в
линии решетки. Простой пример с четырьмя переменными показан
на рис. 6.1. Конфигурация марковского случайного поля – это присваивание конкретных значений каждой переменной в модели. В примере
модели на рис. 6.1 существует 16 возможных конфигураций: + + + +,
+ + + −, + + − +, …, − − − −.
q1

q2

q3

q4

Рис. 6.1. Пример модели Изинга (марковского случайного поля)
с четырьмя переменными

Марковское случайное поле представлено в форме неориентированной графовой модели, как в приведенном выше примере. Важное

126

 Глава 6. Марковские случайные поля

свойство марковского случайного поля – состояние любой переменной
независимо от всех прочих переменных в модели с учетом соседей этой
переменной в графе. В примере на рис. 6.1 переменная q1 не зависит от
q3 и q4 с учетом q2. Таким образом, P(q1 | q2, q3, q4) = P(q1 | q2).
Главная задача в марковском случайном поле – поиск конфигурации
с максимальной вероятностью. Обычно вероятность конфигурации
зави­сит от совокупности внешних воздействий (например, от воздейст­
вия магнитного поля в модели Изинга) и внутренних воздействий со
стороны соседних узлов. В более общем смысле апостериорная вероятность конфигурации зависит от предварительных знаний или от контекста, а также от данных или от правдоподобия.
Если воспользоваться физической аналогией, то марковское случайное поле можно мысленно представить как последовательность колец
на стержнях, при этом каждое кольцо представляет случайную переменную, а высота кольца на стержне соответствует его состоянию. Кольца
размещены вдоль прямой линии, как показано на рис. 6.2. Каждое кольцо соединено со своими соседями пружиной, представляющей внут­
ренние воздействия, а также соединено с основанием своего стержня
другой пружиной, представляющей внешнее воздействие. Отношение
между постоянными коэффициентами (упругости) пружин определяет
относительный весовой коэффициент между внутренними и внешними воздействиями. Если кольца оставить в свободном состоянии, то их
положение стабилизируется в конфигурации с минимальной энергией,
что соответствует конфигурации с максимальной вероятностью в марковском случайном поле.

Рис. 6.2. Физическая аналогия марковского случайного поля. Кольца стремятся
к конфигурации с минимальной энергией в соответствии с воздействием на них
пружин, соединяющих кольца с основаниями стержней (внешнее воздействие)
и с соседними кольцами (внутреннее воздействие)

Марковские случайные поля, также известные как марковские сети,
формально определяются в следующем разделе.

6.2 Марковские сети  127

6.2 Марковские сети
Случайное поле (random field) – это набор S случайных переменных
F = F1, …, FS, проиндексированных по позициям узлов. Случайные переменные могут быть дискретными или непрерывными. В дискретном
случайном поле случайная переменная может принимать значение f i из
множества m возможных значений или меток L = {l1, l2, .., lm}. В непре­
рывном случайном поле случайная переменная может принимать значения из множества действительных чисел R или из некоторого интервала множества действительных чисел.
Марковское случайное поле, или марковская сеть (Markov network), –
это случайное поле, обладающее свойством локальности, или просто
локальным свойством: переменная Fi независима от всех прочих переменных в этом поле с учетом соседей этой переменной Nei(Fi). Таким
образом:


P(Fi | FC) = P(Fi | Nei(Fi)),

(6.1)

где FC – множество всех случайных переменных в данном поле, за исключением переменной Fi.
В графическом виде марковская сеть представлена в виде неориен­
тированной графовой модели, состоящей из множества случайных
пере­менных V и множества неориентированных ребер E. Эти множест­
ва формируют неориентированный граф, представляющий отношения независимости между случайными переменными в соответствии
со следующим критерием. Подмножество переменных A независимо
от подмножества переменных C с учетом подмножества B, если переменные подмножества B разделяют A и C в рассматриваемом графе. То
есть если узлы подмножества B удаляются из графа, то между A и C не
сущест­вует путей.
На рис. 6.3 показан пример марковской сети с пятью переменными
q1, …, q5. В этом примере подмножество q1, q4 (A) независимо от подмножества q3 (C) с учетом подмножества q2, q5 (B).
Совместная вероятность марковской сети может быть выражена как
произведение локальных функций в подмножествах переменных в рассматриваемой модели. Эти подмножества должны включать как минимум все клики (cliques) в сети. Для марковской сети на рис. 6.3 совместное распределение вероятностей можно записать в следующем виде:
P(q1, q2, q3, q4, q5) = (1/k)P(q1, q4, q5)P(q1, q2, q5)P(q2, q3, q5),

(6.2)

где k – постоянный коэффициент нормализации. По соображениям
практического удобства другие подмножества переменных также могут
рассматриваться при вычислении совместного распределения вероятностей. Если включить в вычисление еще и подмножества с размером

128

 Глава 6. Марковские случайные поля

два, то формулу для вычисления совместного распределения из предыдущего примера можно записать так:
P(q1, q2, q3, q4, q5) = (1/k)P(q1, q4, q5)P(q1, q2, q5)P(q2, q3, q5)
P(q1, q2)P(q1, q4)P(q1, q5)P(q2, q3)P(q2, q5)P(q3, q5)P(q4, q5).
а)

б)

(6.3)

в)

q1

q2

q4

q5

q3

Рис. 6.3. Пример марковской сети, в которой узлы q1, q4
(a) независимы от узла q3 (c) с учетом узлов q2, q5 (b)

Формально марковская сеть представляет собой множество случайных переменных X = X1, X2, …, Xn, проиндексированное по V так, что
G = (V, E) является неориентированным графом, который обладает марковским свойством: переменная Xi не зависит от всех прочих переменных с учетом своих соседей Nei(Xi):


P(Xi | X1, …, Xi-1, Xi+1, …, Xn) = P(Xi | Nei(Xi)).

(6.4)

Соседями переменной являются все переменные, которые напрямую
связаны с ней в рассматриваемом графе. При определенных условиях
(если распределение вероятностей является строго положительным)
совместное распределение вероятностей марковского случайного поля
может быть факторизовано по кликам графа:



P(X) = (1/k)

� 𝜙C(XC),

(6.5)

C∈Cliques(G)

где k – постоянный коэффициент нормализации, а �C – локальная функция от переменных в соответствующей клике C.
Марковское случайное поле может быть регулярным (regular) или нерегулярным (irregular). Если случайные переменные размещены в решетке, то марковское случайное поле считается регулярным, например
случайные переменные могут представлять пикселы в изображении.
Если случайные переменные не размещаются в решетке, то марковское
случайное поле нерегулярно. В дальнейшем мы будем рассматривать
регулярные марковские случайные поля.

6.2 Марковские сети  129

6.2.1 Регулярные марковские случайные поля
Система соседства для регулярного марковского случайного поля F
определяется следующим образом:
V = �Nei (Fi) | ∀i ∈ Fi�.

(6.6)

V обладает следующими свойствами:

1) позиция (местоположение) в поле не является соседом для самой
себя;
2) соседские отношения симметричны, т. е. если Fj ∈ Nei (Fi),
то Fi ∈ Nei (Fj).

Обычно марковское случайное поле организовано в форме регулярной решетки. Пример двумерной решетки показан на рис. 6.4. Для регулярной решетки соседские отношения порядка i определяются так:
Neii(Fi) = �Fj ∈ F | dist(Fi, Fj) � r�,



(6.7)

где dist(x, y) – евклидово расстояние между x и y, а за единицу измерения
принимается расстояние по вертикали и по горизонтали между позициями (узлами) решетки. Радиус r определяется для каждого порядка. Например, r = 1 для порядка один, когда каждый внутренний узел име­ет 4
соседей, r = √2 для порядка два, когда каждый внутренний узел име-­
ет 8 соседей, r = 2 для порядка три, когда каждый внутренний узел
имеет 12 соседей, и т. д. На рис. 6.4 показан пример соседства первого
порядка, а на рис. 6.5 – пример соседства второго порядка.
q1

q2

q3

q1

q2

q3

q4

q5

q6

q4

q5

q6

q7

q8

q9

q7

q8

q9

Рис. 6.4. Регулярное двумерное
марковское случайное поле
с соседством первого порядка

Рис. 6.5. Регулярное двумерное
марковское случайное поле
с соседством второго порядка

После установления структуры марковского случайного поля на основе порядка соседства обязательно должны быть определены его
параметры. Параметры регулярного марковского случайного поля

130

 Глава 6. Марковские случайные поля

определяются множеством локальных функций. Эти функции соот­
ветствуют совместным распределениям вероятностей подмножеств
полностью связанных переменных в графе. Достаточно включить все
клики в рассматриваемом графе, но могут быть включены также и
другие полностью связанные подмножества. Например, в случае марковского случайного поля первого порядка существуют подмножест­
ва из 2 пере­менных, в марковском случайном поле второго порядка
сущест­вуют подмно­жества из 2, 3 и 4 переменных. Вообще говоря, сов­
местное распре­деление вероятностей для всего поля в целом может
быть выражено как произведение локальных функций для различных
подмножеств переменных:
(6.8)

P(F) = (1/k) � f(Xi),

i
где f(Xi) – локальные функции для подмножеств переменных Xi, k –
постоянный коэффициент нормализации. Можно интерпретировать
эти локальные функции как ограничения, с помощью которых будет
отдаваться предпочтение конкретным конфигурациям. Например, в
модели Изинга, если рассматриваются две соседние переменные X, Y,
соот­ветствующая локальная функция отдаст предпочтение (по более
высоким вероятностям) конфигурациям, в которых X = Y, и будет отвергать (по более низким вероятностям) конфигурации, в которых X ≠ Y.
Эти локальные функции можно определить субъективно в зависимости
от предметной области конкретного приложения или обучить локальные функции на имеющихся данных.

6.3 Случайные поля Гиббса
Совместная вероятность марковского случайного поля может быть
выра­жена более удобным способом с учетом его равнозначности случайному полю Гиббса (Gibbs random field) в соответствии с теоремой
Хаммерсли–Клиффорда (Hammersley-Clifford theorem) [4]. С учетом
этой равнозначности можно записать формулу 6.8 следующим образом:


P(F) = (1/z)exp(−U),

(6.9)

где U обозначает энергию (energy) по аналогии с физической энергией. Таким образом, максимизация P(F) равнозначна минимизации U.
Функция энергии также может быть записана в терминах локальных
функций, но поскольку функция энергии – экспоненциальная функция, ее можно представить как сумму этих локальных функций (вместо
произ­ведения):



UF = �Ui (Xi).
i

(6.10)

6.4 Логический вывод  131
При рассмотрении регулярного марковского случайного поля порядка n функцию энергии можно выразить через функции подмножеств
полностью связанных переменных различных размеров 1, 2, 3, …:



UF = �U1(Fi) + �U2(Fi, Fj) + �U3(Fi, Fj, fk) + …,
i

i,j

i,j,k

(6.11)

где Ui – локальные функции энергии, называемые потенциалами
(potentials), для подмножеств с размером i. Следует отметить, что
потен­циалы обратны вероятностям, так что низкие потенциалы равнозначны высоким вероятностям.
С учетом равнозначности случайному полю Гиббса задача поиска
конфигурации с максимальной вероятностью для марковского случайного поля преобразуется в задачу поиска конфигурации с минимальной энергией.
Подводя итог, следует отметить, что для создания марковского случайного поля необходимо определить:
• множество случайных переменных F и их возможные значения L;
• структуру зависимостей или для варианта регулярного марковского случайного поля – схему соседства;
• потенциалы для каждого подмножества полностью связанных узлов (как минимум для клик).

6.4 Логический вывод
Как уже было отмечено выше, более общее практическое применение
марковских случайных полей состоит в поиске наиболее вероятной
конфигурации, т. е. значения для каждой переменной, которое максимизирует совместную вероятность. С учетом равнозначности случайному полю Гиббса это то же самое, что минимизация функции энергии,
выраженной как сумма локальных функций.
Множество всех возможных конфигураций марковского случайного
поля обычно весьма велико, поскольку увеличивается экспоненциально
при возрастании количества переменных в множестве F. Для дискретных
МСП с m возможными метками количество возможных конфигураций
равно mN, где N – количество переменных в поле. Если рассмат­ривается
марковское случайное поле, представляющее бинарное изображение
размером 100×100 пикселов (небольшое изображение), то количество
конфигураций равно 210 000. Таким образом, практически невоз­можно
вычислить энергию (потенциал) для каждой конфигурации, за исключением вариантов с очень маленькими полями.
Поиск наиболее вероятной конфигурации обычно формулируется как
задача стохастического поиска. Сначала выполняется инициализация

132

 Глава 6. Марковские случайные поля

со случайным присваиванием значений каждой переменной в марковском случайном поле, затем эта конфигурация улучшается с помо­щью
локальных операций до тех пор, пока не будет получена конфи­гурация
с минимальной энергией. В общем случае искомый минимум является
локальным минимумом в функции энергии. Обеспечить глобальный
минимум трудно.
Общая процедура стохастического поиска конфигурации с минимальной энергией показана в алгоритме 6.1. После инициализации всех
переменных случайными значениями значение каждой переменной
изменяется, и оценивается новая энергия. Если новая энергия меньше,
чем предыдущая, то значение изменяется, в противном случае значение также может измениться с определенной вероятностью – это дела­
ется для того, чтобы избежать локальных минимумов. Процесс повто­
ряется с определенным количеством итераций (или до достижения
сходимости).
Алгоритм 6.1. Алгоритм стохастического поиска
Требования: марковское случайное поле F, функция энергии UF,
количест­
во итераций N, количество переменных S, пороговое значение
вероятности T, пороговое значение (предел) сходимости �
for i = 1 to S do
F(i) = lk (Инициализация)
end for
for i = 1 to N do
for j = 1 to S do
t = lk+1 (Альтернативное значение для переменной F(i))
if U(t) < U(F(i)) then
F(i) = t (Изменение значения F(i), если энергия больше)
else
if random(U(t) – U(F(i))) < T then
F(i) = t (Изменение значения F(i) с определенной вероятностью,
если энергия больше)
end if
end if
end for
end for
return F* (Возвращается окончательная конфигурация)

Существует несколько вариантов этого обобщенного алгоритма в
зависимости от вариаций различных аспектов. В одном из вариантов
определяется оптимальная конфигурация, для которой существуют
две основные альтернативы: оценка апостериорного максимума (MAP –
Maximum a posteriori probability) и границы апостериорного максимума

6.5 Оценка параметров  133
(MPM – Maximum posterior marginals). При варианте с оценкой апостериорного максимума (MAP) оптимальная конфигурация принимается
как конфигурация в конце итерационного процесса. При варианте с
границами апостериорного максимума (MPM) наиболее частое значение для каждой переменной во всех итерациях принимается как оптимальная конфигурация.
С учетом процесса оптимизации существуют три основные вариации:
1) ICM – iterated conditional modes – итерационные условные режимы: всегда выбирается конфигурация с минимальной энергией;
2) Metropolis: при фиксированной вероятности P выбирается конфигурация с более высокой энергией;
3) SA – simulated annealing – алгоритм имитации отжига: при изменяемой вероятности P(T) выбирается конфигурация с более высокой энергией, здесь T – параметр, известный как температура.
Вероятность выбора значения с более высокой энергией определяется на основе следующей формулы: P(T) = e–�U/T, где �U – разность энергий. Алгоритм начинает работу с большого значения
для T и постепенно уменьшает это значение на каждой итерации. При этом вероятность перехода к состояниям с более высокой энергией изначально велика, и эта вероятность постепенно
уменьшается, стремясь к нулю в конце процесса.

6.5 Оценка параметров
Определение марковского случайного поля включает несколько характеристик:
• структура модели – для регулярного марковского случайного
поля – система (схема) соседства;
• форма функций локального распределения вероятностей – для
каждого полного множества в графе;
• параметры локальных функций.
В некоторых приложениях перечисленные выше характеристики могут быть определены субъективно, но это не всегда просто. Различные
варианты выбора для структуры, распределения и параметров могут
оказывать существенное воздействие на результаты применения модели в конкретных задачах. Таким образом, рекомендуется обучить
модель на данных, которые могут иметь несколько уровней сложности.
В самом простом, но нетривиальном случае известна структура и функциональная форма, поэтому необходимо только оценить параметры с

134

 Глава 6. Марковские случайные поля

учетом чистой реализации (без шума и помех) марковского случайного
поля f. Эта задача усложняется, если данные содержат шум (помехи), и
усложняется в еще большей степени, если необходимо обучить функциональную форму распределения вероятностей и определить порядок
системы соседства. Далее будет рассматриваться простейший случай –
обучение параметров марковского случайного поля на имеющихся
данных.

6.5.1 Оценка параметров с помощью данных с метками
Множество параметров 𝜃 марковского случайного поля F оценивается с помощью данных f, которые предположительно не содержат шума
(помех). С учетом f механизм оценки максимального правдоподобия
(maximum likelihood estimator) максимизирует вероятность этих данных при заданных параметрах P(f | �), следовательно, оптимальные параметры определяются так:


𝜃* = ArgMax𝜃 P(f | 𝜃).

(6.12)

𝜃* = ArgMax𝜃P(𝜃 | f),

(6.13)

P(𝜃 | f) ∼ P(𝜃)P(f | 𝜃).

(6.14)

P(f | 𝜃) = (1/Z)exp(−U(f | 𝜃)),

(6.15)

Z = �exp(−U(f | 𝜃)).

(6.16)

Если априорная вероятность параметров P(𝜃) известна, то можно
применить байесовский метод и максимизировать апостериорную
плотность вероятности, полученную механизмом оценки марковского
случайного поля:

где


Главное затруднение при оценке максимального правдоподобия для
марковского случайного поля заключается в том, что требуется оценка
нормализующей статистической суммы Z в распределении Гиббса, поскольку подразумевается суммирование по всем возможным конфигурациям. Напомним, что функция правдоподобия обусловлена следую­
щим выражением:


где статистическая сумма равна



f∈F

Таким образом, вычисление Z весьма затруднительно даже для марковского случайного поля среднего размера. Поэтому для эффективного решения этой задачи используются аппроксимации.

6.6 Условные случайные поля  135
Одна из возможных аппроксимаций основана на условных вероятностях каждой переменной в поле f i с учетом соседей Ni: P(f i | fN ), и, предi
полагая их взаимную независимость, мы получаем то, что известно как
псевдоправдоподобие (pseudo-likelihood) [1]. Тогда функцию энергии
можно записать так:



U(f) = �Ui (f i, fN ).

(6.17)

Ui (f i, Ni) = V1(f i) + �V2(f i, fj),

(6.18)

i

i

Если предположить, что рассматривается регулярное марковское случайное поле первого порядка и только отдельные узлы и пары узлов, то



j

где V1 и V2 – потенциалы отдельных узлов и пар узлов соответственно,
а fj – соседи f i.
Псевдоправдоподобие (PL – pseudo-likelihood) определяется как прос­
тое произведение условных правдоподобий:




exp(−Ui (f i, fNi))
PL(f) = �P(f i | fN ) = � ———————————.
i
�f exp(−Ui (f i, fNi))
i
i

(6.19)

i

С учетом независимости f i и fN вычисленное по формуле 6.19 псевдо­
i
правдоподобие PL не является истинным правдоподобием, тем не менее доказано, что на большой ограниченной решетке PL сходится к истинному правдоподобию с вероятностью, равной единице [3].
Используя аппроксимацию псевдоправдоподобия и учитывая конкретную структуру и форму локальных функций, можно оценить параметры модели марковского случайного поля на основе имеющихся
данных.
Если предположить дискретность марковского случайного поля
и взять несколько реализаций (экземпляров), то параметры можно
оценить с использованием методики гистограмм. Предположим, что
сущест­вует N различных множеств экземпляров с размером k в наборе
данных, а также что конкретная конфигурация (f i | fN ) встречается H раз,
i
тогда оценка вероятности этойконфигурации равна P(f i | fN ) = H/N.
i

6.6 Условные случайные поля
Недостатком (ограничением) марковских случайных полей (и скрытых
марковских моделей) является тот факт, что обычно предполагается,
что наблюдения независимы с учетом каждой переменной состояния.
Например, в скрытой марковской модели наблюдение Ot условно независимо от всех прочих наблюдений и рассматриваемых состояний St.

136

 Глава 6. Марковские случайные поля

В обычных марковских случайных полях также предполагается, что каж­
дое наблюдение зависит только от одной переменной и условно независимо от других переменных в рассматриваемом поле (см. раздел 6.7).
Существуют приложения, в которых такие предположения о независимости неприемлемы, например присваивание меток словам в предложении на естественном языке, поскольку здесь возможны зависимости
с широким диапазоном воздействия между наблюдениями (словами).
Скрытые марковские модели и обычные марковские случайные поля
являются порождающими (generative) моделями, которые представляют
совместное распределение вероятностей как произведение локальных
функций на основе предположений о независимости. Если эти предположения об условной независимости исключены, то модель становится
практически неуправляемой. Одним из альтернативных вариантов, для
которого не требуются предположения об условной независимости, являются условные случайные поля (conditional random fields) [10, 11].
Условное случайное поле – это неориентированная графовая модель,
глобально обусловленная X – случайной переменной, представляющей
наблюдения [8]. Условные модели используются для присваивания меток последовательности наблюдений X с выбором той последовательности меток Y, которая максимизирует условную вероятность P(Y | X).
Условная сущность таких моделей означает отсутствие трудозатрат на
моделирование наблюдений и полное освобождение от необходимости
формулировать предположения о независимости. В простейшей структуре условного случайного поля узлы, соответствующие элементам
последовательности Y, формируют простую цепь первого порядка, как
показано на рис. 6.6.
Y1

Y2

Y3

Yn–1

Yn



X = X1, …, xn–1, Xn

Рис. 6.6. Графовое представление структуры в форме цепи
для условного случайного поля

Как и для марковских случайных полей, совместное распределение
вероятностей факторизуется по множеству функций потенциалов, где
каждая функция потенциала определяется через множество случайных
переменных, соответствующих вершинам, образующим максимальную
клику графа G, т. е. структуры условного случайного поля. Для условного
случайного поля в форме цепи каждая функция потенциала определяется по парам соседних переменных меток Yi и Yi+1.

6.7 Приложения  137
Функции потенциалов можно определить с помощью функций
призна­ков (feature functions) [8], основанных на признаках с действительными значениями, которые выражают некоторые характеристики
эмпиричес­кого распределения тренировочных обучающих данных. Например, признак может представлять присутствие (1) или отсутствие (0)
слова в текстовой последовательности либо наличие конкретного элемента (грани, текстуры) в изображении. Для модели первого порядка
(такой как цепь) функции потенциалов определяются через функции
признаков полной последовательности наблюдений X и пары соседних
(смежных) меток Yi–1, Yi: U(Yi–1, Yi, X, f).
При рассмотрении цепи первого порядка функцию энергии можно
определить через функцию потенциала отдельной переменной и пару
соседних переменных, как и для марковских случайных полей:



E = ��jtj (Yi–1, Yi, X, f) + �μk(Yi, X, f),
j

(6.20)

k

где �j и μk – параметры, определяющие весовой коэффициент вклада пар переменных (внутреннее воздействие) и отдельных переменных (внешнее воздействие) соответственно. Эти параметры можно
оценить по тренировочным данным. Главное отличие от марковских
случайных полей – в данном случае потенциалы обусловлены полной
последовательностью наблюдений. Определение оценки параметров и
логичес­кий вывод выполняются так же, как и для марковских случайных полей.

6.7 Приложения
Марковские случайные поля применялись в некоторых задачах обработки изображений и компьютерного зрения. Например, марковские
случайные поля используются для сглаживания изображений, восстановления изображений, сегментации, регистрации изображений,
синтеза текстур, повышения разрешения, согласования изображений
стереопары, аннотации изображений и извлечения информации из
изображений. В следующих разделах рассматриваются два приложения: сглаживание изображений и расширенная аннотация изображений.

6.7.1 Сглаживание изображений
Цифровые изображения обычно искажены высокочастотным шумом.
Для снижения уровня шума к изображению можно применить процесс сглаживания (image smoothing). Существует несколько различных
вариан­тов решения этой задачи, один из них – использование марковских случайных полей.

138

 Глава 6. Марковские случайные поля

Можно определить марковское случайное поле, связанное с цифровым изображением, в котором каждый пиксел соответствует случайной
переменной. При использовании марковского случайного поля первого
порядка каждая внутренняя переменная соединена с четырьмя своими
соседями. Кроме того, каждая переменная соединена с переменной наблюдения, содержащей значение, соответствующее пикселу в изображении (см. рис. 6.7).
q1

q2

q3

q4

q5

q6

q7

q8

q9

Рис. 6.7. Пример марковского случайного поля, связанного с изображением.
В верхней части изображено двумерное МСП первого порядка
для изображения 3×3. В нижней части представлены пикселы изображения,
каждый из которых соединен с соответствующей переменной в поле

После формирования структуры марковского случайного поля необ­
ходимо определить локальные функции потенциалов. Свойством
естест­венных изображений в общем случае является определенная
непре­рывность, т. е. соседние пикселы, как правило, имеют похожие
значения. Таким образом, можно предположить ограничение, принуждающее соседние пикселы принимать схожие значения, и штрафовать
(более высоким уровнем энергии) конфигурации, в которых соседи
имеют отличающиеся значения. В то же время для каждой переменной в марковском случайном поле желательно иметь значение, близкое к значению в исходном изображении. При этом также штрафуются
конфи­гурации, в которых переменные принимают значения, сущест­
венно отличающиеся от соответствующих наблюдений. Поэтому реше­
ние должно быть определенным компромиссом между этими двумя типами ограничений: схожестью с соседями и схожестью с наблюдениями.
В рассматриваемом здесь варианте функция энергии может быть выражена как сумма двух типов потенциалов: один связан с парами соседей Uc(f i, fj), другой – для каждой отдельной переменной и соответствую­
щего ей наблюдения Uo(f i, gi). Таким образом, энергия вычисляется как
сумма этих двух типов потенциалов:

6.7 Приложения  139



UF = �Uc(Fi, Fj) + ��Uo(Fi, Gi),

(6.21)

Uc(f i, fj) = (f i – fj)2.

(6.22)

i,j

i

где � – параметр, управляющий степенью важности слагаемых: наблюдений (� > 1) или соседей (� < 1), Gi – переменная наблюдений, связанных с Fi.
В зависимости от требуемого поведения для каждого типа потенциа­
ла можно определить варианты штрафования отличий от соседей или
от наблюдений. Разумным вариантом такой функции является квадрат
разности, т. е. потенциал соседей равен


Потенциал наблюдений равен


Uo(f i, gi) = (f i − gi)2.

(6.23)

При использовании этих потенциалов и с применением алгоритма стохастической оптимизации в результате получается сглаженное
изображение как окончательная конфигурация F. На рис. 6.8 показано
применение сглаживающего марковского случайного поля к цифровому изображению с изменением значения параметра �.

Рис. 6.8. Пример сглаживания изображения с помощью марковского случайного
поля. Слева: исходное изображение. В центре: изображение, обработанное
с параметром � = 1. Справа: изображение, обработанное с параметром � = 0.5.
Можно видеть, что при меньшем значении � в результате получается более
сглаженное изображение

6.7.2 Расширенная аннотация изображений
Автоматическая аннотация изображений – это задача автоматического присваивания аннотаций или меток изображениям либо фрагментам изображений на основе их локальных признаков. Аннотация
изображений часто выполняется автоматическими системами. Это
сложная задача из-за трудности извлечения правильных признаков,
которые позволяют обобщить и выделить требуемый объект среди дру-

140

 Глава 6. Марковские случайные поля

гих объектов, обладающих схожими визуальными свойствами. Ошибочная пометка фрагментов изображений в большинстве случаев является следствием недостаточно точных и правильных характеристик для
классов, определяемых по признакам низкого уровня.
При назначении меток для сегментированного изображения можно включать дополнительную информацию для расширения (и улучшения) аннотации каждого фрагмента этого изображения. Метки для
каждого фрагмента изображения обычно не являются независимыми,
например в изображении животных в джунглях вполне предсказуемо
обнаружение фрагмента неба над животным, деревьев и растений около животного и под ним. Таким образом, пространственные связи между различными фрагментами изображения могут помочь расширить и
улучшить аннотацию [5].
Марковские случайные поля можно использовать для представления
информации о пространственных связях между фрагментами изобра­
жения таким способом, что вероятность обнаружения конкретной
пространственной связи между каждой парой меток могла бы использоваться для назначения наиболее вероятной метки для каждого фрагмента, т. е. для получения наиболее вероятной конфигурации меток
для всего изображения в целом. Таким образом, применяя марковские
случайные поля, можно объединять информацию, предоставляемую
визуальными признаками каждого фрагмента (внешний потенциал), и
инфор­мацию из пространственных связей с другими фрагментами того
же изображения (внутренний потенциал). Объединив обе эти харак­
теристики в функции потенциала и применяя процесс оптимизации,
можно получить конфигурацию меток, которая наилучшим образом
описывает все изображение в целом.
Основные этапы этой процедуры кратко описаны ниже (см. рис. 6.9):
1) изображение автоматически сегментируется (разделяется на
фрагменты с использованием нормализованных разрезов);
2) полученным фрагментам присваивается список меток и соот­
ветствующие вероятности на основе их визуальных признаков с
использованием классификатора;
3) одновременно определяются пространственные связи между
теми же фрагментами;
4) применяется марковское случайное поле, объединяющее первоначальные метки и пространственные связи. В результате фрагментам назначаются новые метки с применением алгоритма
имитации отжига;
5) смежные фрагменты с одинаковыми метками объединяются.

6.7 Приложения  141
3

2a
Автоматическая аннотация
трава 0.6
деревья 0.4

деревья

самолет 0.7
человек 0.3

1
Автоматическая сегментация

небо 0.9
вода 0.1

Проверка связности
и улучшение с использованием
пространственных связей и МСП

деревья 0.8
вода 0.2

небо 0.9
вода 0.1

2b

Определение
пространственных связей

деревья

небо
самолет
небо

4

Улучшенная сегментация с использованием пространственных связей

самолет
деревья
небо

A смежный с B
A справа от B
B не связан с C
C выше A
...

Рис. 6.9. Улучшение качества меток изображения посредством включения
пространственных связей в марковское случайное поле: 1) автоматическое
разделение изображения на фрагменты, 2а) первоначальное назначение меток
для фрагментов, 2б) установление пространственных связей между фрагментами,
3) улучшение качества меток с помощью марковского случайного поля,
4) улучшенное разделение изображения на фрагменты (сегментация) [5]

Функция энергии, которая должна быть минимизирована, объединяет информацию, предоставленную классификаторами (вероятности
меток), с пространственными связями (вероятности связей). На этом
этапе пространственные связи разделяются на три группы: топологические связи, горизонтальные связи и вертикальные связи. Таким образом, функция энергии содержит четыре компоненты, по одной для
каждого типа пространственных связей и еще одна для первоначальных меток. Итоговая формула для функции энергии:
(6.24)

Up(f) = �1VT(f) + �2VH(f) + �3VV(f) + ��Vo(f),
o

где VT – потенциал для топологических связей, VH – потенциал для горизонтальных связей, VV – потенциал для вертикальных связей, �1, �2, �3 –
соответствующие постоянные коэффициенты для придания большего

142

 Глава 6. Марковские случайные поля

или меньшего веса каждому типу связей. Vo – это потенциал классификации (метки), взвешенный с помощью постоянного коэффициента
�. Эти потенциалы можно оценить с помощью набора тренировочных
изображений с метками. Потенциал для конкретного типа пространственных связей между двумя фрагментами классов A и B обратно пропорционален вероятности (частоте) обнаружения этой связи в тренировочном наборе изображений.
Применяя эту методику, можно значительно улучшить качество
назначения меток в изображении по сравнению с первоначальным
вариан­том [6]. В некоторых случаях при использовании информации, предоставляемой новым набором меток, можно также улучшить
качест­во сегментации изображения по сравнению с первоначальным
вариантом, как показано на рис. 6.10.

Рис. 6.10. Пример улучшения качества сегментации изображения
посредством объединения смежных фрагментов с одинаковыми метками.
Слева: первоначальная сегментация изображений.
Справа: улучшенная сегментация изображений [5]

6.8 Материалы для дополнительного чтения
Введение в марковские случайные поля и их приложения приведено
в [7]. Подробное описание применения марковских случайных полей
для обработки изображений представлено в [9]. Общую вводную информацию об условных марковских случайных полях можно найти в
[10, 11].

6.9 Задания и упражнения  143

6.9 Задания и упражнения
1. Для марковской сети на рис. 6.3: а) определить клики в графе;
б) определить совместную вероятность как произведение потенциа­
лов клик; в) предполагая, что все переменные являются бинарными, определить требуемые параметры для этой модели.
2. Для марковского случайного поля первого порядка на рис. 6.4 определить минимальное марковское ограждение для каждой переменной. Марковское ограждение переменной qi – это множество переменных, которые делают ее независимой от остальных переменных
в графе.
3. Решить задачу 2 для марковского случайного поля второго порядка
на рис. 6.5.
4. Для регулярного марковского случайного поля размером 4×4 узла с
соседством первого порядка считать, что каждый узел может принимать одно из двух значений – 0 и 1. Также считать, что используются потенциалы сглаживания, как в приложении сглаживания
изображений, с коэффициентом � = 4, придающим больший вес наблюдениям. С учетом первоначальной конфигурации F и наблюдений G получить конфигурацию оценки апостериорного максимума
(MAP), используя вариант итерационных условных режимов (ICM)
алгоритма стохастической имитации.
0
F: 0
0
0

0
0
0
0

0
0
0
0

0
0
0
0

0
G: 0
0
0

0
1
1
0

0
1
0
1

0
0
0
0

5. Решить задачу 4 с использованием версии Metropolis алгоритма
стохастической имитации с вероятностью P = 0.5. Совет: можно
воспользоваться методикой подбрасывания монеты, для того чтобы решить, сохраняется ли конфигурация с более высокой энергией.
6. Решить задачи 4 и 5 с использованием метода границ апостериорного максимума (MPM) вместо оценки апостериорного максимума
(MAP).

144

 Глава 6. Марковские случайные поля

7. Граница изображения находится там, где происходит резкое изменение значений соседних пикселов (максимум первой производной, если рассматривать изображение как двумерную функцию).
Определить потенциалы для марковского случайного поля первого
порядка, которое выделяет границы изображения, считая, что каждый узел поля является бинарным, где 1 обозначает границу, а 0 –
отсутствие границы. Наблюдением является уровень серого цвета в
изображении, при котором значение каждого пиксела изменяется в
пределах от 0 до 255.
8. Какова сложность по времени алгоритма стохастической имитации
для его различных вариантов?
9. *** Реализовать алгоритм сглаживания изображений с использованием регулярного марковского случайного поля первого порядка.
Изменять параметр � и наблюдать влияние изменений на результат
обработки изображения. Повторить реализацию для марковского
случайного поля второго порядка.
10. *** Написать программу генерации изображения с повышением
разрешения, используя марковские случайные поля. Например,
сгенерировать изображение с удвоением размеров 2n×2m исходного изображения n×m.

Ссылки на источники
1. Besag, J. Statistical analysis of non-lattice data. Statistician 24 (3), 179–
195 (1975).
2. Binder, K. Ising Model. Hazewinkel, Michiel, Encyclopedia of Mathematics. Springer, New York (2001).
3. Geman, D., Geman, S., Graffigne, C. Locating Object and Texture
Boundaries. Pattern recognition theory and applications. Springer, Heidelberg (1987).
4. Hammersley, J. M., Clifford, P. Markov fields on finite graphs and lattices.
Unpublished Paper. http://www.statslab.cam.ac.uk/grg/books/hammfest/hamm-cliff.
pdf (1971). Accessed 14 Dec 2014.
5. Hernández-Gracidas, C., Sucar, L. E. Markov randomfields and spatial
information to improve automatic image annotation. Advances in Image
and Video Technology. Lecture Notes in Computer Science, vol. 4872, p.
879–892. Springer (2007).
6. Hernández-Gracidas, C., Sucar, L. E., Montes, M. Improving image retrieval by using spatial relations. J. Multimed. Tools Appl. 62, 479–505
(2013).

Ссылки на источники  145
7. Kindermann, R., Snell, J. L. Markov random fields and their applications.
Am. Math. Soc. 34, 143–167 (1980).
8. Lafferty, J., McCallum, A., Pereira, F. Conditional random fields: proba­
bilistic models for segmenting and labeling sequence data. In: International Conference on Machine Learning (2001).
9. Li, S. Z.: Markov Random Field Modeling in Image Analysis. Springer,
London (2009).
10. Sutton, C., McCallum, A. An Introduction to Conditional RandomFields
for Relational Learning. In: Geetor, L., Taskar, B. (eds.) Introduction to
Statistical Relational Learning,MIT Press, Cambridge (2006).
11. Wallach, H. M.: Conditional random fields: an introduction. Technical
Report MS-CIS-04-21, University of Pennsylvania (2004).

Глава

7

Байесовские сети:
представление и логический
вывод

7.1 Введение
В отличие от марковских сетей, являющихся неориентированными графовыми моделями, байесовские сети – это ориентированные графовые
модели, которые представляют совместную вероятность множества
случайных переменных. Некоторые методики, рассмотренные в предыдущих главах, такие как байесовские классификаторы и скрытые марковские модели, являются частными случаями (вариантами) байесовских сетей. Учитывая важность и объем исследований, выполненных по
этой теме в последние годы, байесовским сетям посвящены две главы.
В этой главе рассматриваются подробности представления и методики логического вывода. В следующей главе будет обсуждаться обучение
байесовских сетей, в особенности обучение структуры и параметров.
Пример гипотетической медицинской байесовской сети показан на
рис. 7.1. В этом графе узлы представляют случайные переменные, а дуги
обозначают направления зависимостей между переменными. Структура графа кодирует множество отношений условной независимости
между переменными. Например, следующие условные независимости
можно логически вывести из рассматриваемого здесь примера:
• жар не зависит от боли в мышцах при гриппе (общая причинная
связь);

7.2 Представление  147
• жар не зависит от нездорового питания при брюшном тифе (непрямая причинная связь);
• брюшной тиф не зависит от гриппа, если симптом «жар» НЕ извес­
тен (общая следственная связь). Известность симптома «жар»
устанавливает зависимость между брюшным тифом и гриппом,
например если теперь известно, что у пациента тиф и жар, то снижается вероятность гриппа.
Нездоровое
питание

Брюшной тиф

Грипп

Жар

Боль в мышцах

Рис. 7.1. Простой гипотетический пример медицинской байесовской сети

В дополнение к структуре байесовская сеть учитывает множество локальных параметров, которые являются условными вероятностями для
каждой переменной с учетом их родителей в графе. Например, услов­
ная вероятность жара в зависимости от гриппа и тифа P(жар | тиф,
грипп). Таким образом, совместная вероятность всех переменных в
сети может быть представлена на основе этих локальных параметров.
При этом обычно подразумевается важное сохранение в определенном
коли­честве требуемых параметров.
Рассматривая байесовскую сеть (структуру и параметры), можно дать
ответ на несколько вероятностных запросов. Например, в рассмотренном выше примере: какова вероятность жара при гриппе? Что более
вероятно – тиф или грипп при жаре и нездоровом питании?
В следующем разделе будет формализовано представление байесовской сети, а затем будет представлено несколько алгоритмов для получения ответов (результатов) на различные типы вероятностных запросов.

7.2 Представление
Байесовская сеть представляет совместную вероятность множества n
(дискретных) переменных X1, X2, …, Xn в форме направленного ациклического графа (НАГ) и множества таблиц условных вероятностей. Для
каждого узла, соответствующего переменной, имеется связанная с ним
таблица условных вероятностей, которая содержит вероятность каждого состояния переменной с учетом его родителей в графе. Структура

148

 Глава 7. Байесовские сети: представление и логический вывод

сети подразумевает наличие множества утверждений об условной независимости, придающее мощь этому представлению.
На рис. 7.2 изображен пример простой байесовской сети. Структура
графа подразумевает наличие множества утверждений об условной
независимости для этого множества переменных. Например, переменная R условно независима от C, G, F, D с учетом T, т. е.


P(R | C, T, G, F, D) = P(R | T).

(7.1)

C

G

T

R

F

D

Рис. 7.2. Байесовская сеть

7.2.1 Структура
Утверждения об условной независимости, подразумеваемые структурой байесовской сети, должны соответствовать отношениям условной
независимости для совместного распределения вероятностей, и наоборот. Эти отношения обычно представлены с использованием следующей нотации. Если переменная X условно независима от переменной Z
с учетом Y:
• в распределении вероятностей: P(X | Y, Z) = P(X | Y);
• в графе: I < X | Y | Z >.
Утверждения об условной независимости можно проверить (верифицировать) непосредственно из структуры байесовской сети, используя
критерий, называемый d‑разделенностью (d‑separation). Перед определением этого критерия рассмотрим три простые структуры байесовских сетей для трех переменных и двух дуг:
• последовательная структура: X → Y → Z;
• расходящаяся структура: X ← Y → Z;
• сходящаяся структура: X → Y ← Z.
В первых двух случаях переменные X и Z условно независимы отно­
сительно Y, но в третьем случае это не так. Этот последний случай, назы-

7.2 Представление  149
ваемый объяснение извне (explaining away), вполне естественно соответствует наличию двух причин с общим следствием, т. е. знание следствия
и одной из причин изменяет нашу уверенность в другой причине. Подобные причины могут быть связаны с разделяющимся узлом Y в графе. Таким образом, в зависимости от конкретного случая Y является
последовательным, расходящимся или сходящимся узлом.
D-разделенность
Пусть в графе G множество переменных A является условно независимым от множества B с учетом множества C, если в графе G не существует пути между A и B, такого, что:
1) все узлы являются сходящимися или имеют потомков в множестве C;
2) все прочие узлы находятся вне множества C.
Например, для байесовской сети, изображенной на рис. 7.2, узел R
независим от узла C относительно узла T, но T и G не являются независимыми относительно узла F.
X

Y

Z

X

Y

Z

X

Y

Z

X

Y

Z

X

Y

Z

X

Y

Z

Рис. 7.3. Демонстрация различных случаев d-разделенности с использованием
алгоритма Bayes ball. В тех случаях, когда шар блокируется узлом Y,
критерий условной независимости не выполняется. Когда шар свободно
проходит через узел Y, критерий условной независимости выполняется

Другой способ верификации d-разделенности – использование алгоритма Bayes ball. Будем считать, что имеется путь от узла X к узлу Z с
узлом Y в середине (см. рис. 7.3). Узел Y затенен (серым цветом), если
он известен (создан его экземпляр и задано значение), иначе узел Y
не затенен (серым цветом). Мы бросаем шар из узла X в направлении

 Глава 7. Байесовские сети: представление и логический вывод

150

узла Z, и если шар достигает узла Z, то X и Z не являются независимыми
относительно узла Y в соответствии со следующими правилами:
1) если узел Y последовательный или расходящийся и он не затенен
(серым цветом), то шар свободно проходит через этот узел;
2) если узел Y последовательный или расходящийся и он затенен
(серым цветом), то шар блокируется;
3) если узел Y сходящийся и он не затенен (серым цветом), то шар
блокируется;
4) если узел Y сходящийся и он затенен (серым цветом), то шар свободно проходит через этот узел.
В соответствии с приведенным выше определением d-разделенности
любой узел X условно независим от всех узлов в графе G, которые не являются потомками X с учетом его родителей в графе Pa(X). Это утверждение известно как марковское свойство. Структуру байесовской сети
можно определить с помощью родителей каждой переменной, таким
образом, множество родителей переменной X известно как контур X. Для
примера на рис. 7.2 структуру можно определить следующим образом:
1)
2)
3)
4)
5)
6)

Pa(C) = Ø
Pa(T) = C;
Pa(G) = Ø
Pa(R) = T;
Pa(F) = T, G;
Pa(D) = T, G.

Учитывая это условие и используя цепное правило, можно определить совместное распределение вероятностей для множества переменных в байесовской сети как произведение условной вероятности каж­
дой переменной с учетом ее родителей:




n

P(X1, X2, …, Xn) = �P(Xi | Pa(Xi)).

(7.2)

i=1

Для примера на рис. 7.2:

P(C, T, G, R, F, D) = P(C)P(G)P(T | C)P(R | T)P(F | T, G)P(D | T, G).
Марковское ограждение (Markov blanket) узла X MB(X) – это множест­во
узлов, которые делают его независимым от всех прочих узлов в графе G,
т. е. P(X | G − X) = P(X | MB(X)). Для байесовской сети марковское ограждение узла X состоит из:

7.2 Представление  151
• родителей узла X;
• потомков узла X;
• других родителей потомков узла X.
Например, в байесовской сети на рис. 7.2 марковским ограждением
узла R является узел T, а марковским ограждением узла T являются
узлы C, R, F, D, G.
Отображения
С учетом распределения вероятностей P для X и его графического
представления G обязательно должно существовать соответствие между условной независимостью в распределении P и в графе G. Это соответствие называется отображением (mapping). Существуют три основных типа отображений:
• D-отображение (D-map): все отношения условной независимос­
ти в распределении P соблюдаются (с учетом d-разделенности) в
графе G;
• I-отображение (I-map): все отношения условной независимости в
графе G истинны в распределении P;
• P-отображение (P-map): или совершенное отображение, объединяющее D-отображение и I-отображение.
В общем случае не всегда возможно получить совершенное отображение отношений независимости между графом (G) и распределением (P),
поэтому мы принимаем решение об использовании так называемого
минимального I-отображения (minimal I-map): все отношения условной
независимости, определяемые графом G, истинны в распределении P, и
если удалить любую дугу в графе G, то это условие нарушается [14].
Аксиомы независимости
Учитывая некоторые отношения условной независимости между подмножествами случайных переменных, можно вывести другие
отно­шения условной независимости в виде аксиом, т. е. без необходимости оценки вероятности или мер степени независимости. Сущест­
вует несколько основных правил вывода новых отношений условной
независи­мости из других отношений условной независимости. Эти
правила извест­ны как аксиомы независимости:






симметричность: I(X, Z, Y) → I(Y, Z, X);
декомпозиция: I(X, Z, Y ∪ W) → I(X, Z, Y) ∧ I(X, Z, W);
слабое объединение: I(X, Z, Y ∪ W) → I(X, Z ∪ W, Y);
сокращение: I(X, Z, Y) ∧ I(X, Z ∪ Y, W) → I(X, Z, Y ∪ W);
пересечение: I(X, Z ∪ W, Y) ∧ I(X, Z ∪ Y, W) → I(X, Z, Y ∪ W).

152

 Глава 7. Байесовские сети: представление и логический вывод

Примеры практического применения аксиом независимости в графах показаны на рис. 7.4.
а)

б)

Z

X

Y

Y

Z

X

W

в)

X

Z

W

Y

Z

W

Y

г)

X
д)

X

Z

Y
W

Рис. 7.4. Примеры практического применения аксиом независимости в графах:
а) симметричность, б) декомпозиция, в) слабое объединение, г) сокращение,
д) пересечение

7.2.2 Параметры
Для завершения определения байесовской сети необходимо определить ее параметры. Для байесовской сети параметрами являются услов­
ные вероятности каждого узла с учетом его родителей в графе. Если рассматривать дискретные переменные, то:
• корневые узлы: вектор частных распределений вероятностей;
• другие узлы: таблица условных вероятностей конкретной переменной с учетом ее родителей в соответствующем графе.
На рис. 7.5 показаны некоторые из таблиц условных вероятностей
байесовской сети, изображенной на рис. 7.2. Для непрерывных переменных необходимо задать функцию, которая устанавливает связь
функции плотности (распределения) каждой переменной с плотностью
(распределения) родителей этой переменной (например, фильтры Кал-

7.2 Представление  153
мана (Kalman filters) рассматривают в этом качестве гауссовы распределенные переменные и линейные функции).

C

C1

0.2

P(T | C)
C1
C2
T1 0.7
T2 0.3

P(C)

0.1

T

0.9

0.8

G

R

D

F

F1
F2

C2

P(F | T, G)
T1 F1 T1 F2 T2 F1 T2 F2
0.8

0.6

0.5

0.1

0.2

0.4

0.5

0.9

Рис. 7.5. Параметры байесовской сети, показанной на рис. 7.2.
Здесь приведены таблицы условных вероятностей
для некоторых переменных из этого примера: P(C), P(T | C) и P(F | T, G).
Предполагается, что в рассматриваемом тут примере
все переменные являются бинарными

Для дискретных переменных количество параметров в таблице
услов­ных вероятностей возрастает экспоненциально при увеличении
числа родителей рассматриваемого узла. Это может создавать проблемы при большом количестве родителей. Требования к объему памяти
могут стать слишком высокими, а кроме того, трудно оценивать так
много параметров. Для устранения этой проблемы были предложены
два основных варианта решения: один на основе канонических моделей (canonical models), другой – использование представлений таблиц
условных вероятностей в форме графов. В следующих разделах будут
кратко рассмотрены обе схемы.

7.2.2.1 Канонические модели
Канонические модели представляют связи между множеством случайных переменных для конкретных взаимодействий с использованием нескольких параметров. Эту методику можно применять, если

154

 Глава 7. Байесовские сети: представление и логический вывод

вероятности случайной переменной в байесовской сети согласованы с
конкретными каноническими (canonical) связями с учетом конфигураций родителей этой переменной. Существует несколько классов канонических моделей, наиболее часто используются Noisy OR и Noisy AND
для бинарных переменных и их расширения для переменных с несколькими значениями – Noisy Max и Noisy Min соответственно.
Модель Noisy OR по своей сущности является расширением отношения OR (ИЛИ) в логике. Рассмотрим логический вентиль OR, в котором
выводится значение True (истина), если любое из входных данных имеет значение True. Модель Noisy OR основана на концепции логического
OR (ИЛИ), но отличается наличием определенной (небольшой) вероятности того, что значением переменной не является True, даже если один
или несколько ее родителей имеют значение True. Похожим образом
модель Noisy AND связана с логическим оператором AND (И). Эти модели применяются, только если все переменные являются бинарными,
но существуют расширения для переменных с несколькими значениями, которые рассматривают множество упорядоченных значений для
каждой переменной. Например, рассмотрим переменную, представляющую заболевание D. В бинарных канонических моделях эта переменная принимает два значения – True и False. В модели с несколькими
значениями переменную можно определить как D ∈ {False (ложь), Mild
(легкая форма), Intermediate (средней тяжести), Severe (тяжелая форма)},
при этом перечисленные значения соблюдают предварительно заданный порядок. Модели Noisy Max и Noisy Min представляют собой обобщения моделей Noisy OR и Noisy AND соответственно для переменных
с несколькими значениями.
В следующем подразделе будет подробно описана модель Noisy OR.
Другие модели можно определить подобным образом.
Модель Noisy OR
Модель Noisy OR применяется, когда несколько переменных, или
причин (causes), могут давать результат, или следствие (effect), если любая из переменных-причин имеет значение True, и чем больше причин являются истинными, тем более возрастает вероятность получения
именно этого следствия. Например, следствием может быть определенный симптом S, а причинами – несколько возможных заболеваний D1,
D2, …, Dm, которые могут создавать этот симптом. При этом если ни одно
из этих заболеваний не наблюдается (все имеют значение False), то симптом не появляется, а когда наблюдается любое из перечисленных заболеваний (True), симптом присутствует с высокой вероятностью, и эта
вероятность возрастает при увеличении количества Di = True. Графовое
представление связей модели Noisy OR в байесовской сети показано на
рис. 7.6.

7.2 Представление  155
C1



C2

Cn

E

Рис. 7.6. Графовое представление структуры Noisy OR:
n переменных причин (C) являются родителями переменной следствия (E)

Формально следующие два условия обязательно должны выполняться, для того чтобы каноническая модель Noisy OR была применимой:
• обязательность: следствие является ложным, если все возможные
причины являются ложными;
• независимость исключений: если следствие является проявлением нескольких причин, то механизмы, препятствующие проявлению следствия по одной причине, не зависят от механизмов,
препятствующих проявлению следствия по прочим причинам.
Вероятность подавления следствия E (следствие не возникает) при
наличии причины Ci определяется следующим образом:


qi = P(E = False | Ci = True).

(7.3)

С учетом этого определения и описанных выше условий параметры в
таблице условных вероятностей для модели Noisy OR можно вычислить
с использованием следующих формул, где все m причин являются истинными (True):







m

P(E = False | C1 = True, …, Cm = True) = �qi;

(7.4)

P(E = True | C1 = True, …, Cm = True) = 1 − �qi.

(7.5)

i=1

m

i=1

В общем случае если k из m причин являются истинными (True), то
P(E = False | C1 = True, …, Ck = True) = �ki=i qi, поэтому если все причины являются ложными (False), то следствие является ложным (False) с
вероят­ностью, равной единице. Таким образом, требуется только один
параметр для каждой родительской переменной, чтобы сформировать таблицу условных вероятностей для вероятности препятствова-

156

 Глава 7. Байесовские сети: представление и логический вывод

ния возник­новению следствия qi. В этом случае количество параметров
возрастает линейно, а не экспоненциально при увеличении количества
родителей.
В качестве примера рассмотрим модель Noisy OR с тремя причинами
C1, C2, C3, где вероятность препятствования возникновению следствия
одинакова для всех трех причин q1 = q2 = q3 = 0.1. С учетом этих парамет­
ров можно получить таблицу условных вероятностей для переменной
следствия, как показано в табл. 7.1.
Таблица 7.1. Таблица условных вероятностей для переменной Noisy OR
с тремя родителями и параметрами q1 = q2 = q3 = 0.1
C1

0

0

0

0

1

1

1

1

C2

0

0

1

1

0

0

1

1

C3

0

1

0

1

0

1

0

1

P(E = 0)

1

0.1

0.1

0.01

0.1

0.01

0.01

0.001

P(E = 1)

0

0.9

0.9

0.99

0.9

0.99

0.99

0.999

7.2.2.2 Другие представления
Канонические модели применимы в определенных ситуациях, но
они не предоставляют общее решение для получения компактных
представлений таблиц условных вероятностей. Другой вариант представления основан на следующем наблюдении: в таблицах вероятности
для многих предметных областей одинаковые значения вероятностей
достаточно часто повторяются несколько раз в одной и той же таблице,
например в таблице условных вероятностей обычно содержится много
нулевых значений. Таким образом, нет необходимости многократного
представления этих повторяющихся значений, вполне достаточно один
раз представить каждое неповторяющееся значение.
Представлением, позволяющим воспользоваться преимуществом такого условия, является дерево решений (decision tree), поэтому его можно применять для компактного представления таблицы условных вероятностей. В дереве решений каждый внутренний узел соответствует
переменной в таблице условных вероятностей, а ветви, исходящие из
узла, соответствуют различным значениям, которые может принимать
эта переменная. Узлы-листья в таком дереве представляют различные
значения вероятности. Путь от корня до листа определяет значение вероятности для соответствующих переменных – по значениям в пути.
Если переменная не учитывается в пути, это означает, что в таблице условных вероятностей содержатся одинаковые значения вероятностей
для этой переменной.

7.2 Представление  157
Например, в табл. 7.2 отображена таблица условных вероятностей
P(X | A, B, C, D, E, F, G), предполагая, что все переменные являются бинар­
ными (F, T). На рис. 7.7 показано дерево решений для таблицы условных
вероятностей, приведенной в табл. 7.2. В этом примере экономия объ­
ема памяти незначительна, но для больших таблиц можно получить
сущест­венное снижение требований к объему памяти.
Таблица 7.2. Таблица условных вероятностей P(X | A, B, C, D, E, F, G),
в которой содержится несколько повторяющихся значений
A

B

C

D

E

F

G

X

T

T/F

T/F

T/F

T/F

T/F

T/F

0.9

F

T

T/F

T

T/F

T

T

0.9

F

T

T/F

T

T/F

T

F

0.0

F

T

T/F

T

T/F

F

T/F

0.0

F

T

T

F

T

T/F

T

0.9

F

T

T

F

T

T/F

F

0.0

F

T

T

F

F

T/F

T/F

0.0

F

T

F

F

T/F

T/F

T/F

0.0

F

F

T

T/F

T

T/F

T

0.9

F

F

T

T/F

T

T/F

F

0.0

F

F

T

T/F

F

T/F

T/F

0.0

F

F

F

T/F

T/F

T/F

T/F

0.0

A
B

0.9
D

C

0.0

E

0.0

C

0.0

G

0.0

0.9

F

E

0.0

0.0

G

0.0

G

0.0

0.9

0.9

Рис. 7.7. Дерево решений для таблицы условных вероятностей, представленной
в табл. 7.2. Для каждой переменной (узел в дереве) стрелка влево соответствует
значению F, а стрелка вправо – значению T

158

 Глава 7. Байесовские сети: представление и логический вывод

Диаграмма решений (decision diagram) является расширением дерева решений, рассматривающим направленный ациклический граф,
в котором нет ограничений, присущих структуре дерева. При этом
исклю­чается необходимость представления повторяющихся значений
вероят­ности в узлах-листьях, а в некоторых случаях обеспечивается
даже еще более компактное представление. Пример диаграммы решений для таблицы условных вероятностей, представленной в табл. 7.2,
показан на рис. 7.8.
A

B
D
F

C
E

G
0.9

0.0

Рис. 7.8. Диаграмма решений, представляющая таблицу условных вероятностей
из табл. 7.2. Здесь также стрелка влево соответствует значению F,
а стрелка вправо – значению T

7.3 Логический вывод
Вероятностный логический вывод заключается в распространении
(propagating) следствий (результатов) определенного свидетельства в
байесовской сети для оценки его результата в неизвестных переменных. Таким образом, зная значения некоторого подмножества переменных в модели, можно получить апостериорные вероятности других
переменных. Подмножество неизвестных переменных может быть пус­
тым, тогда мы получаем априорные вероятности всех переменных.
Существуют два основных варианта задачи логического вывода в
байесовских сетях. Первый вариант – получение апостериорной вероят­
ности единственной переменной H с учетом подмножества известных
(имеющих конкретное значение) переменных E, т. е. P(H | E). Эта методика известна как вывод с помощью конъюнктивного запроса (conjunc-

7.3 Логический вывод  159
tive query inference). Теоретически эту задачу можно решить, используя
единственный вывод с помощью запроса несколько раз и применяя
цепное правило, что усложняет задачу в целом. Например, P(A, B | E)
можно записать как P(A | E)P(B | A, E), тогда потребуется два отдельных вывода с помощью запроса и операция умножения. В некоторых
приложениях желательно знать, какие значения являются наиболее
вероят­ными в множестве гипотез, т. е. ArgMaxHP(H | E). Если множество
гипотез H включает все ненаблюдаемые переменные, это называется
наиболее вероятным объяснением (most probable explanation – MPE), или
задачей полной абдукции (total abduction). Если нас интересует наибо­
лее правдоподобное совместное состояние некоторых (но не всех)
ненаблю­даемых переменных, это соответствует оценке апостериорного
максимума (maximum a posteriori assignment – MAP), или задаче частичной абдукции (partial abduction).
В первую очередь мы сосредоточим внимание на задаче логического вывода с помощью единственного запроса, затем рассмотрим
задачи MPE и MAP. Если необходимо решить задачу логического вывода с использованием прямого вычисления (полного перебора), т. е.
по совмест­ному распределению, то сложность вычислений возрастает
экспо­ненциально при увеличении числа переменных, и задача становится практически неразрешимой даже при небольшом количестве
переменных. Для решения этой задачи более эффективным способом
было разработано много алгоритмов, которые можно упрощенно разделить на несколько следующих классов:
1)
2)
3)
4)
5)

распространениевероятности (алгоритм Дж. Перла (Judea Pearl) [13]);
исключение переменных;
обусловливание;
дерево сочленений;
стохастическая имитация.

Алгоритм распространения вероятности применяется только к односвязным графам (деревьям и полидеревьям15), хотя существует расширение для обобщенных сетей – алгоритм распространения с петлями, который не гарантирует сходимости. Остальные четыре класса
алгоритмов работают для любой структуры сети, при этом последняя
является приблизительной методикой, но остальные три – точные методики.
В наихудшем случае задача логического вывода является NP-трудной
(NP-hard) для байесовских сетей [1]. Но существуют эффективные (полиномиальные) алгоритмы для определенных типов структур (одно­
15

Полидерево (polytree) – это односвязный направленный ациклический граф, в котором некоторые узлы имеют более одного родителя. В ориентированном (направленном) дереве каждый
узел имеет не более одного родителя.

160

 Глава 7. Байесовские сети: представление и логический вывод

связных сетей). Для других структур эффективность решения зависит
от связности конкретного графа. Во многих приложениях графы являются разреженными (sparse), и для этих случаев существуют весьма эффективные алгоритмы логического вывода.
Далее будет описан алгоритм распространения вероятности для односвязных сетей, затем наиболее часто используемые методики для
многосвязных байесовских сетей.

7.3.1 Односвязные сети: алгоритм распространения
доверия
В этом разделе описан алгоритм распространения доверия (вероятности) в дереве, предложенный Дж. Перлом (Judea Pearl, 1982) и предоставляющий основу для нескольких из наиболее продвинутых и обобщенных методик.
С учетом определенного свидетельства E (подмножества переменных
с присвоенными конкретными значениями) апостериорная вероят­
ность для значения i любой переменной B может быть получена с помощью применения правила Байеса:


P(Bi | E) = P(Bi)P(E | Bi) / P(E).

(7.6)

Учитывая, что рассматриваемая здесь байесовская сеть имеет структуру дерева, любой узел делит эту сеть на два независимых поддерева.
Следовательно, можно разделить свидетельство на следующие фрагменты (см. рис. 7.9):
• E−: свидетельство в дереве с корнем в узле B;
• E+: вся прочая часть свидетельства.
Тогда:


P(Bi | E) = P(Bi)P(E−, E+ | Bi) / P(E).

(7.7)

Учитывая, что E+ и E− независимы, и еще раз применяя правило
Байе­са, получаем:


P(Bi | E) = �P(Bi | E+)P(E− | Bi),

(7.8)

�(Bi) = P(E− | Bi),
π(Bi) = P(Bi | E+),

(7.9)
(7.10)

P(Bi | E) = �π(Bi)�(Bi).

(7.11)

где � – постоянный коэффициент нормализации. Если определить следующие компоненты:



тогда формулу 7.8 можно записать так:


7.3 Логический вывод  161
H
A

E+
I

B

C
D

E

F

G

E−

Рис. 7.9. В байесовской сети, имеющей структуру дерева,
каждый узел (B) делит сеть на два условно независимых поддерева – E+ и E−

Формула 7.11 представляет собой основу для алгоритма распределенного распространения с целью получения апостериорной вероятнос­
ти всех узлов, для которых не заданы значения. Процесс вычисления
апостериорной вероятности любого узла B разделяется на два этапа:
(i) свиде­тельство, приходящее от потомков B в рассматриваемом дереве (�), и (ii) свидетельство, приходящее от родителя узла B(π). Можно
интерпретировать каждый узел B в таком дереве как простой обработчик, который сохраняет свои векторы π(B) и �(B) и свою таблицу условных вероятностей P(B | A). Свидетельство распространяется с помощью
механизма передачи сообщений, где каждый узел передает соответст­
вующие сообщения своему родителю и своим потомкам в дереве. Выра­
жение для сообщения, передаваемого из узла B своему родителю A:
(7.12)
�B(Ai) = �P(Bj | Ai)�(Bj).
j

Выражение для сообщения, передаваемого из узла B своему потомку Sk:



πk(Bi) = �π(Bj)��l(Bj),

(7.13)

l≠k

где l обозначает ссылку на каждого отдельного потомка узла B.
Каждый узел может получать несколько �-сообщений, которые объ­
единяются методом почленного умножения �-сообщений, полученных
от каждого потомка. Следовательно, � для узла A с m потомками вычисляется следующим образом:
m

�(Ai) = ��S (Ai).
(7.14)
j

j=1

162

 Глава 7. Байесовские сети: представление и логический вывод

Алгоритм распространения начинает работу с присваивания свидетельства известным переменным, затем распространяет это свидетельство с помощью механизма передачи сообщений до тех пор, пока
не будет достигнут корень дерева для �-сообщений и узлы-листья для
π‑сообщений. На рис. 7.10 и 7.11 показаны соответствующие схемы распространения. В конце процесса распространения каждый узел содержит обновленные собственные векторы � и π. Апостериорная вероятность любой переменной B определяется объединением этих векторов
с использованием формулы 7.11 и нормализации.

𝛌C(A)
C

𝛌F(D)

𝛌A(H)
A

𝛌D(B)
D

F

H

𝛌B(A)
B

𝛌G(D)

𝛌I(A)
I

𝛌E(B)
E

G

Рис. 7.10. Восходящее распространение. �-сообщения
распространяются от узлов-листьев к корню

𝛑A(C)
C

𝛑D(F)
F

𝛑H(A)
A

𝛑B(D)
D

H

𝛑A(B)
B

𝛑D(G)

𝛑H(I)
I

𝛑B(E)
E

G

Рис. 7.11. Нисходящее распространение. π-сообщения
распространяются от корня к узлам-листьям

Для корня и узлов-листьев необходимо определить некоторые начальные условия:
• узлы-листья: если узел неизвестен, то � = [1, 1, …, 1] (равномерное
распределение). Если узел известен, то � = [0, 0, …, 1, …, 0] (единица для конкретного присвоенного значения и нули для всех
остальных значений);

7.3 Логический вывод  163
• корневой узел: если неизвестен, то π = P(A) (вектор априорного частного распределения вероятностей). Если известен, то
π = [0, 0, …, 1, …, 0] (единица для конкретного присвоенного значения и нули для всех остальных значений).
Теперь продемонстрируем выполнение алгоритма распространения
доверия на простом примере. Рассмотрим байесовскую сеть, показанную на рис. 7.12, с 4 бинарными переменными (каждая переменная может принимать значения false и true) C, E, F, D с таблицами условных
вероятностей, приведенными на рис. 7.12.

C

P(E | C)
C1
C2
E1

0.9

0.7

E2

0.1

0.3

C1

0.2

0.9

0.5

F2

0.1

0.5

0.8

E

P(F | E)
E1
E2
F1

P(C)
C2

P(D | E)
E1

F

D

D1 0.7
D2 0.3

E2
0.4
0.6

Рис. 7.12. Простая байесовская сеть, используемая
в примере применения алгоритма распространения доверия

Пусть только свидетельство F = false. Тогда начальные условия для
узлов-листьев: �F = [1, 0] и �D = [1, 1] (свидетельство отсутствует). Процесс распространения к родительскому узлу (E) реализуется простым
умножением этих векторов � на соответствующие таблицы условных
вероятностей:






�F(E) = [1, 0] �

0.9, 0.5
� = [0.9, 0.5],
0.1, 0.5

�D(E) = [1, 1] �

0.7, 0.4
� = [1, 1].
0.3, 0.6

Далее �(E) определяется как объединение сообщений от двух потомков этого узла:
�(E) = [0.9, 0.5] × [1, 1] = [0.9, 0.5].

Теперь выполняется распространение к родителю C:

164

 Глава 7. Байесовские сети: представление и логический вывод




�E(C) = [0.9, 0.5] �

0.9, 0.7
� = [0.86, 0.78].
0.1, 0.3

π(E) = [0.8, 0.2] �

0.9, 0.7
� = [0.86, 0.14].
0.1, 0.3

В этом примере �(C) = [0.86, 0.78], так как у узла C только один потомок. Таким образом, восходящее распространение завершено, и теперь
можно перейти к нисходящему распространению.
Учитывая, что узел C не имеет присвоенного значения π(C) = [0.8, 0.2],
распространение выполняется к его потомку E, который также соот­
ветствует процедуре умножения вектора π на соответствующую таблицу
условных вероятностей:




Далее выполняется распространение к потомку D, но, учитывая, что
узел E имеет еще одного потомка F, необходимо также принять во внимание �-сообщение от этого другого потомка, следовательно:

0.7, 0.4
π(D) = [0.86, 0.14] × [0.9, 0.5] �
� = [0.86, 0.14].
0.3, 0.6


На этом завершается нисходящее распространение (нет необходимости выполнять распространение к узлу F, так как эта переменная известна). С учетом векторов � и π для каждой неизвестной переменной
нужно всего лишь почленно умножить эти векторы и нормализовать
результат для получения апостериорных вероятностей:
P(C) = [0.86, 0.2] × [0.86, 0.78] = �[0.69, 0.16] = [0.815, 0.185],
P(E) = [0.86, 0.14] × [0.9, 0.5] = �[0.77, 0.07] = [0.917, 0.083],
P(D) = [0.57, 0.27] × [1, 1] = �[0.57, 0.27] = [0.67, 0.33].

На этом пример выполнения алгоритма распространения доверия
завершается.
Распространение вероятностей представляет собой весьма эффективный алгоритм для байесовских сетей со структурой дерева. Сложность по времени для получения апостериорной вероятности для всех
переменных в дереве пропорциональна диаметру (diameter) сети (числу дуг в пути от корня до наиболее удаленного листа).
Механизм передачи сообщений можно непосредственно распространить на полидеревья, поскольку они также являются односвязными сетями. В этом случае узел может иметь несколько родителей, поэтому
�-сообщения должны передаваться от узла всем его родителям. Сложность по времени имеет тот же порядок, что и для деревьев.

7.3 Логический вывод  165
Алгоритм распространения применяется только к односвязным сетям. В следующем разделе представлены обобщенные алгоритмы, которые можно применить к любой структуре.

7.3.2 Многосвязные сети
Существует несколько классов алгоритмов для вероятностного логического вывода в многосвязных байесовских сетях. В этом разделе рассматриваются основные классы: (i) исключение переменных, (ii) обу­
словливание и (iii) дерево сочленений.

7.3.2.1 Исключение переменных
Метод исключения переменных основан на принципе вычисления
вероятности посредством маргинализации совместного распределения. Но, в отличие от простейшего метода, здесь имеется преимущест­
во в виде условий независимости байесовской сети и ассоциативных
и дистрибутивных свойств операций сложения и умножения, которые
повышают эффективность вычислений.
Рассмотрим байесовскую сеть, представляющую совместное распре­
деление вероятностей переменной X = {X1, X2, …, Xn}. Необходимо вычислить апостериорную вероятность конкретной переменной или
подмножества переменных XH с учетом подмножества переменных
свидетельств XE. Остальные переменные обозначены как XR, такие, что
X = {XH ∪ XE ∪ XR}.
Апостериорная вероятность XH с учетом свидетельства:


P(XH | XE) = P(XH, XE) / P(XE).

(7.15)

Оба члена этой формулы можно вычислить с помощью маргинализации совместного распределения:



P(XH, XE) = �P(X)

(7.16)




P(XE) = �P(XH, XE).

(7.17)

и

XR

XH

Отдельным случаем, заслуживающим внимания, является вычисление частного распределения вероятностей переменных при отсутст­
вии свидетельств. В этом случае XE = Ø. Еще один интересный случай – вычис­ление вероятности свидетельства, которое выполняется по
формуле 7.17.
Цель методики исключения переменных – эффективное выполнение всех перечисленных выше вычислений. Для этого можно сначала

166

 Глава 7. Байесовские сети: представление и логический вывод

представить совместное распределение как произведение локальных
вероятностей в соответствии со структурой сети. Затем операции сложения можно выполнить только для тех подмножеств элементов, которые являются функциями переменных, подлежащих нормализации.
Преимущества такого подхода заключаются в использовании свойств
операций сложения и умножения, благодаря которым сокращается количество необходимых операций. Далее будет рассмотрен пример применения этого метода.
Рассмотрим байесовскую сеть, показанную на рис. 7.13, в которой необходимо вычислить вероятность P(A | D). Для этого требуется определить P(A, D) и P(D). Для вычисления первого члена нужно обязательно
исключить узлы B, C, E из совместного распределения, т. е.
P(A, D) = ���P(A)P(B | A)P(C | A)P(D | B, C)P(E | C).

(7.18)

P(A, D) = P(A)�P(B | A)�P(C | A)P(D | B, C)�P(E | C).

(7.19)

B

C

E

В соответствии с дистрибутивным свойством сложения можно перей­
ти к следующему равнозначному выражению:
B

C

E

A

C

B

D

E

Рис. 7.13. Байесовская сеть, используемая в примере
применения алгоритма исключения переменных

Если считать, что все эти переменные являются бинарными, то становится возможным сокращение с 32 до 9 операций. Разумеется, это
сокращение будет более существенным для более крупных моделей
или при наличии большего количества значений для каждой переменной.
В качестве примера рассмотрим байесовскую сеть на рис. 7.12 и предположим, что необходимо вычислить P(E | F = f1) = P(E, F = f1) / P(F = f1).
С учетом структуры этой байесовской сети совместное распределение

7.3 Логический вывод  167
вероятностей определяется как P(C, E, F, D) = P(C)P(E | C)P(F | E)P(D | E).
Сначала вычисляется P(E, F) с изменением порядка выполнения операций:



P(E, F) = �P(F | E)P(D | E)�P(C)P(E | C).
D

C

Необходимо выполнить эти вычисления для каждого значения E с
учетом F = f1:









P(e1, f1) = �P(f1 | e1)P(D | e1)�P(C)P(e1 | C),
D

C

P(e1, f1) = �P(f1 | e1)P(D | e1)[0.9 × 0.8 + 0.7 × 0.2],
D

P(e1, f1) = �P(f1 | e1)P(D | e1)[0.86],
D

P(e1, f1) = [0.9 × 0.7 + 0.9 × 0.3][0.86].
P(e1, f1) = [0.9][0.86] = 0.774.

Аналогичным образом вычисляется P(e2, f1), затем по этим полученным значениям можно вычислить P(f1) = ∑E P(E, f1). Наконец, вычисляется апостериорная вероятность переменной E с учетом f1:


P(e1 | f1) = P(e1, f1) / P(f1) и P(e2 | f1) = P(e2, f1) / P(f1).

Важнейшим аспектом алгоритма исключения переменных является выбор правильного порядка исключения каждой переменной, поскольку это оказывает важное воздействие на количество требуемых
операций. Различные элементы, генерируемые во время вычислений,
называются факторами (factors), которые являются функциями на подмножестве переменных, отображающими каждый экземпляр (значение) этих переменных в неотрицательное число (эти числа не обязательно должны быть вероятностями). В общем случае фактор можно
представить как f(X1, X2, …, Xm). Например, в предыдущем примере один
из факторов можно представить как f(C, E) = P(C)P(E | C), т. е. как функцию от двух переменных.
Сложность вычислений по памяти и по времени для алгоритма исклю­
чения переменных определяется размером соответствующих факторов,
т. е. количеством переменных w, для которых определен конкрет­ный
фактор. В основном сложность исключения (маргинализации) любого
числа переменных является экспоненциальной зависимостью от количества переменных в факторе, т. е. O(exp(w)) [2]. Следовательно, порядок
исключения переменных должен выбираться так, чтобы в наибольшем

168

 Глава 7. Байесовские сети: представление и логический вывод

факторе сохранялось минимальное количество переменных. Но поиск
наилучшего порядка исключения переменных, вообще говоря, представляет собой NP-трудную задачу.
Существует несколько эвристик, которые помогают определить
доста­точно удачный («хороший») порядок исключения переменных. Эти эврис­тики можно описать на основе графа взаимодействий
(interaction graph) – неориентированного графа, который формируется в процессе исключения переменных. Переменные каждого фактора обра­зуют клику в графе взаимодействий. Первоначальный граф
взаимо­действий полу­чается из исходной структуры байесовской сети
посредством отме­ны направлений дуг и включения дополнительных
дуг между каждой парой несвязанных переменных, которые имеют общего потомка. Затем при каждой операции исключения переменной Xj
граф взаимодейст­вий изменяется следующим образом: (i) добавляется дуга между каж­дой парой несвязанных между собой соседей узла Xj,
(ii) пере­менная Xj удаляется из графа.
Графы взаимодействий, получаемые из байесовской сети на рис. 7.13
последовательным исключением переменных в порядке E, C, B, D, показаны на рис. 7.14.
A

A

E

C

B

C

B

C
E

D

D
A
A

A

D

B

B

D
D

Рис. 7.14. Графы взаимодействий, получаемые из байесовской сети на рис. 7.13
последовательным исключением переменных в порядке E, C, B, D

Ниже кратко описаны две наиболее распространенные эвристики
для определения порядка исключения переменных, которые можно
получить из графа исключений:

7.3 Логический вывод  169
• min-degree: исключается переменная, которая приводит к наименьшему возможному фактору; это равнозначно исключению
переменной с наименьшим количеством соседей в текущем графе исключения;
• min-fill: исключается переменная, которая приводит к добавлению минимального количества ребер в граф взаимодействий.
Недостаток метода исключения переменных состоит в том, что он позволяет получить апостериорную вероятность только для одной пере­
менной (или подмножества переменных). Для получения апостериорной
вероятности каждой переменной без конкретно определенного значения
в байесовской сети необходимо повторить вычисления для каждой такой
переменной. Далее рассматриваются два алгоритма, которые одновременно вычисляют апостериорные вероятности для всех переменных.

7.3.2.2 Обусловливание
Метод обусловливания (conditioning) основан на том факте, что переменная с присвоенным значением блокирует распространение свидетельства в байесовской сети. Следовательно, можно выполнить разрез
(cut) графа по переменной с определенным значением, что позволит
преобразовать многосвязный граф в полидерево, для которого возможно применение алгоритма распространения вероятности.
В общем случае подмножеству переменных можно присвоить конкретные значения для преобразования многосвязной сети в одно­
связный граф. Если эти переменные в действительности неизвестны,
то можно устанавливать для них каждое из всех возможных значений,
затем выполнять алгоритм распространения вероятности для каждого значения. При выполнении каждого процесса распространения мы
получаем вероятность для каждой неизвестной переменной. Далее конечные значения вероятностей вычисляются как взвешенные сочетания этих вероятностей.
В первую очередь будет разработан алгоритм обусловливания с
предпо­ложением о том, что необходимо выделить только одну переменную, а затем алгоритм будет расширен для нескольких переменных.
В формальном выражении следует определить вероятность для любой
переменной B с учетом свидетельства E и при обусловленности переменной A. По правилу полной вероятности:
(7.20)

P(B | E) = �P(B | E, ai)P(ai | E),
i

где P(B | E, ai) – апостериорная вероятность B, которая определяется по
распространению вероятности для каждого возможного значения A,
P(ai | E) – весовой коэффициент.

170

 Глава 7. Байесовские сети: представление и логический вывод

Применяя правило Байеса, получим следующую формулу для оценки
весовых коэффициентов:


P(ai | E) = �P(ai)P(E | ai).

(7.21)

Первый множитель P(ai) можно вычислить по распространению без
свидетельства. Второй множитель P(E | ai) вычисляется по распространению при A = ai для получения вероятности переменных свидетельства, � – постоянный коэффициент нормализации.
A = a1

A = a2

A"

A'

C

B

D

E

Рис. 7.15. Байесовская сеть, изображенная на рис. 7.13,
преобразуется в односвязную сеть при условии присваивания
конкретного значения переменной A

Например, рассмотрим байесовскую сеть на рис. 7.13. Эту много­
связную сеть можно преобразовать в полидерево, полагая, что A – пере­
менная с присвоенным конкретным значением (см. рис. 7.15). Если
свидетельством являются переменные D, E, то вероятности для других
переменных A, B, C можно получить методом обусловливания, выполняя следующие шаги:
1) вычислить априорную вероятность для A (в рассматриваемом
примере эта вероятность уже известна, так как A является корневым узлом);
2) вычислить вероятность узлов свидетельства D, E для каждого
значения переменной A методом распространения вероятности
в полидереве;
3) вычислить весовые коэффициенты P(ai | D, E) по результатам выполнения шагов 1 и 2 с использованием правила Байеса;
4) оценить вероятность B и C для каждого значения A с учетом свидетельства методом распространения вероятности в полидереве;
5) вычислить апостериорные вероятности для B и C по результатам
выполнения шагов 3 и 4, применяя формулу 7.20.

7.3 Логический вывод  171
В общем случае для преобразования многосвязной сети в полидерево
необходимо присвоить конкретные значения m переменным. Следовательно, алгоритм распространения вероятности обязательно должен
быть выполнен для всех сочетаний значений (векторное произведение)
таких переменных. Если каждая переменная имеет k значений, то число
комбинаций распространений равно km. Процедура в целом та же, что
и для одной переменной, как описано в предыдущем разделе, но сложность возрастает.

7.3.2.3 Алгоритм дерева сочленений
Метод (алгоритм) дерева сочленений основан на преобразовании
байесовской сети в дерево сочленений (junction tree), в котором каждый
узел является группой или кластером переменных из исходной сети.
Вероятностный логический вывод выполняется в этой новой структуре представления. Ниже будет кратко описан основной алгоритм, более
подробное описание см. в разделе материалов для дополнительного
чтения.
а)

б)

1

3

2

4

3

2

5

в)

1

4

5

C1

1,2,3

C2

2,3,4

C3

3,5

Рис. 7.16. Преобразование байесовской сети в дерево сочленений:
а) исходная байесовская сеть, б) триангулированный граф, в) дерево сочленений

Процедура преобразования описана ниже (см. рис. 7.16):
1) оценить направленность дуг;
2) упорядочить узлы в графе (на основе максимальной мощности);
3) морализовать граф (добавить дуги между парами узлов с общими
потомками);
4) при необходимости добавить дополнительные дуги, чтобы сделать граф триангулированным;
5) определить клики в графе (подмножества узлов, которые являются полностью связными, но не являются подмножествами других полностью связных множеств);

172

 Глава 7. Байесовские сети: представление и логический вывод

6) сформировать дерево сочленений, в котором каждый узел явля­
ется кликой, а его родителем является любой узел, который содержит все общие предшествующие переменные по порядку,
определенному на шаге 2.
После завершения процедуры создания дерева сочленений логический вывод основывается на методе распространения вероятностей в
дереве сочленений, применяемом так же, как и для байесовских сетей,
имеющих структуру дерева. Сначала вычисляется совместная вероят­
ность (потенциал) каждого макроузла, и с учетом некоторого свидетельства эта вероятность распространяется для получения апостериорной вероятности для каждого сочленения. Отдельное значение
вероятности каждой переменной вычисляется по совместной вероятности соответст­вующего сочленения с применением маргинализации.
Ниже эта процедура будет описана более подробно.
Алгоритм дерева сочленений можно разделить на два этапа: предварительная обработка и распространение. На этапе предварительной
обработки потенциалы каждой клики вычисляются по следующей пошаговой схеме:
1) определение множества переменных для каждой клики Ci;
2) определение множества переменных, которые являются общими
с предшествующей (родительской) кликой, Si;
3) определение переменных, которые принадлежат множеству Ci,
но не множеству Si: Ri = Ci − Si;
4) вычисление потенциалов каждой клики clqi как произведения
соот­ветствующих таблиц условных вероятностей:
�(clqi) = �j P(Xj | Pa(Xj)), где Xj – переменные в клике clqi.

Например, рассмотрим байесовскую сеть на рис. 7.16 с кликами:
clq1 = {1, 2, 3}, clq2 = {2, 3, 4}, clq3 = {3, 5}. Тогда этап предварительной
обра­ботки будет таким:
C: C1 = {1, 2, 3}, C2 = {2, 3, 4}, C3 = {3, 5},
S: S1 = Ø, S2 = {2, 3}, S3 = {3},
R: R1 = {1, 2, 3}, R2 = {4}, R3 = {5}.
Потенциалы: �(clq1) = P(1)P(2 | 1)P(3 | 2), �(clq2) = P(4 | 3, 2),

�(clq3) = P(5 | 3).

Этап распространения выполняется так же, как и процедура рас­
пространения доверия в деревьях, т. е. для �-сообщений выполняется
восходящее распространение, а для π-сообщений – нисходящее распространение.

7.3 Логический вывод  173
Восходящее распространение
1. Вычисление �-сообщения для передачи в родительскую клику:
�(Ci) = ∑R �(Ci).
2. Обновление потенциала каждой клики с использованием �-сообщений от своих потомков: �(Cj)′ = �(Ci)�(Cj).
3. Повторение шагов 1 и 2 до тех пор, пока не будет выполнен переход к корневой клике.
4. После перехода к корневой клике вычислить P ′(Cr) = �(Cr)′.

Нисходящее распространение

1. Вычисление π-сообщения для передачи в каждый узел-потомок i:

π(Ci) = ∑C −S P ′(Cj).
j i
2. Обновление потенциала каждой клики при получении π-сообщения от своего родителя: P ′(Ci) = π(Ci)�(Ci)′.
3. Повторение шагов 1 и 2 до тех пор, пока не будет выполнен переход к узлам-листьям в дереве сочленений.

Если существует свидетельство, то потенциалы для каждой клики обновляются на основе этого свидетельства, и выполняется та же самая
процедура распространения.
На завершающем этапе вычисляются частные апостериорные вероят­
ности для каждой переменной по потенциалам соответствующих клик
с использованием маргинализации: P(X) = ∑C −XP ′(Ci).
i
Существуют два основных варианта алгоритма дерева сочленений,
известных как архитектура Hugin [6] и архитектура Шеноя–Шафера
(Shenoy-Shafer) [16]. Приведенное выше описание алгоритма основано
на архитектуре Hugin. Основными различиями между этими архитектурами являются хранимая информация и способ вычисления сообщений. Эти различия определяют сложность вычислений каждой архитектуры. В общем, архитектура Шеноя–Шафера требует меньшего объема
памяти, но больше времени.

7.3.2.4 Анализ сложности
В наихудшем случае вероятностный логический вывод для байесовских сетей является NP‑трудной задачей [1]. Сложность по времени и по
памяти определяется так называемой шириной дерева, или древесной
шириной (tree-width), при этом учитывается, насколько близка структура сети к дереву. Таким образом, байесовская сеть со структурой дерева (максимум один родитель для каждого узла) имеет ширину дерева,
равную единице. Полидерево, в котором существует не менее k родителей для каждого узла, имеет ширину дерева, равную k. В общем слу-

174

 Глава 7. Байесовские сети: представление и логический вывод

чае ширина дерева определяется по степени плотности (dense) топологии сети, и это оказывает воздействие на следующие характеристики:
(i) размер наибольшего фактора в алгоритме исключения переменных;
(ii) количество переменных, которым необходимо присвоить конкретные значения, в алгоритме обусловливания; (iii) размер наибольшей
клики в алгоритме дерева сочленений.
На практике байесовские сети достаточно часто представляют собой
разреженные графы, и в таких случаях методика дерева сочленений является весьма эффективной даже для моделей с сотнями переменных.
В более сложных сетях предпочтительнее использовать алгоритмы аппроксимации, которые описываются в следующем разделе.

7.3.3 Приближенный логический вывод
7.3.3.1 Алгоритм распространения с петлями
Это просто частное приложение алгоритма распространения вероятности для многосвязных сетей. Несмотря на то что в этом случае условия
для применения алгоритма не соблюдены, к тому же он предоставляет
только приближенное решение задачи логического вывода, все же этот
вариант алгоритма распространения вероятности весьма эффективен.
Учитывая, что байесовская сеть не является односвязной, при распространении сообщений могут образовываться петли (loop) в сети. Следовательно, процедура распространения повторяется несколько раз.
Ниже приведено пошаговое описание этой процедуры:
1) инициализация случайными значениями � и π значений (сообщений) для всех узлов;
2) повторение следующих операций до обеспечения сходимости
или достижения максимального числа итераций:
a) выполнение процедуры распространения вероятности в соответствии с алгоритмом для односвязной сети;
b) вычисление апостериорной вероятности для каждой переменной.
Этот алгоритм сходится, когда разность между апостериорными вероятностями для всех переменных на текущей и предыдущей итерациях меньше определенного порогового значения. Эмпирически было
определено, что для некоторых конкретных структур данный алгоритм
сходится к истинным значениям апостериорных вероятностей, но для
других структур алгоритм не является сходящимся [11].
Важным приложением алгоритма распространения доверия с петлями является Turbo Codes – широко распространенная схема обнаружения и исправления ошибок, используемая в системах обмена данными.

7.3 Логический вывод  175

7.3.3.2 Стохастическая имитация
Алгоритмы стохастической имитации, как можно понять из их названия, выполняют имитацию байесовских сетей несколько раз, при этом
каждая имитация дает экземпляр значения (выборку значений) для всех
переменных, которым изначально не было присвоено конкретное значение. Имитируемые значения выбираются случайно в соответствии с
условной вероятностью каждой переменной. Этот процесс повторяется
N раз, и апостериорная вероятность каждой переменной аппроксимируется с учетом частоты появления каждого значения в пространстве
выборки. Это позволяет оценить апостериорную вероятность, которая
зависит от количества выборок. Но при этом на стоимость вычислений
не влияет сложность сети. В следующих подразделах представлены два
алгоритма стохастической имитации для байесовских сетей: алгоритм
логической выборки (logic sampling) и оценка правдоподобия с весовыми
коэффициентами (likelihood weighting).
Алгоритм логической выборки
Алгоритм логической выборки (logic sampling) – это простой алгоритм стохастической имитации, который генерирует выборки в соответствии со следующей пошаговой процедурой:
1) генерация выборок значений для корневых узлов байесовской
сети в соответствии с их априорными вероятностями, т. е. для
каж­дой корневой переменной X генерируется случайное значение по распределению, соответствующему P(X);
2) генерация выборок для следующего уровня, на котором расположены потомки узлов с ранее сгенерированными выборками, в соответствии с условными вероятностями этих потомков
P(Y | Pa(Y)), где Pa(Y) – родители узла Y;
3) повторение шага 2 до тех пор, пока не будет выполнена генерация выборок для узлов-листьев.
Описанная выше процедура выполняется N раз для генерации N выборок. Вероятность каждой переменной оценивается как отношение
числа появлений (частоты) этого значения в N выборках к общему количеству выборок N, т. е. P(X = xi) ∼ No(xi) / N, где No(xi) – число случаев
X = xi во всех выборках.
Непосредственное применение описанной выше процедуры дает
оценку частных (распределений) вероятностей всех переменных при
отсутствии свидетельства. Если свидетельство существует (некоторым
переменным присвоены конкретные значения), то все выборки, логически не согласованные с этим свидетельством, исключаются, и апостериорные вероятности оцениваются по оставшимся выборкам.

 Глава 7. Байесовские сети: представление и логический вывод

176

Например, рассмотрим байесовскую сеть на рис. 7.13 и 10 выборок,
сгенерированных с помощью алгоритма логической выборки. Будем
считать, что все переменные являются бинарными, тогда 10 сгенерированных выборок приведены в табл. 7.3.
Таблица 7.3. Выборки, сгенерированные с использованием алгоритма логической
выборки для байесовской сети, показанной на рис. 7.13
Переменные

A

B

C

D

E

Выборка1

T

F

F

F

T

Выборка2

F

T

T

F

F

Выборка3

T

F

F

T

F

Выборка4

F

F

T

F

T

Выборка5

T

F

T

T

F

Выборка6

F

F

F

F

T

Выборка7

F

T

T

T

F

Выборка8

F

F

F

F

F

Выборка9

F

F

F

T

F

Выборка10

T

T

T

T

F

Все переменные бинарные с двумя возможными значениями: True = T или False = F.

Если свидетельство отсутствует, то с учетом выборок, приведенных в
табл. 7.3, частные вероятности оцениваются следующим образом:






P(A = T) = 4/10 = 0.4;
P(B = T) = 3/10 = 0.3;
P(C = T) = 5/10 = 0.5;
P(D = T) = 5/10 = 0.5;
P(E = T) = 3/10 = 0.3.

Остальные вероятности вычисляются просто как дополнения до единицы: P(X = F) = 1 − P(X = T).
Если свидетельство существует для D = T, то исключаются все выборки, в которых D = F, и оцениваются частные вероятности по остальным
четырем выборкам:





P(A = T | D = T) = 3/5 = 0.6;
P(B = T | D = T) = 2/5 = 0.4;
P(C = T | D = T) = 3/5 = 0.6;
P(E = T | D = T) = 1/5 = 0.2.

7.3 Логический вывод  177
Недостатком алгоритма логической выборки при существующем
свидетельстве является слишком большое количество исключаемых
выборок. Это приводит к тому, что для качественной оценки требуется большее количество выборок. В следующем подразделе представлен
алгоритм, который обращается с выборками не столь расточительно.
Оценка правдоподобия с весовыми коэффициентами
Алгоритм оценки правдоподобия с весовыми коэффициентами (likelihood weighting) генерирует выборки так же, как и алгоритм
логичес­кой выборки, но при наличии свидетельства несогласованные
логически выборки не исключаются. Вместо этого каждой выборке
присваи­вается весовой коэффициент, соответствующий весовому коэф­
фициенту свидетельства для данной конкретной выборки. Рассмот­рим
выборку s и переменные свидетельств E = {E1, …, Em}, тогда весовой коэф­
фициент выборки s оценивается следующим образом:


W(E | s) = P(E1)P(E2)…P(Em),

(7.22)

где P(Ei) – вероятность переменной свидетельства Ei для данной конкретной выборки.
Апостериорная вероятность для каждой переменной X, принимаю­
щей значение xi, оценивается посредством деления суммы весовых
коэф­фициентов Wi(X = xi) для каждой выборки, где X = xi, на общую сумму весовых коэффициентов для всех выборок:



P(X = xi) ∼ �Wi (X = xi) / �Wi.
i

(7.23)

i

7.3.4 Наиболее вероятное объяснение

Наиболее вероятное объяснение (most probable explanation – MPE),
или задача абдукции (abduction; обратный вывод), состоит в определении наиболее вероятных значений для подмножества переменных
(подмножества объяснения) в байесовской сети с учетом некоторого
свидетельства. Существует два варианта этой задачи: полная абдукция (total abduction) и частичная абдукция (partial abduction). В задаче
полной абдукции подмножество объяснения представляет собой множество всех переменных, не имеющих конкретного присвоенного значения. В задаче частичной абдукции подмножеством объяснения является правильно подобранное подмножество переменных, не имеющих
конкретного присвоенного значения. В общем случае наиболее вероятное объяснение – это не то же самое, что совокупность наиболее вероятных значений для каждой отдельной переменной в подмно­жестве
объяснения.

178

 Глава 7. Байесовские сети: представление и логический вывод

Рассмотрим множество переменных X = {XE, XR, XH}, где XE – подмножество переменных, не имеющих конкретного присвоенного значения,
тогда можно формализовать задачи MPE следующим образом:
• задача полной абдукции: ArgMaxX ,X P(XH, XR | XE);
H R
• задача частичной абдукции: ArgMaxX P(XH | XE).
H

Один из методов решения задачи MPE основан на измененной версии алгоритма исключения переменной. Для задачи полной абдукции
операции суммирования заменяются операциями максимизации:


maxX

H,XR

P(XH, XR | XE).

Для задачи частичной абдукции суммирование выполняется по тем
переменным, которые не входят в подмножество объяснения, а операция максимизации выполняется над подмножеством объяснения:

maxX �P(XH, XR | XE).
H
XR

Задача MPE с точки зрения вычислений является более сложной, чем
логический вывод с помощью единственного запроса.

7.3.5 Непрерывные переменные
До настоящего момента рассматривались байесовские сети с дискретными переменными, которые могут принимать несколько значений. При обработке непрерывных переменных одним из вариантов
является дискретизация переменных, но такой подход может привес­
ти к потерям информации (при малом количестве интервалов) или к
не­оправданному росту требований к вычислительным ресурсам (при
большом количестве интервалов). Другой вариант – работа непосредст­
венно с непрерывными распределениями (вероятностей). Для некоторых семейств распределения вероятностей были разработаны методики вероятностного логического вывода, в частности для гауссовых
переменных. Ниже будет описан простой алгоритм распространения
вероятностей для байесовских сетей с линейными гауссовыми переменными [14].
Для этого простого алгоритма формулируются следующие предварительные предположения:
1) структурой сети является полидерево;
2) все источники неопределенности являются гауссовыми переменными, и они не коррелированны (не связаны друг с другом);
3) существует следующее линейное отношение между каждой переменной и ее родителями:

7.3 Логический вывод  179


X = b1U1 + b2U2 + … + bnUn + WX,

где Ui – родители переменной X, bi – постоянные коэффициенты,
а WX представляет гауссов шум с нулевой меаной (средним значением).
Процедура логического вывода аналогична алгоритму распространения доверия в дискретных байесовских сетях, но вместо распространения вероятностей здесь распространяются меаны (средние значения) и стандартные отклонения. Для гауссовых распределений частные
распределения для всех переменных также являются гауссовыми. Таким образом, в общем случае апостериорную вероятность переменной
можно записать в следующем виде:


P(X | E) = N(μX, �X),

где μX и 𝜎X – соответственно меана (среднее значение) и стандартное
отклонение для переменной X с учетом свидетельства E.
Далее рассматривается методика вычисления меаны (среднего значения) и стандартного отклонения с применением алгоритма распространения. Каждая переменная передает своему родителю переменную i:




μi− = (1 / bi) �μ� − �bkμk+�,

(7.24)

k≠i

𝜎i− = (1 / bi2) �𝜎� − �bk2𝜎k+�.

(7.25)

k≠i

Каждая переменная передает своему узлу-потомку j:







�k≠j�μk−/𝜎k + μπ/𝜎π�

μ = —————————————,
�k≠j1/𝜎k− + μπ/𝜎π
+
j

(7.26)

–1



𝜎 = ��1/𝜎 + 1/𝜎π� .

(7.27)

μπ = �bi μi+,

(7.28)

+
j


k

k≠j

Каждая переменная суммирует сообщения, получаемые от своих потомков и родителей, с помощью следующих формул:




i

�π = �bi2�i+,
i

(7.29)

180

 Глава 7. Байесовские сети: представление и логический вывод





μ� = ���μj–/�j–,

(7.30)

j

�� = ��1/�
j

–1




j

.

(7.31)

Наконец, каждая переменная получает собственное среднее значение и стандартное отклонение, объединяя информацию, полученную
от своего родительского узла и узлов-потомков:

�πμ� + ��μπ

μX = —————————,
(7.32)
� π + ��





� π� �
𝜎X = ———————.
� π + ��

(7.33)

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

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

7.4.1 Валидация информации
Многие системы для принятия решений используют информацию.
Если информация ошибочна, это может привести к неоптимальным
решениям, а в некоторых случаях решения на основе ошибочных данных могут оказаться опасными. Рассмотрим пример стационарного
больничного устройства интенсивной терапии, в котором сенсорные
датчики наблюдают за состоянием оперируемого пациента, чтобы
темпе­ратура его тела поддерживалась в переделах нормы. Допустим,
что датчики работают постоянно, но иногда они могут выдавать ошибочные показания. При этом возможны две ситуации:

7.4 Приложения  181
• температурные датчики не показывают изменений температуры, даже если она увеличивается до опасных уровней;
• температурные датчики показывают опасный уровень, даже если
температура нормальная.
В первой ситуации возможно нанесение серьезного вреда здоровью
пациента. Во второй ситуации для пациента могут быть применены
меры экстренного лечения, которые также могут ухудшить его состоя­
ние.
Во многих приложениях существуют разнообразные источники
инфор­мации, например те же сенсорные датчики, которые не являются независимыми. Информация из одного источника дает некоторые сведения и о других источниках. Если есть возможность как-либо предста­вить эти зависимости между различными источниками, то
можно использовать их для выявления вероятных ошибок и избежания
ошибочных решений. В этом разделе представлен алгоритм валидации
(проверки корректности) информации на основе байесовских сетей [4].
Алгоритм начинает работу с создания модели зависимостей между источниками информации (переменными), представленными как
байе­совская сеть. Далее валидация выполняется в два этапа. На первом
этапе выявляются потенциальные критические ошибки посредством
сравнения действительного значения с прогнозируемым значением
взаимосвязанных переменных с помощью процедуры распространения в байесовской сети. На втором этапе действительные критические
ошибки изолируются с помощью создания дополнительной байесовской сети, основанной на свойстве марковского ограждения.

7.4.1.1 Выявление критических ошибок
Предполагается, что возможно создание вероятностной модели, связывающей все переменные в предметной области приложения. Например, рассмотрим сеть, показанную на рис. 7.17, которая представляет
самые простые функции газовой турбины.
Предположим, что необходимо проверить измеряемые показания
температуры в турбине. При считывании значений остальных сенсорных датчиков и применении процедуры распространения вероятностей
появляется возможность вычисления апостериорного распределения
вероятностейтемпературы с учетом всех свидетельств, т. е. P(T | Mw, P,
Fg, Pc, Pv, Ps). Предполагая, что все переменные являются дискретными
или дискретизируются, если они непрерывные, с помощью процедуры
распространения получаем распределения вероятностей для каждого
значения температуры T. Если действительно наблюдаемое значение
совпадает с допустимым верным (valid) значением, которое имеет высокую вероятность, то сенсорный датчик считается работающим пра-

182

 Глава 7. Байесовские сети: представление и логический вывод

вильно, иначе есть основания полагать, что датчик работает некоррект­
но.
Эта процедура повторяется для всех сенсорных датчиков в модели.
Но если валидация одного сенсорного датчика выполняется с исполь­
зованием неисправного датчика, то можно ожидать и крити­чески
некоррект­но проведенную процедуру валидации. В приведенном выше
примере что произойдет, если температура T проверяется с исполь­
зованием неисправного датчика энергии Mw? Как узнать, который из
датчиков неисправен? Таким образом, применяя описанную выше
процедуру валидации, можно лишь выявить условие критической неисправности, но нет возможности точно определить, какой именно
датчик действительно неисправен. Это называют видимой неисправностью (apparent fault). Поэтому необходим этап изоляции.
Pv

Ps

Pc

Fg

T

Pt

Mw

Рис. 7.17. Простая вероятностная модель газовой турбины. Мегаватты энергии,
генерируемые газовой турбиной (узел Mw), зависят от температуры (узел T)
и давления в турбине (узел Pt). Температура зависит от характеристик потока
газа (узел Fg), а сам поток газа зависит от состояния клапана, регулирующего поток
газа (узел Pv), и от давления, под которым подается газ (узел Ps).
Давление в турбине зависит от давления на выходе компрессора (узел Pc)

7.4.1.2 Изоляция критической неисправности
Этап изоляции критической неисправности основан на свойстве
марковского ограждения (Markov blanket). Например, в сети на рис. 7.17
MB(T) = {Mw, Fg, Pt}, а MB(Pv) = {Fg}. Множество узлов, составляющих
марковское ограждение сенсорного датчика, может рассматриваться
как защита этого датчика от изменений за пределами его марковского
ограждения. Дополнительно мы определяем расширенное марковское
ограждение (extended Markov blanket) узла X (EMB(X)) как мно­жество
датчиков, образованное самим этим датчиком и его марковским ограждением. Например, EMB(Fg) = {Fg, Pv, Ps, T}.

7.4 Приложения  183
При использовании этого свойства, если неисправность существует в
одном из датчиков, ее можно обнаружить в любом из датчиков, входящих в множество EMB. С другой стороны, если неисправность возникает за пределами EMB рассматриваемых датчиков, то она не влияет на
оценку датчика, для которого определено это расширенное марковское
ограждение. Тогда можно утверждать, что расширенное марковское
ограждение датчика действует как его защита от других критических
неисправностей, а также защищает другие датчики от неисправности
этого датчика. Мы используем расширенное марковское ограждение
EMB для создания модуля изоляции критической неисправности (fault
isolation), который отделяет действительные критические неисправнос­
ти (real faults) от видимых неисправностей (apparent faults). Полная теория разработана в [5].
После завершения цикла основных процедур валидации получено множество S видимо неисправных сенсорных датчиков. Таким образом, на основе сравнения множества S и EMB всех датчиков теория
определяет следующие ситуации:
1) если S = Ø, то критических неисправностей нет;
2) если S = EMB для датчика X и нет другого EMB, являющегося подмножеством S, то обнаружена единственная действительная неисправность датчика X;
3) если S = EMB для датчика X и существует одно или несколько
EMB, являющихся подмножеством S, то обнаружена действительная неисправность датчика X и, возможно, действительные
неисправности датчиков, EMB которых являются подмножествами S. В этом случае возможны множественные неразличаемые
действи­тельные критические неисправности;
4) если S равно объединению нескольких EMB и это объединение является единственным в своем роде, то обнаружены множественные различаемые действительные критические неисправности
во всех датчиках, EMB которых содержатся в множестве S;
5) если ни одно из перечисленных выше условий не выполнено, то
обнаружены множественные критические неисправности, но их
невозможно отличить друг от друга. Все переменные, EMB которых являются подмножествами S, могут иметь действительную
критическую неисправность.
Например, при рассмотрении модели байесовской сети на рис. 7.17
могут возникнуть следующие ситуации (возможны и другие ситуации):
• S = {T, Pt, Mw} – это соответствует ситуации 2 и подтверждает наличие одной действительной неисправности в узле Mw;

184

 Глава 7. Байесовские сети: представление и логический вывод

• S = {T, Pc, Pt, Mw} – это соответствует ситуации 3, т. е. обнаружена
действительная неисправность в узле Pt и, возможно, в узлах Pv
и Mw;
• S = {Pv, Ps, Fg} – это соответствует ситуации 4, т. е. обнаружены
действительные неисправности в узлах Pv и Ps.
Изоляция действительной критической неисправности выполняется следующим образом. На основе свойства расширенного марковского ограждения EMB, описанного выше, действительная неисправность
датчика X будет обнаружена, если выявлена видимая неисправность в
его полном расширенном марковском ограждении. Кроме того, можно утверждать, что видимая неисправность будет обнаружена, если
действительная неисправность существует в любом датчике расширенного марковского ограждения рассматриваемого здесь датчика.
На основе этих фактов определяется сеть изоляции, образуемая двумя
уровнями. Корневые узлы представляют действительные неисправности – по одному узлу для каждого датчика или переменной. Более
низкий уровень формируется из отдельных узлов, каждый из которых представляет конкретную видимую неисправность для каждой
переменной. Каждый узел является бинарной переменной с двумя
возможными значениями: {correct, faulty}. Следует отметить, что дуги
определяются EMB каждой переменной. На рис. 7.18 показана сеть
изоляции для сети выявления неисправностей на рис. 7.17. Например, узел видимой неисправности, соответствующий переменной Mw
(узел Amw), соединен с узлами Rmw, RT и RP, которые представляют дейст­
вительные неисправности узлов EMB переменной Mw. В то же время
узел Rmw соеди­нен со всеми узлами видимых неисправностей, причиной которых является эта действительная неисправность, т. е. с узлами Amw, AT и AP. Изоляция критических неисправностей выполняется с
помо­щью процедуры изоляции, описанной в алгоритме 7.1. Неисправные сенсорные датчики будут определяться по узлам действительных
не­исправностей с «высокой» вероятностью.
Алгоритм 7.1. Функция изоляции
Требования: Сенсорный датчик n и состояние сенсорного датчика n.
1. Присвоить значение (создать экземпляр) узлу видимого значения,
соответствующему датчику n.
2. Выполнить процедуру распространения вероятностей и получить апосте­
риорную вероятность для всех узлов действительных
неисправнос­
тей (Real fault).
3. Обновить вектор сенсорных датчиков Pf(sensors).

7.4 Приложения  185
Rpc

Rpt

Rmw

Rt

Rfg

Rpv

Rps

Apc

Apt

Amw

At

Afg

Apv

Aps

Рис. 7.18. Сеть изоляции для примера на рис. 7.17.
Узлы верхнего уровня представляют действительные неисправности,
а узлы нижнего уровня представляют видимые неисправности

7.4.2 Анализ надежности
Для анализа надежности сложных систем общепринятой методикой
является разделение системы на более мелкие элементы, блоки, подсистемы или компоненты. Основное предположение: каждая сущность
имеет два состояния – нормальное (success) и ошибочное (failure). Такое
разделение позволяет сгенерировать «блок-схему», похожую на описание работающей системы. Для каждого элемента определяется коэффициент ошибки (failure rate), и на этом основании вычисляется надежность всей системы в целом.
Обычно для анализа надежности используются деревья ошибок (fault
trees), но эта методика имеет ограничения, такие как предположение о
независимости событий, из-за чего трудно смоделировать зависимость
между событиями, т. е. ошибками. Зависимые события могут быть
определены при анализе надежности в следующих случаях: (i) общие
причины – условие или событие, являющееся причиной нескольких
элементарных ошибок; (ii) взаимоисключающие исходные события –
возникновение одного простого события заранее исключает другое
простое событие; (iii) избыточное резервирование – при возникновении ошибки в работающем компоненте в работу включается резервный
компонент, и избыточная конфигурация продолжает функционировать; (iv) компоненты, поддерживающие рабочую нагрузку, – ошибка в
одном из компонентов увеличивает рабочую нагрузку на другие компоненты поддержки этой функции. С помощью байесовских сетей можно
в явной форме представить зависимости между ошибками и по такой
методике моделировать сложные системы, которые трудно поддаются
моделированию по более привычным методикам [17].

7.4.2.1 Моделирование надежности с помощью
байесовских сетей
Анализ надежности начинается с представления структуры системы
в форме блок-схемы надежности. В этом представлении существуют две
основные структуры: последовательные и параллельные компоненты

186

 Глава 7. Байесовские сети: представление и логический вывод

(см. рис. 7.19). Последовательная структура предполагает, что две компоненты должны правильно работать для корректного функционирования системы, другими словами, если в одной компоненте возникает
ошибка, то нарушается работа всей системы (это соответствует вентилю
AND в дереве ошибок). В параллельных структурах достаточно, чтобы
одна из компонент работала правильно для корректного функционирования системы (вентиль OR в дереве ошибок).
б)

а)
A

B

A

B

Рис. 7.19. Блок-схемы надежности для простых структур надежности с двумя
компонентами: а) последовательная структура, б) параллельная структура

Описанные выше простые блок-схемы можно представить с помощью байесовской сети,
показанной на рис. 7.20. Структура одинакова в
обоих случаях, различаются только матрицы условных вероятностей. Матрицы условных вероятностей для обоих случаев показаны в табл. 7.4 и 7.5.
Априор­ные вероятности основных компонент
(A, B) представляют соответствующие коэффи­
циенты ошибок в обоих вариантах. Таким образом, применяя вероятностный логический вывод в представлении байесовской сети, получаем
коэф­фициент ошибок всей системы X.

A

B

X

Рис. 7.20. Структура
байесовской сети для
двух простых блоксхем надежности,
показанных на
рис. 7.19

Таблица 7.4. Таблица условных вероятностей P(X | A, B) для двух компонент
с последовательной структурой
X

A, B

A, ¬B

¬A, B

¬A, ¬B

Success (Норма)

1

0

0

0

Failure (Ошибка)

0

1

1

1

A означает, что компонента A в рабочем состоянии, а ¬A – ошибка в компоненте.

Таблица 7.5. Таблица условных вероятностей P(X | A, B) для двух компонент
с параллельной структурой
X

A, B

A, ¬B

¬A, B

¬A, ¬B

Success (Норма)

1

1

1

0

Failure (Ошибка)

0

0

0

1

A означает, что компонента A в рабочем состоянии, а ¬A – ошибка в компоненте.

7.5 Материалы для дополнительного чтения  187
Представление в виде байесовской сети простых последовательных и
параллельных вариантов можно напрямую обобщить для представления любой блок-схемы, которую можно преобразовать в множество последовательных и параллельных сочетаний компонентов, на практике
представляющее большинство систем. Существуют некоторые структуры, которые невозможно разложить на элементарные последовательные и параллельные сочетания, например мост (bridge). Тем не менее
также существует возможность моделирования таких вариантов с использованием байесовских сетей [17].

7.4.2.2 Моделирование зависимых критических ошибок
Главным преимуществом моделирования надежности с использованием байесовских сетей является возможность моделирования зависимых ошибок. Продемонстрируем это на примере системы с общими
причинами ошибок.
Предположим, что система содержит две компоненты, на которые воздействуют три возможных источника ошибок. Источник S1 воздейст­вует
на компоненту C1, источник S2 – на компоненту C2, а источник S3 – на обе
компоненты (общая причина). Например, такой системой может быть
электростанция с двумя подсистемами. Каждая подсистема содержит элементы, в которых могут возникать ошибки (сбои), но землетрясение может нарушить работу обеих подсистем. Модель байесовской сети для этого
примера зависимых ошибок показана на рис. 7.21. В этой модели таблица
условных вероятностей для всех трех некорневых узлов (C1, C2, X) равнозначна таблице условных вероятностей для последовательного сочетания
компонент. X представляет коэффициент ошибок всей системы в целом.
Этот коэффициент можно получить методом распространения вероятностей с учетом коэффициентов ошибок для трех источников ошибок.
S1

Sn

C1

S2

C2

X

Рис. 7.21. Структура байесовской
сети для системы с общими
причинами ошибок

7.5 Материалы для дополнительного чтения
Введение в байесовские сети изложено в классической книге Джуды
Перла (Judea Pearl) [14]. Другие широко известные книги по байесовским

188

 Глава 7. Байесовские сети: представление и логический вывод

сетям – [7, 12]. Недавнее описание БС с особым выделением моделирования и логического вывода приведено в [2], оно также включает анализ
сложности для различных методик логического вывода. Книги, в которых больше внимания уделено практическим приложениям, – [8, 15].
Обзор канонических моделей представлен в [3]. Алгоритм дерева сочленений изначально был представлен в [9], а две основные архитектуры
описаны в [6, 16]. Анализ алгоритма распространения с петлями можно
найти в [11]. Методика логического вывода для непрерывных гауссовых
переменных была описана в [14], а более обобщенный метод на основе
усеченных экспоненциальных функций представлен в [10].

7.6 Задания и упражнения
1. Для байесовской сети на рис. 7.2 определить: а) контур каждой
пере­менной; б) марковское ограждение каждой переменной; в) все
отношения условной независимости, подразумеваемые структурой
этой сети.
2. Вывести логически некоторые из отношений независимости в задании 1, используя аксиомы независимости.
3. Заполнить все таблицы условных вероятностей для байесовской
сети на рис. 7.5, предполагая, что все переменные являются бинарными.
4. Исследовать модель Noisy AND и получить таблицы условных
вероят­ностей для переменной с тремя причинами с вероятностями
препятствования возникновению следствия, равными 0.05, 0.1 и 0.2
соответственно.
5. Рассмотреть пример распространения доверия в разделе 7.3.1, вычислить апостериорные вероятности для всех переменных с применением алгоритма распространения доверия, считая, что единст­
венным свидетельством является C = true.
6. Повторить решение задания 5 с использованием процедуры исклю­
чения переменных.
7. Вычислить оценки апостериорных вероятностей в примере из
раздела 7.3.1 при тех же условиях, что и в заданиях 5 и 6 (C = true),
используя метод (алгоритм) логической выборки для различных
количеств выборок (10, 20, …), и сравнить полученные результаты,
используя методику точного логического вывода.
8. Для байесовской сети на рис. 7.18: а) выполнить морализацию
графа; б) выполнить триангуляцию графа; в) определить клики и

Ссылки на источники  189
сформировать дерево сочленений; г) получить множества C, S и R
для каждой клики в соответствии с алгоритмом дерева сочленений.
9. *** Разработать программу на основе процедуры (алгоритма)
Bayes ball для демонстрации d-разделенности. Рассматривая структуру байесовской сети, пользователь выбирает два узла и подмножество разделенности. Программа должна найти все пути между
этими двумя узлами, а затем определить, являются ли эти пути
независимыми, с учетом подмножества разделенности, применяя
процедуру Bayes ball. Показать в графической форме, проходит ли
шар по пути полностью или блокируется.
10. *** Разработать обобщенную программу реализации алгоритма распространения доверия для полидеревьев с учетом дискретных переменных. Разработать версию с параллельными вычислениями этой
программы с оптимальным распределением процессоров для эффективного распараллеливания алгоритма. Доработать обе версии
этой программы для алгоритма распространения доверия с петлями.

Ссылки на источники
1. Cooper, G. F. The computational complexity of probabilistic inference
using Bayesian networks. Artif. Intell. 42, 393–405 (1990).
2. Darwiche, A. Modeling and Reasoning with Bayesian Networks. Cambridge University Press, New York (2009).
3. Díez, F. J., Druzdzel, M. J. Canonical probabilistic models for knowledge engineering. Technical Report CISIAD-06-01. Universidad Nacional de Educación a Distancia, Spain (2007).
4. Ibargüengoytia, P. H., Sucar, L. E., Vadera, S. A probabilistic model for
sensor validation. In: Proceedings of the Twelfth Conference on Uncertainty in Artificial Intelligence UAI-96, p. 332–339. Morgan Kaufmann
Publishers Inc. (1996).
5. Ibargüengoytia, P. H., Vadera, S., Sucar, L. E. A probabilistic model for
information validation. Br. Comput. J. 49(1), 113–126 (2006).
6. Jensen, F. V., Andersen, S. K. Approximations inBayesian belief universes for knowledge based systems. In: Proceedings of the Sixth Conference on Uncertainty in Artificial Intelligence UAI-90, p. 162–169. Elsevier, New York (1990).
7. Jensen, F. V. Bayesian Networks and Decision Graphs. Springer, New York
(2001).
8. Korb, K. B., Nicholson, A. E. Bayesian Artificial Intelligence, 2nd edn.
CRC Press, Boca Raton (2010).

190

 Глава 7. Байесовские сети: представление и логический вывод

9. Lauritzen, S., Spiegelhalter, D. J. Local computationswith probabilities
on graphical structures and their application to expert systems. J. R. Stat.
Soc. Ser. B. 50 (2), 157–224 (1988).
10. Moral, S., Rumi, R., Salmerón, A. Mixtures of truncated exponentials in
hybrid Bayesian networks. Symb. Quant. Approaches Reason. Uncertain.
2143, 156–167 (2001).
11. Murphy, K. P., Weiss, Y., Jordan, M. Loopy belief propagation for approximate inference: an empirical study. In: Proceedings of the Fifteenth
Conference on Uncertainty in Artificial Intelligence, p. 467–475. Morgan
Kaufmann Publishers Inc. (1999).
12. Neapolitan, R. E. Probabilistic Reasoning in Expert Systems. Wiley, New
York (1990).
13. Pearl, J. Fusion, propagation and structuring in belief networks. Artif.
Intell. 29, 241–288 (1986).
14. Pearl, J. Probabilistic Reasoning in Intelligent Systems: Networks of
Plausible Inference. Morgan Kaufmann, San Francisco (1988).
15. Pourret, O., Naim, P., Marcot, B. (eds.) Bayesian Belief Networks: A Practical Guide to Applications. Wiley, New Jersey (2008).
16. Shenoy, P., Shafer, G. Axioms for probability and belief-function propagation. Uncertainty in Artificial Intelligence, vol. 4, p. 169–198. Elsevier,
New York (1990).
17. Torres-Toledano, J. G., Sucar, L. E. Bayesian networks for reliability analysis of complex systems. In: Coelho, H. (ed.) IBERAMIA’98. Lecture Notes
in Computer Science, vol. 1484, p. 195–206. Springer, Berlin (1998).

Глава

8

Байесовские сети: обучение

8.1 Введение
Обучение байесовской сети включает две составные части: обучение
структуры и обучение параметров. Если структура известна, то обучение параметров заключается в определении оценок таблиц условной
вероят­ности по имеющимся данным. Для обучения структуры сущест­
вуют два основных типа методов: (i) глобальные методы на основе поиска и числовой оценки и (ii) локальные методы, использующие проверки
условной независимости. В следующих разделах будут рассматриваться
обе составные части обучения, начиная с обучения параметров.

8.2 Обучение параметров
Если в наличии имеется достаточный и полный объем данных для всех
переменных и предполагается, что известна топология байесовской
сети, то обучение параметров выполняется достаточно просто. Таблицу условных вероятностей для каждой переменной можно оценить по
имеющимся данным на основе частоты появления каждого значения
(или сочетания значений), получая при этом средство оценки максимального правдоподобия (maximum likelihood) параметров. Например,
для оценки таблицы условных вероятностей для переменной B с учетом
наличия у этой переменной двух родителей A, C:


P(Bi | Aj, Ck) ∼ NBiAjCk / NAjCk,

(8.1)

192

 Глава 8. Байесовские сети: обучение

где NBiAjCk – число случаев в базе данных, в которых B = Bi, A = Aj и C = Ck,
а NAjCk – общее количество случаев, в которых A = Aj и C = Ck.

8.2.1 Сглаживание
При оценке вероятностей по имеющимся данным иногда может
возни­кать ситуация, в которой некоторое конкретное событие никогда не происходит в наборе данных. Из-за этого соответствующее значение вероятности становится равным нулю, что означает невозможный случай. Если вероятность этого события учитывается в процессе
логического вывода, то результат вывода также будет равен нулю. Во
многих случаях такая ситуация возникает из-за недостаточного объема данных, чтобы получить надежную и правильную оценку параметров, но не потому, что это событие действительно является невозможным.
Описанной выше ситуации можно избежать, если воспользоваться некоторым типом сглаживания (smoothing) для вероятностей, исключаю­
щим нулевые значения вероятностей. Существует несколько методик
сглаживания, из которых наиболее часто применяемой и самой простой является сглаживание Лапласа (Laplacian smoothing).
Сглаживание Лапласа состоит в инициализации вероятностей равномерным распределением и последующим обновлением значений на
основе имеющихся данных. Рассмотрим дискретную переменную X с k
возможными значениями. Изначально каждое значение вероятности
будет установлено как P(xi) = 1/k. Затем с учетом набора данных из N элементов, в котором значение xi встречается m раз, оценка вероятнос­ти
этого значения вычисляется по следующей формуле:


P(xi) = (1 + m) / (k + N).

(8.2)

8.2.2 Неопределенность параметров
Если объем данных недостаточен, что на практике встречается довольно часто, то мы имеем неопределенность параметров. Эту неопределенность можно смоделировать с использованием распределения вероятности второго порядка, и она может быть распространена
в процессе логического вывода. Таким образом, мы получаем оценку
не­определенности в полученных в результате вероятностях. Для бинарных переменных неопределенность параметров можно смоделировать,
используя бета-распределение:



(a + b + 1)!
�(a, b) = ———————— xa(1 − x)b.
a!b!

(8.3)

8.2 Обучение параметров  193
Для переменных с несколькими возможными значениями неопределенность параметров может быть представлена расширением бета-распределения, известным как распределение Дирихле.
Для варианта с бинарными переменными ожидаемое значение получаемого бета-распределения: P(bi) = (a + 1)/(a + b + 2), где a и b – параметры бета-распределения. Это представление также можно использовать при наличии экспертных оценок вероятностей. Параметры
бета-распределения могут представлять меру (степени) достоверности
(confidence) экспертных оценок, выражаемую изменением члена a + b
при одном и том же значении вероятности. Например:





полная неосведомленность: a = b = 0;
низкая достоверность: малое значение a + b (10);
средняя достоверность: среднее значение a + b (100);
высокая достоверность: большое значение a + b (1000).

Этим представлением можно пользоваться для объединения экспертных оценок с данными. Например, для аппроксимации значения
вероятности бинарной переменной bi можно использовать следующую
формулу:


P(bi) = (k + a + 1) / (n + a + b + 2),

(8.4)

где a и a + b представляют экспертную оценку, а k и n – вероятности, полученные по имеющимся данным (k – число появлений bi в n выборках).
Например, предположим, что эксперт дает оценку 0.7 для определенного параметра, а экспериментальные данные предоставляют 40 положительных результатов из 100 выборок. Оценки этого параметра для
различных степеней достоверности, назначаемых экспертной оценке,
будут следующими:
(40 + 7 + 1)
• низкая достоверность: (a + b = 10): P(bi) = ————————— = 0.43;
(100 + 10 + 2)
(40 + 70 + 1)
• средняя достоверность: (a + b = 100): P(bi) = ————————— = 0.55;
(100 + 100 + 2)
(40 + 700 + 1)
• высокая достоверность: (a + b = 1000): P(bi) = ————————— = 0.67.
(100 + 1000 + 2)
В первом случае здесь наблюдается преобладание влияния данных по
сравнению с влиянием оценки, но в третьем случае вероятность ближе
к экспертной оценке. Во втором случае обеспечивается определенный
компромисс.

194

 Глава 8. Байесовские сети: обучение

8.2.3 Недостаточный объем данных
Часто возникает другая ситуация – неполные данные. Здесь возможны два основных варианта:
• недостаточное количество значений (некоторые значения пропущены или потеряны) – в некоторых записях отсутствуют значения для одной или нескольких переменных;
• «исчезнувшие» узлы – переменные или множество переменных в
модели, для которых вообще нет данных.
При работе с недостаточным объемом данных возможно несколько
вариантов различных решений:
1) исключение записей с отсутствующими значениями;
2) принятие особенного «неизвестного» значения;
3) замена отсутствующего значения наиболее часто встречающимся значением (модой) для рассматриваемой переменной;
4) оценка отсутствующего значения на основе значений других переменных в соответствующей записи.
Первый и второй варианты решения приемлемы, если имеется доста­
точный объем данных, иначе можно потерять полезную информацию.
В третьем варианте не рассматриваются другие переменные, в результате модель может быть искажена (может возникнуть предвзятость).
Вообще говоря, самым лучшим вариантом является четвертый. В этом
случае сначала обучаются параметры байесовской сети на основе полных записей, затем пополняется комплект данных и повторно оцениваются параметры с применением описанного ниже процесса для каж­
дой записи с отсутствующими значениями:
1) присваивание значений всем известным переменным в текущей
записи;
2) с помощью вероятностного логического вывода определение
апостериорных вероятностей отсутствующих переменных;
3) присваивание каждой переменной значения с самой высокой
апостериорной вероятностью;
4) добавление этой дополненной записи в базу данных и повторное
вычисление оценок параметров.
В другом варианте описанного выше процесса вместо присваивания
значения с наивысшей вероятностью присваивается «частный» вариант из каждого набора возможных значений для переменной пропорционально соответствующей апостериорной вероятности.

8.2 Обучение параметров  195
Для «исчезнувших» узлов методика оценки их параметров основана
на EM-алгоритме.

8.2.3.1 «Исчезнувшие» узлы: EM-алгоритм
EM-алгоритм – это статистический метод, используемый для оценки параметров, если имеются ненаблюдаемые переменные. Процесс
состо­ит из двух этапов, которые повторяются итеративно:
• этап E – отсутствующие значения данных оцениваются на основе
текущих параметров;
• этап M – параметры обновляются на основе оцененных (на предыдущем этапе) данных.
Выполнение алгоритма начинается с инициализации отсутствующих
параметров случайными значениями.
Для базы данных с одним или несколькими «исчезнувшими» узлами
H1, H2, …, Hk EM‑алгоритм для оценки таблиц условных вероятностей
этих узлов выполняется следующим образом:
1) определение таблиц условных вероятностей для всех полноценных переменных (значения этих переменных и всех их родителей находятся в базе данных) на основе механизма оценки максимального правдоподобия;
2) инициализация неизвестных параметров случайными значения­
ми;
3) с учетом действительных параметров определение оценок значений «исчезнувших» узлов на основе известных переменных с
помощью вероятностного логического вывода;
4) использование значений, оцененных на предыдущем шаге для
«исчезнувших» узлов, для дополнения и/или обновления базы
данных;
5) повторное выполнение оценки параметров для «исчезнувших»
узлов с использованием обновленных данных;
6) повторение шагов 3–5 до сходимости (отсутствия значимых
изме­нений параметров).
Этот EM-алгоритм оптимизирует неизвестные параметры и позволяет вычислить локальный максимум (окончательные оценки зависят от
конкретной инициализации).

8.2.3.2 Пример
В этом разделе показано, как обрабатывать отсутствующие значения и «исчезнувшие» переменные, используя данные из примера Golf

196

 Глава 8. Байесовские сети: обучение

(см. табл. 8.1). В этом наборе данных есть отсутствующие значения для
переменной Температура (Temperature) (записи 1 и 9), кроме того, нет
никакой информации о ветре (переменная Ветер (Wind)), который является «исчезнувшим» узлом. Сначала продемонстрируем, как добавляются отсутствующие значения для температуры, затем рассмотрим
методику управления «исчезнувшим» узлом.
Таблица 8.1. Данные для примера Golf с отсутствующими значениями
для переменной Температура и «исчезнувшей» переменной Ветер
Прогноз

Температура 1

Влажность

Ветер

Игра

Солнечно

xxx

Высокая



Нет

Солнечно

Высокая

Высокая



Нет

Облачно

Высокая

Высокая



Игра

Дождь

Средняя

Высокая



Игра

Дождь

Низкая

Нормальная



Игра

Дождь

Низкая

Нормальная



Нет

Облачно

Низкая

Нормальная



Игра

Солнечно

Средняя

Высокая



Нет

Солнечно

xxx

Нормальная



Игра

Дождь

Средняя

Нормальная



Игра

Солнечно

Средняя

Нормальная



Игра

Облачно

Средняя

Высокая



Игра

Облачно

Высокая

Нормальная



Игра

Дождь

Средняя

Высокая



Нет

Предположим, что обучается наивный байесовский классификатор
(наивный байесовский классификатор – это частный тип байесовской
сети) на основе доступных данных (12 полных записей без переменной
Ветер), рассматривая переменную Игра (Play) как переменную класса,
а все остальные переменные как атрибуты. Затем на основе этой модели можно оценить вероятность температуры в тех записях, где это
значение отсутствует, с помощью вероятностного логического вывода
с использованием значений других переменных в соответствующих
запи­сях как свидетельство. Таким образом:
Запись 1: P(Температура | Солнечно, Высокая, Нет),
Запись 9: P(Температура | Солнечно, Нормальная, Игра).

8.2 Обучение параметров  197
Затем можно выбрать в качестве значения температуры одно из значений с самой высокой апостериорной вероятностью и добавить отсутствующие значения, как показано в табл. 8.2.
Таблица 8.2. Данные для примера Golf после дополнения отсутствующих значений
для переменной Температура и одной итерации EM-алгоритма для оценки
значений переменной Ветер
Прогноз

Температура 1

Влажность

Ветер

Игра

Солнечно

Средняя

Высокая

Нет

Нет

Солнечно

Высокая

Высокая

Нет

Нет

Облачно

Высокая

Высокая

Нет

Игра

Дождь

Средняя

Высокая

Нет

Игра

Дождь

Низкая

Нормальная

Да

Игра

Дождь

Низкая

Нормальная

Да

Нет

Облачно

Низкая

Нормальная

Да

Игра

Солнечно

Средняя

Высокая

Нет

Нет

Солнечно

Средняя

Нормальная

Нет

Игра

Дождь

Средняя

Нормальная

Нет

Игра

Солнечно

Средняя

Нормальная

Да

Игра

Облачно

Средняя

Высокая

Да

Игра

Облачно

Высокая

Нормальная

Да

Игра

Дождь

Средняя

Высокая

Да

Нет

Для «исчезнувшего» узла Ветер (Wind) невозможно получить соответствующие таблицы условных вероятностей с помощью наивного байесовского классификатора P(Ветер | Игра), так как полностью
отсутст­вуют значения для переменной Ветер. Но можно применить
EM-алгоритм с начальной инициализацией случайными значениями
параметров для таблиц условных вероятностей. Например, это может
быть равномерное распределение:




P(Ветер | Игра) =

0.5 0.5.
0.5 0.5

С учетом только что созданной таблицы условных вероятностей мы
получили полную первоначальную модель для наивного байесовского
классификатора и можем дать оценку вероятности ветреной погоды
для каждой записи на основе значений других переменных в соответст­

198

 Глава 8. Байесовские сети: обучение

вующей записи. Выбирая значение самой высокой вероятности в каж­
дой записи, можно заполнить всю таблицу, как показано в табл. 8.2. На
основе этой новой таблицы данных выполняется повторная оценка
пара­метров, и вычисляется новая таблица условных вероятностей:

0.60 0.44.

P(Ветер | Игра) =
0.40 0.56

На этом завершается один цикл EM-алгоритма. Затем процесс повторяется до тех пор, пока все параметры в таблице условных вероятностей
будут почти не отличаться от параметров, полученных на предыдущей
итерации. В этот момент достигнута сходимость EM-алгоритма, и мы
получили оценки отсутствующих параметров байесовской сети.

8.2.4 Дискретизация
Обычно байесовские сети работают с дискретными или номинальными значениями. Несмотря на то что существуют некоторые разработки для непрерывных переменных, они ограничены применением
конкретных распределений, в частности использованием гауссовых
переменных и линейных отношений. Другим вариантом включения
непрерывных переменных в байесовские сети является дискретизация.
Методы дискретизации могут быть (i) без учителя или (ii) с учителем.

8.2.4.1 Дискретизация без учителя
Методы дискретизации без учителя не рассматривают саму задачу,
для которой предполагается использовать конкретную модель (например, задачу классификации), поэтому интервалы для каждой переменной определяются независимо. Существуют два основных типа методов
дискретизации без учителя: с равными интервалами (по длине или ширине) и с равными наборами данных.
Методы с равными интервалами разделяют весь диапазон значений
переменной [Xmin; Xmax] на k равных элементов дискретизации, таких,
что каждый элемент имеет размер [Xmin; Xmax] / k. Количество интервалов
k обычно устанавливает пользователь.
Методы с равными наборами данных разделяют весь диапазон значений переменной на k интервалов, таких, что каждый интервал включает одинаковое число точек данных из тренировочного набора данных.
Другими словами, если существует n точек данных, то каждый интервал
будет содержать n/k точек данных. Это означает, что интервалы не обязательно имеют одинаковую ширину.

8.2.4.2 Дискретизация с учителем
Методы дискретизации с учителем рассматривают задачу, решаемую с
помощью конкретной модели, поэтому дискретизация переменных вы-

8.2 Обучение параметров  199
полняется для оптимизации решения этой задачи, например для повы­
шения точности классификации. Если рассматривать байесовскую сеть
для классификации, т. е. байесовский классификатор, то метод дискретизации с учителем можно применить напрямую. Переменные непре­
рывных атрибутов дискретизируются в соответствии со значения­ми
класса. Такой подход можно определить как задачу оптимизации.
Рассмотрим переменную атрибута X с диапазоном значений
[Xmin; Xmax] и переменную класса C с m значениями c1, c2, …, cm. При создании n тренировочных выборок, таких, что каждая из них содержит
значение для C и X, задача состоит в определении оптимальной части
диапазона значений X, такой, что точность классификатора становится
максимальной. Это задача комбинаторики с высокой сложностью вычислений, которую можно решить с использованием описанного ниже
процесса поиска:
1) генерация всех потенциально возможных делений на интервалы диапазона значений X, которые соответствуют значению в
[Xmin; Xmax], при изменении значения класса;
2) генерация первоначального множества из n интервалов на основе ранее определенных точек потенциально возможных делений;
3) проверка точности результатов байесовского классификатора (обычно на отдельном наборе данных, называемом набором
вали­дации) в соответствии с текущим вариантом дискретизации;
4) улучшение дискретизации посредством дополнительного разделения какого-либо интервала или объединения двух интервалов;
5) повторение шагов 3 и 4 до тех пор, пока точность классификатора уже невозможно будет повысить или пока не будут выполнены
некоторые другие условия завершения процесса дискретизации.
Можно использовать и другие методы поиска, в том числе самые
прос­тые, например алгоритм поиска восхождением к вершине, или более сложные методы, такие как генетические алгоритмы.
Описанный выше алгоритм не применяется для обобщенного
вариан­та байесовской сети, которую можно использовать для прогнозирования различных переменных на основе разнообразных переменных свидетельств. Для таких случаев существует метод дискретизации
с учителем [6], который дискретизирует непрерывные атрибуты во время обучения структуры байесовской сети. Этот метод основан на принципе минимальной длины описания (minimum description length – MDL),
который описан в разделе 8.3.3. Для каждой непрерывной переменной
количество интервалов определяется с учетом ее соседей в сети. Цель –
минимизация (минимальной) длины описания (нахождение компромисса между точностью и сложностью модели) с использованием ал-

200

 Глава 8. Байесовские сети: обучение

горитма поиска и метода тестирования по аналогии с процессом для
байесовских классификаторов. Процедура повторяется итеративно для
всех непрерывных переменных в сети.

8.3 Обучение структуры
Обучение структуры заключается в определении топологии байесовской
сети по имеющимся данным. Это сложная задача, поскольку: (i) коли­
чество возможных структур огромно даже при небольшом числе переменных (существует гиперэкспоненциальная зависимость от числа переменных, например для 10 переменных количество возможных
направ­ленных ациклических графов имеет порядок 4×1018), и (ii) требуется весьма большая база данных для вычисления качественных оценок
статистических числовых характеристик, от которых зависят все методы.
Для конкретного варианта структуры в форме дерева существует метод, обеспечивающий создание наилучшего дерева. Для более общих
вариантов было предложено несколько методов, которые можно разделить на два основных класса:
1) глобальные методы: [4, 5] выполняют эвристический поиск в прост­
ранстве структур сети, начиная с некоторой исходной структуры,
и генерируют вариант структуры на каждом шаге. Наилучшая
структура выбирается на основе числовой оценки, отображаю­
щей, насколько точно модель представляет имеющие­ся данные.
Наиболее часто используются числовые оценки байесовский информационный критерий (BIC) [4] и минимальная длина описания (MDL) [5];
2) локальные методы: основаны на вычислении оценок (не)зависимых связей между подмножествами переменных с учетом имею­
щихся данных для последующего определения структуры сети.
Наиболее известный вариант этого метода – PC-алгоритм [10].
Оба класса методов позволяют получить приблизительно одинаковые результаты при достаточном объеме данных. Локальные методы
обычно более чувствительны к ошибкам при малом количестве экземп­
ляров (и выборок) данных, а глобальные методы, как правило, имеют
бóльшую вычислительную сложность.
Далее будет рассматриваться алгоритм обучения дерева, разработанный Чоу (Chow) и Лю (Liu) [1], и его расширение для полидеревьев. Затем описываются методики обучения обобщенной структуры.

8.3.1 Обучение дерева
Чоу (Chow) и Лю (Liu) [1] разработали метод (алгоритм) для аппроксимации любого многомерного распределения вероятностей как про-

8.3 Обучение структуры  201
изведения распределений второго порядка, которое является основой
для обучения байесовских сетей, имеющих форму дерева. Совместную вероят­ность n случайных переменных можно аппроксимировать
следую­щим образом:




n

P(X1, X2, …, Xn) = �P(Xi | Xj(i)),

(8.5)

DI(P, P*) =�P(X)log(P(X)/P*(X)).

(8.6)

i=1

где Xj(i) – родитель Xi в дереве.
Задача заключается в определении наилучшего дерева, т. е. структуры дерева, которая лучше всего аппроксимирует действительное
распределение. Мера точности аппроксимации основана на различии
(разности) информации между действительным распределением (P) и
аппроксимацией в форме дерева (P*) и определяется следующей формулой:



X

Таким образом, теперь задача заключается в поиске дерева, которое
минимизирует DI.
Взаимосвязанная информация между любой парой переменных
определяется следующей формулой:



I(Xi, Xj) =

�P(X , X )log(P(X , X )/P(X )P(X )).
i

j

i

j

i

j

(8.7)

Xi,Xj

С учетом структуры дерева для байесовской сети с переменными X1,
X2, …, Xn определяется ее вес (weight) W как сумма взаимосвязанной информации дуг (пар переменных), из которых состоит это дерево:




n–1

W(X1, X2, …, Xn) = �I(Xi, Xj),

(8.8)

i=1

где Xj – родитель узла Xi в дереве (дерево с n узлами содержит n − 1 дуг).
Можно показать [1], что минимизация DI равнозначна максимизации W. Следовательно, создание оптимального дерева равнозначно
поис­ку остовного дерева максимального веса (maximum weight spanning
tree) с использованием следующего алгоритма:
1) определение взаимосвязанной информации (I) между всеми парами переменных (для n переменных существует n(n − 1)/2 пар);
2) упорядочение значений взаимосвязанной информации в убываю­
щем порядке;

 Глава 8. Байесовские сети: обучение

202

3) выбор пары с максимальным значением I и соединение этих двух
переменных дугой. Это позволит сформировать исходное дерево;
4) добавление пары со следующим максимальным значением I в
сформированное дерево, если эта пара не создает цикл, иначе
пропустить пару и перейти к следующей;
5) повторять шаг 4 до тех пор, пока все переменные не будут включены в дерево (n − 1 дуг).
Этот алгоритм позволяет получить скелет (как множество точек;
skeleton) дерева, т. е. он не обеспечивает определение направления дуг
в байесовской сети. Направления этих связей должны определяться с
использованием внешней семантики (смысловых характеристик предметной области) или с использованием проверок зависимостей более
высокого порядка (см. ниже).
Для демонстрации практического применения метода обучения дерева рассмотрим уже знакомый пример golf с 5 переменными: игра (play),
прогноз (outlook), влажность (humidity), температура (temperature), ветер (wind). С учетом некоторых данных определяется взаимосвязанная
информация, показанная в табл. 8.3.
Таблица 8.3. Взаимосвязанная информация в убывающем порядке
для примера golf
Номер

Переменная 1

Переменная2

Взаимосвязанная
информация

1

Температура

Прогноз

0.2856

2

Игра

Прогноз

0.0743

3

Игра

Влажность

0.0456

4

Игра

Ветер

0.0074

5

Влажность

Прогноз

0.0060

6

Ветер

Температура

0.0052

7

Ветер

Прогноз

0.0017

8

Игра

Температура

0.0003

9

Влажность

Температура

0

10

Ветер

Влажность

0

В этом примере выбираются первые четыре пары (дуги) и создается
дерево, показанное на рис. 8.1, в котором направления дуг были назначены произвольно.

8.3 Обучение структуры  203
P

H

O

W

T

Рис. 8.1. Структура дерева, сформированная для примера golf (P – игра (play),
O – прогноз (outlook), H – влажность (humidity), T – температура (temperature),
W – ветер (wind)). Направления дуг назначены произвольно

8.3.2 Обучение полидерева
Ребане (Rebane) и Перл (Pearl) [9] разработали метод, который можно использовать для определения направления дуг в скелете дерева, а
также в более общем случае – для обучения байесовской сети, имею­
щей форму полидерева (polytree). Алгоритм основан на проверках независимости троек переменных, и таким способом можно выделить
сходящиеся структуры. Как только одна или несколько структур этого
типа обнаружены в скелете, можно задать направление дополнительным дугам, применяя проверки независимости к соседним узлам. Но
при этом не обязательно обеспечивается определение направления для
всех дуг в дереве. Та же идея используется в PC-алгоритме для обучения
обобщен­ных структур.
Алгоритм начинает работу со скелетом (неориентированной структурой), полученным с помощью алгоритма Чоу и Лю. Далее выполняется
процесс обучения с назначением направления дуг и с использованием проверок независимости для троек переменных. При проверке трех
пере­менных существуют три возможности:
1) последовательные дуги: X → Y → Z;
2) расходящиеся дуги: X ← Y → Z;
3) сходящиеся дуги: X → Y ← Z.
Первые два случая неразличимы при проверке статистической независимости, т. е. они равнозначны. В обоих вариантах X и Z независимы
относительно Y. Третий случай отличается от первых двух, поскольку X и Z не являются независимыми относительно Y. Следовательно,

204

 Глава 8. Байесовские сети: обучение

третий вариант можно использовать для определения направлений
двух дуг, которые соединяют эти три переменные. Кроме того, можно
применить этот элемент знаний для обучения (определения направления) других дуг, используя проверки независимости. С учетом данного
принципа можно воспользоваться следующим алгоритмом для обучения полидеревьев:
1) создание скелета с использованием алгоритма Чоу и Лю;
2) итеративный проход по сети до тех пор, пока не будет сходящаяся
тройка переменных. Переменная, в которой сходятся дуги, называется узлом с несколькими родителями (multi‑parent node);
3) начиная с узла с несколькими родителями, определяются направления других дуг с использованием проверок независимости для
троек переменных. Эта процедура продолжается до тех пор, пока
не останется возможных вариантов (временная основа структуры);
4) шаги 2–3 повторяются до тех пор, пока не исчерпаются все возможности определения направлений дуг;
5) если какие-либо дуги остались ненаправленными, использовать
внешние семантические (смысловые) правила для логического
предположения об их направлении.
Для демонстрации работы этого алгоритма еще раз рассмотрим пример golf с уже созданным скелетом (неориентированной структурой).
Предположим, что тройка переменных H, P, W относится к варианту
сходящихся дуг. Тогда дуги будут направлены от H к P и от W к P. Далее
зависимость между H и W измеряется с помощью отношения к O с учетом P. Если H и W независимы от O с учетом P, то должна существовать
дуга, направленная от P к O. Наконец, проверяется отношение зависимости между P и T с учетом (относительно) O, и если P и T тоже признаны независимыми, то дуга направляется от O к T. На рис. 8.2 показана
полученная в результате структура.

8.3.3 Методики поиска с оценкой
Применение описанных выше методов ограничивается только структурами деревьев и полидеревьев. В этом и следующем разделах будут
рассматриваться методики обучения обобщенной структуры, начиная
с самых общих методов.
Глобальные методы поиска наилучшей структуры основаны на глобальной метрике. То есть генерируются различные структуры и оцениваются по отношению к имеющимся данным с использованием некоторого метода числовой оценки. Существуют разнообразные варианты
таких методов, но все они напрямую зависят от двух характеристик:

8.3 Обучение структуры  205
(i) меры соответствия между структурой и данными и (ii) метода поиска
наилучшей структуры.
P

H

O

W

T

Рис. 8.2. Полидерево, полученное для примера golf
с использованием алгоритма Ребане и Перла

8.3.3.1 Функции вычисления оценки
Существует несколько возможных мер соответствия, или функций
вычисления оценки. Для функций вычисления оценки требуются два
свойства [3]:
• возможность декомпозиции: функция вычисления оценки обладает возможностью декомпозиции, если значение, присваиваемое каждой структуре, можно выразить как сумму (в логарифмическом пространстве) локальных значений, которые зависят
только от каждого конкретного узла и его родителей. Это важно
для обоснования эффективности во время процесса поиска. Если
учитывать это свойство, то при внесении локального изменения в
структуру необходимо будет вычислить только соответствующую
часть оценки;
• равнозначность (эквивалентность) оценки: функция вычисления
оценки S обладает свойством равнозначности оценки, если она
присваивает одно и то же значение всем направленным ациклическим графам, которые представлены одинаковым существенным графом. При таком подходе результат оценивания класса
равнозначных структур будет одинаковым независимо от конк­
ретного направленного ациклического графа, выбранного из
этого класса. Структуры двух байесовских сетей соответствуют
одному и тому же существенному графу, если они равнозначны с
точки зрения отношений независимости, которые они представляют.

206

 Глава 8. Байесовские сети: обучение

Ниже описываются некоторые наиболее часто используемые функции вычисления оценки, в том числе оценка максимального правдоподобия (maximum likelihood – ML), байесовский информационный
критерий (Bayesian information criterion – BIC), байесовская оценка
(Bayesian score – BD) и принцип минимальной длины описания (minimum description length – MDL).
Функция оценки максимального правдоподобия выбирает структуру,
которая максимизирует вероятность данных D с учетом структуры G:


G* = ArgMaxG�P(D | �G, Gi)�,

(8.9)

BIC = logP(D | 𝛳G, Gi) − (d/2)logN,

(8.10)

где Gi – структура-кандидат, а 𝛳G – соответствующий вектор параметров
(вероятность каждой переменной с учетом ее родителей в оцениваемой
конкретной структуре).
Непосредственное применение функции оценки максимального
правдоподобия может привести к выбору весьма сложной сети, в которой обычно предполагается переподгонка (overfitting) данных (слабое
обобщение), а кроме того, усложняет логический вывод. Поэтому требуется опция штрафования сложных моделей.
Наиболее часто используемой функцией вычисления оценки, которая включает компоненту штрафования, является байесовский информационный критерий, или просто BIC, определяемый следующей формулой:


где d – количество параметров в байесовской сети, а N – количество вариантов в имеющихся данных. Преимущество этой метрики – не требуется определение априорной вероятности, а кроме того, она связана
с критерием минимальной длины описания (MDL), обеспечивая баланс
между точностью и сложностью модели. Но, учитывая значительную
штрафную компоненту за сложность модели, эта функция стремится
выбирать слишком простые структуры.
Байесовские оценки
Другая метрика вычисляется на основе байесовской статистики и
позволяет получить апостериорную вероятность структуры с учетом
имеющихся данных по правилу Байеса:


P(Gi | D) = P(Gi)P(D | Gi) / P(D).

(8.11)

Учитывая, что P(D) – постоянная величина, которая не зависит от рассматриваемой структуры, можно исключить этот элемент из метрики,
чтобы получить байесовскую оценку, или просто BD:


BD = P(Gi)P(D | Gi).

(8.12)

8.3 Обучение структуры  207
P(Gi) – это априорная вероятность модели. Она может быть определена
экспертом или задана так, чтобы предпочтение отдавалось более прос­
тым структурам. Можно также установить для нее просто равномерное
распределение.
Оценка BD является вариантом байесовской оценки, для которой
приняты следующие предположения: (i) параметры независимы и имеют априорное распределение Дирихле; (ii) равнозначным структурам
дается одинаковая оценка; (iii) экземпляры в выборках данных независимы и распределены одинаково (iid). При таких предположениях требуемые виртуальные счетчики (virtual count) для вычисления оценки
могут быть определены следующим образом:


Nijk = P(Xi = k, Pa(Xi) = j | Gi, �G) × N′.

(8.13)

Это оцениваемый счетчик для конкретной конфигурации: Xi = k при
Pa(Xi) = j, N′ – размер равнозначной выборки.
Предполагая, что гиперпараметры этих априорных распределений
одинаковы, можно еще больше упростить вычисление байесовской
оценки и получить так называемую метрику K216. Для этой оценки существует возможность декомпозиции, и она вычисляется для каждой
переменной Xi с учетом родителей этой переменной Pa(Xi):




qi

Si =

�[(r − 1)! / (N
j=1

i

ij

ri

+ ri − 1)!]

��
k=1

!,

ijk

(8.14)

где ri – количество значений Xi, qi – количество возможных конфигураций для родителей переменной Xi, 𝛼ijk – число случаев в базе данных,
когда Xi = k и Pa(Xi) = j, Nij – число случаев в базе данных, когда Pa(Xi) = j.
Эта метрика предоставляет практический вариант решения для вычисления оценки для байесовской сети. Другой широко применяемый
вариант на основе принципа минимальной длины описания (MDL)
описан в следующем подразделе.
Принцип минимальной длины описания (MDL)
Метрика (мера) MDL создает баланс между точностью и сложностью
модели. Точность оценивается посредством измерения взаимосвязанной информации между атрибутами и классом. Сложность модели оценивается количеством параметров. Постоянная величина 𝛼 в интервале
[0, 1] используется для регулирования веса каждой характеристики, т. е.
для баланса точности и сложности. Мера соответствия определяется
следующей формулой:

16

MC = 𝛼(W/Wmax) + (1 − 𝛼)(1 − L/Lmax),

K2 – это алгоритм для обучения байесовских сетей, описываемый ниже.

(8.15)

208

 Глава 8. Байесовские сети: обучение

где W представляет точность модели, а L – сложность. Wmax и Lmax
представ­ляют максимальную точность и максимальную сложность
соот­ветственно. Для определения максимальных значений обычно
устанавливается верхняя граница по количеству родителей, которое
разрешено иметь каждому узлу. Значение 𝛼 = 0.5 обеспечивает одинаковую значимость точности и сложности модели, тогда как значение,
близкое к нулю, придает бóльшую значимость сложности, а значение,
близкое к единице, делает более важной точность.
Сложность определяется по числу параметров, требуемых для представления модели, и может быть вычислена по следующей формуле:
L = Si�ki log2 n + d(Si − 1)Fi�,



(8.16)

где n – количество узлов, k – количество родителей каждого узла, Si –
среднее число значений для каждой переменной, Fi – среднее число
значений для каждой родительской переменной, d – количество битов
на каждый параметр.
Оценку точности можно вычислить на основе «веса» каждого узла –
такой подход аналогичен применению весовых коэффициентов в методике обучения деревьев. В данном случае вес каждого узла Xi оценивается на основе взаимосвязанной информации, получаемой от его
родителей Pa(Xi):
w(Xi, Pa(Xi)) = �P(Xi, Pa(Xi))log�P(Xi, Pa(Xi)) / P(Xi)P(Pa(Xi))�.

(8.17)

xi

Суммарный вес (точность) определяется суммой весов для каждого
узла:



W =�w(Xi, Pa(Xi)).

(8.18)

i

8.3.3.2 Алгоритмы поиска

После определения меры (метрики) соответствия для выбираемых
структур необходимо установить метод выбора «наилучшей» структуры
из возможных вариантов. Поскольку количество возможных структур
находится в экспоненциальной зависимости от количества переменных, практически невозможно вычислять оценку каждой структуры.
Для ограничения числа оцениваемых структур выполняется эвристический поиск. При этом можно применять несколько различных методов поиска. Наиболее часто используется методика поиска восхождением к вершине (hill climbing): сначала берется простая структура дерева,
которая улучшается до тех пор, пока не будет получена «наилучшая»
структура. Простейший жадный алгоритм поиска наилучшей структуры приведен ниже:

8.3 Обучение структуры  209
1) генерация исходной структуры дерева;
2) вычисление меры (метрики) соответствия для исходной структуры;
3) добавление и/или изменение направления дуг в текущей структуре;
4) вычисление меры (метрики) соответствия для новой структуры;
5) если соответствие повышается (улучшается), то сохранить изменения, иначе – вернуться к предыдущей структуре;
6) повторять шаги 3–5 до тех пор, пока дальнейшее улучшение станет невозможным.
Приведенный выше алгоритм не обеспечивает нахождение оптимальной структуры, так как при его выполнении возможно достижение
лишь локального максимума. На рис. 8.3 показана процедура поиска
для примера golf, которая начинается со структуры дерева, улучшающейся до получения конечной структуры. Для получения наилучшей
структуры могут применяться и другие методы поиска, такие как генетические алгоритмы, алгоритм имитации отжига, методы двунаправленного поиска и т. д.
P

H

O

P

W

T

H

O

P

W

T

H

O

W

T

Рис. 8.3. Несколько шагов процедуры обучения структуры в примере golf,
начинающейся со структуры простого дерева (слева) и завершающейся
получением конечной структуры (справа)

Другой способ сокращения количества оцениваемых возможных
структур – установление порядка переменных, метод, известный как
причинное упорядочение (casual ordering). При таком подходе дуги в
сети ограничиваются в соответствии с определенным порядком, т. е.
может существовать дуга NO от вершины Vj к вершине Vi, если j > i в
соответствии с установленным порядком. Алгоритм K2 [4] использует
преимущества этого подхода, предоставляя эффективный и широко
применяемый метод обучения байесовских сетей.

210

 Глава 8. Байесовские сети: обучение

8.3.3.3 Алгоритм K2
При использовании причинного упорядочения для всех переменных
обучение до наилучшей структуры равнозначно независимому выбору наилучшего множества родителей для каждого узла. Изначально все
переменные не имеют родителей. Затем алгоритм K2 постепенно добавляет родителей для каждого узла, пока эта операция увеличивает
глобальную оценку. Когда добавление родителей к любому узлу не увеличивает оценку, поиск останавливается. Кроме того, причинное упорядочение обеспечивает отсутствие циклов в графе.
В алгоритме 8.1 показана общая схема процедуры K2. Входными
данными для этого алгоритма является множество из n переменных
с причинным упорядочением X1, X2, …, Xn, база данных D, содержащая
m вариантов, и, как правило, критерий ограничения максимального
количества родителей каждой переменной u. Выходные данные представлены в виде множества родителей Pa(Xi) для каждой переменной,
которое определяет структуру сети. Начиная с первой переменной по
заданному порядку, алгоритм проверяет всех возможных родителей
этой переменной, которые пока еще не были добавлены в структуру,
и включает родителя, обеспечивающего максимальное приращение
общей оценки сети. Процедура повторяется для каждого узла сети до
тех пор, пока не останется родителей, способных увеличить общую
оценку.
Алгоритм 8.1. Алгоритм K2
Требования: Множество переменных X с причинным упорядочением, функция
вычисления оценки S, максимальное количество родителей u
Обеспечиваемый результат: Множество родителей для каждой переменной Pa(Xi)
for i = 1 to n do
oldScore = S(i, Pa(Xi))
incrementScore = true
Pa(Xi) =
Pa(Xi) = Ø
while incrementScore and |Pa(Xi)| < u do
let Z − узел в множестве Predesessors(Xi) − Pa(Xi), который максимизирует S
newScore = S(i, Pa(Xi) ∪ Z)
if newScore > oldScore then
oldScore = newScore
Pa(Xi) = Pa(Xi) ∪ Z
else
incrementScore = false
end if
end while

8.3 Обучение структуры  211
end for
return Pa(X1),Pa(X2),…,Pa(Xn)

8.3.4 Методики проверки независимости
Другой класс методик обучения структуры применяет локальный, а
не глобальный подход, используемый методиками числовой оценки и
поиска. Основная идея локального подхода – применение проверок независимости ко множествам переменных для воспроизведения структуры байесовской сети. Примером этого типа методик является алгоритм Чоу и Лю для деревьев. В следующем разделе будет представлен
метод обучения обобщенных структур – PC-алгоритм.

8.3.4.1 PC-алгоритм
PC-алгоритм [10] сначала формирует скелет (первоначальный
неориен­тированный граф) байесовской сети, затем определяет ориентацию ребер этого графа.
Для определения скелета алгоритм начинает работу с полносвязного
неориентированного графа и определяет условную независимость каж­
дой пары переменных с учетом некоторого подмножества других переменных. Для этого алгоритм предполагает, что существует процеду­ра,
способная определить, являются ли две переменные X, Y независимыми с учетом подмножества переменных S, т. е. I(X, Y | S). Другим вариан­
том этой процедуры является условная мера перекрестной энтропии.
Если эта мера ниже некоторого порогового значения, установленного в
соответствии с определенным уровнем достоверности, то ребро между
оцениваемой парой значений удаляется. Такие проверки последовательно выполняются для всех пар переменных в графе.
На втором этапе устанавливается направление ребер в графе на основе проверок условной независимости между тройками переменных.
Выполняется поиск в графе внутренних структур в форме X − Y − Z, таких, что не существует ребра X − Y. Если X, Y не являются независимыми
относительно Z, то алгоритм устанавливает направление ребер, создающее V-образную структуру X → Z ← Y. После того как все V-образные
структуры определены, алгоритм пытается установить направление
других ребер на основе проверок независимости, избегая при этом цик­
лов. В алгоритме 8.2 показана общая схема основной процедуры17.
Алгоритм 8.2. PC-алгоритм
Требования: Множество переменных X, процедура проверки независимости I
Обеспечиваемый результат: Направленный ациклический граф G
17

ADJ(X) – множество узлов, смежных (соседних) с узлом X в графе.

212

 Глава 8. Байесовские сети: обучение

1: Инициализация полного неориентированного графа G'
2: i=0
3: repeat
4:
for X ∈ X do
5:
for Y ∈ ADJ(X) do
6:
for S ⊆ ADJ(X) − {Y}, | S | = i do
7:
if I(X, Y | S) then
8:
Удалить ребро X − Y из графа G'
9:
end if
10:
end for
11:
end for
12: end for
13: i = i + 1
14: until | ADJ(X) | ≤ i, ∀X
15: Определить направления ребер в графе G'
16: return G

Если множество независимостей является достоверным (заслуживающим доверия) для графа18, а проверки независимости совершенны, то
алгоритм создает граф, равнозначный исходному, т. е. структуре байесовской сети, которая сгенерировала эти данные.
Методики проверки независимости полагаются на наличие достаточного объема данных для получения качественных оценок по результатам проверок независимости. Алгоритмы поиска и оценки становятся более надежными с увеличением размера набора данных,
но на производительность этих алгоритмов также влияет размер и
качест­во доступных данных. При недостаточном объеме данных другим вариантом является объединение экспертных знаний и имеющихся данных.

8.4 Объединение экспертных знаний
и имеющихся данных
При доступности экспертных знаний в предметной области можно объединить их с алгоритмами обучения, чтобы улучшить качество модели. При обучении параметров можно объединить имеющиеся данные
и экспертные оценки на основе бета-распределения и распределения
Дирихле, как описано в разделе 8.2.
При обучении структуры существуют две основные методики объ­
единения экспертных знаний и имеющихся данных:
18

Условие достоверности (faithfulness condition) можно интерпретировать как предположение о
том, что отношения условной независимости существуют благодаря причинной структуре, а не
из-за случайных свойств значений параметров [10].

8.5 Приложения  213
• использование экспертных знаний как ограничений для сокращения пространства поиска для обучающих алгоритмов;
• изначальное принятие структуры, предложенной экспертом, и
использование данных для проверки правильности и улучшения
этой структуры.
Существует несколько способов использования экспертных знаний
для поддержки выполнения алгоритмов обучения структуры:
1) определение порядка переменных (причинное упорядочивание),
такого, что дуга от Xi к Xj может существовать, только если Xj следует после Xi в соответствии с установленным порядком;
2) определение ограничений в отношении направленных дуг, которые обязательно должны существовать между двумя переменными, т. е. Xi → Xj;
3) определение ограничений по отношению к дуге между двумя
пере­менными, которая может быть направлена по-другому;
4) определение ограничений в отношении пар переменных, которые не связаны прямым отношением, т. е. не должно существовать дуги между Xi и Xj;
5) различные сочетания описанных выше ограничений.
Несколько вариантов методик обоих типов, алгоритмов поиска и
оценки и проверок независимости включают описанные выше ограничения.
Пример методики второго типа был представлен в главе 4 с применением алгоритма улучшения структуры. Эта методика начинает работу
со структуры наивного байесовского классификатора, которая улучшается посредством исключения, объединения и/или вставки переменных. Этот принцип можно распространить и на обобщенные структуры
байесовских сетей, в особенности на байесовские сети, имеющие структуру дерева.

8.5 Приложения
Существует много предметных областей, в которых применялись и применяются методы обучения байесовских сетей для лучшего понимания
конкретной предметной области или для прогнозирования на основе
частичных наблюдений. Примеры: медицина, финансовая сфера, промышленность, мониторинг окружающей среды и многие другие. В следующем разделе рассматривается пример моделирования загрязнения
воздуха в Мехико-сити.

214

 Глава 8. Байесовские сети: обучение

8.5.1 Модель загрязнения воздуха в Мехико-сити
Качество воздуха в Мехико-сити представляет собой серьезную проб­
лему. Уровень загрязнения воздуха в Мехико один из самых высоких в
мире с высоким средним ежедневным уровнем выброса нескольких основных загрязняющих веществ, таких как углеводороды, оксиды азота,
монооксид углерода и т. п. Загрязнение в основном происходит из-за
выхлопных газов транспорта и выбросов в атмосферу промышленных
предприятий. При воздействии на основные загрязняющие вещества
солнечного света происходят химические реакции с выделением разно­
образных вторичных загрязняющих веществ, и уровень озона становится наиболее важной характеристикой. Кроме проблем со здоровьем,
причинами которых может стать загрязнение воздуха, уровень озона
считается показателем качества воздуха в городских районах.
Наблюдение за качеством воздуха выполняется на 25 пунктах в Мехико-сити, при этом пять из этих пунктов проводят наиболее полные
исследования. В каждом из этих пяти пунктов измеряются девять переменных, в том числе направление и скорость ветра, температура (воздуха), относительная влажность, концентрация диоксида серы (сернис­того
газа), монооксида углерода, диоксида азота и озона. Измерения производятся каждую минуту 24 часа в сутки и усредняются по каждому часу.
Важно иметь возможность прогнозирования уровня загрязнения на
несколько часов вперед или даже на следующий день по нескольким
причинам:
1) обеспечение принятия срочных экстренных мер, если уровень
загряз­нения прогнозируется выше определенного порогового
значения;
2) помощь промышленным предприятиям в разработке предварительных планов на случай чрезвычайных обстоятельств с целью
минимизации расходов на принятие экстренных мер;
3) оценка (прогноз) уровня загрязнения в районе, где не выполняются измерения;
4) предварительные меры защиты в некоторых местах, например в
школах, с целью снижения вероятности угроз здоровью из-за высокого уровня загрязнения.
В Мехико-сити уровень концентрации озона используется как глобальный показатель качества воздуха в различных частях города. Уровни концентрации озона определяются в единицах IMECA (Mexican air
quality index). Важно спрогнозировать уровень концентрации озона на
следующий день или, как минимум, на несколько следующих часов, используя другие переменные, измеряемые в различных пунктах.

8.5 Приложения  215
Полезно знать зависимости между различными измеряемыми переменными и особенно их влияние на концентрацию озона. Это обеспечивает лучшее понимание задачи в целом и дает несколько потенциальных преимуществ:
• определение факторов, которые являются более важными для
уровня концентрации озона в Мехико-сити;
• упрощение задачи вычисления оценки, если учитывать только
важную информацию;
• выявление самых важных основных причин загрязнения воздуха
в Мехико-сити – это может помочь при будущем планировании
мер по снижению уровня загрязнения.
Начнем с применения алгоритма обучения для получения исходной структуры наблюдаемого явления [11]. Для этого рассматриваются 47 переменных: 9 переменных измерений для каждого из 5 главных
пунктов плюс время суток и месяц, в которые были зафиксированы эти
измерения. Было использовано около 400 случайных выборок и применен алгоритм Чоу и Лю для получения структуры дерева, которая наилучшим образом аппроксимирует распределение данных. Структура
байесовской сети в форме дерева показана на рис. 8.4.
Затем принимается, что концентрация озона в одном пункте (Пед­
регаль) неизвестна, поэтому вычисляется ее оценка, прогнозируемая
на один час вперед с использованием результатов других измерений.
Таким образом, создается гипотетическая переменная ozone-Pedregal
(O3_T), которая рассматривается как корень в вероятностном дереве,
как показано на рис. 8.4. Из этой исходной структуры можно получить
представление о значимости или влиянии других переменных для определения оценки переменной ozone-Pedregal. Самые близкие узлы к корню являются наиболее важными, а более удаленные узлы менее важны.
В этом примере можно видеть, что существуют три переменные
(ozone-Merced, ozone-Xalostoc и скорость ветра в пункте Педрегаль), которые оказывают наибольшее воздействие на переменную ozone-Pedregal.
Более того, если структура дерева является качественной аппроксимацией «действительной» структуры, то эти три узла обеспе­чивают независимость переменной ozone-Pedregal от остальных переменных (см. рис. 8.4).
Таким образом, в качестве первой проверки этой структуры определяется оценка переменной ozone-Pedregal с использованием только этих трех
переменных. Выполняются два эксперимента: (1) оценка переменной
ozone-Pedregal с использованием 100 случайных выборок из тренировочных данных, (2) оценка переменной ozone-Pedregal с использованием 100
других выборок из отдельных данных, не используе­мых для тренировки.
Мы наблюдаем, что даже с тремя параметрами оценки получаются достаточно качественными. Для тренировочных данных средняя ошибка

216

 Глава 8. Байесовские сети: обучение

(абсолютная разность между действительной и оцениваемой (прогнозируемой) концентрацией озона) равна 11 IMECA, или 12 %, а для данных,
не используемых для тренировки, – 26 IMECA, или 22 %.
O3_T

O3_L

VV_T

O3_Q

RH_X
RH_F

VV_Q
O3_X
DV_Q

TMP_X

RH_Q
NOX_T

DV_T

DV_F
NO2_T

CO_T

TMP_Q
NO2_Q
O3_F

TMP_F

MES
SO2_T

HORA

TMP_T

SO2_X

TMP_L
SO2_F
NO2_F

SO2_Q

NOX_F
VV_L

RH_L
CO_F

RH_T
DV_L

NOX_L

VV_F

VV_X

NOX_X
DV_X

NO2_L
CO_X

CO_L
SO2_L

CO_Q
NO2_X

NOX_Q

Рис. 8.4. Байесовская сеть в форме дерева, которое представляет наблюдения
за концентрацией озона в пяти пунктах в Мехико-сити. Узлы представляют
47 переменных в соответствии со следующей системой условных обозначений.
Для измеряемых переменных каждое имя образуется из двух частей
«измерение–пункт» с использованием перечисленных ниже сокращений.
Сокращения для измерений: O3 – озон, SO2 – диоксид серы, CO – монооксид
углерода, NO2 – диоксид азота, NOX – оксиды азота, VV – скорость ветра,
DV – направление ветра, TMP – температура, RH – относительная влажность.
Сокращения названий пунктов наблюдения: T – Педрегаль, F – Тланепантла,
Q – Мерсед, L – Халосток, X – Серро де ла Эстрелла. Другие две переменные
соответствуют времени выполнения измерений: HORA – время, MES – месяц

8.7 Задания и упражнения  217
В полученной структуре сделано интересное наблюдение: переменная ozone-Pedregal (расположение на юге города) зависит в основном от
трех переменных: ozone-Merced и ozone-Xalostoc (расположение в цент­
ре и на севере города) и скорость ветра в Педрегале. Иначе говоря, загрязнение воздуха в южной части города зависит в основном от уровня
загрязнения в центре и в северной части города (где более интенсивное
транспортное движение и больше промышленных предприятий) и от
скорости ветра, который переносит загрязняющие вещества с севера
на юг. Это явление было уже известно и ранее, но оно автоматически
обнаружено при обучении байесовской сети. Таким же образом могут
быть обнаружены и другие, не столь известные связи, которые могут
оказаться полезными для принятия решений по регулированию уровня
загрязнения воздуха и принятию экстренных мер.

8.6 Материалы для дополнительного чтения
Основная книга по обучению байесовских сетей – [7]. Хекерман (Hecker­
man) [4] предлагает полное руководство по обучению байесовских сетей. Алгоритмы обучения дерева и полидерева описаны в [8]. Общее
введение в обучение байесовских сетей с точки зрения статистики
приведено в [10]. Анализ разнообразных функций вычисления оценки
представлен в [3].

8.7 Задания и упражнения
1. В приведенной ниже табл. 8.4 содержатся исходные данные для
примера golf с применением числовых значений для некоторых переменных. Выполнить дискретизацию этих переменных с использованием трех интервалов для каждой переменной: а) с равными
интервалами (равной шириной) дискретизации, б) с равными наборами данных.
Таблица 8.4
Прогноз

Температура

Влажность

Ветер

Игра

Солнечно

19

Высокая

5

Нет

Солнечно

25

Высокая

3

Нет

Облачно

26

Высокая

3

Игра

Дождь

17

Высокая

6

Игра

Дождь

11

Нормальная

15

Игра

Дождь

7

Нормальная

17

Нет

Облачно

8

Нормальная

11

Игра

218

 Глава 8. Байесовские сети: обучение
Прогноз

Температура

Влажность

Ветер

Игра

Солнечно

20

Высокая

7

Нет

Солнечно

19

Нормальная

1

Игра

Дождь

22

Нормальная

5

Игра

Солнечно

21

Нормальная

20

Игра

Облачно

22

Высокая

18

Игра

Облачно

28

Нормальная

16

Игра

Дождь

18

Высокая

Да

3

2. Используя дискретизированные данные из задания 1, сформировать таблицы условных вероятностей для структуры байесовской
сети, показанной на рис. 8.2.
3. Продолжить выполнение EM-алгоритма для примера в разделе 8.2.3.2 до полной сходимости. Показать итоговую таблицу условных вероятностей P(Ветер | Игра) и итоговую таблицу данных.
4. На основе данных для примера golf, приведенных в табл. 8.2,
обучить скелет дерева байесовской сети с использованием алгоритма Чоу и Лю.
5. Определить направления дуг в скелете из задания 4, применяя метод обучения полидерева.
6. На основе набора данных из задания 5 (табл. 8.2) обучить байесовскую сеть, применяя PC‑алгоритм. Использовать меру (метрику)
перекрестной энтропии (рассматривалась в главе 2) для проверки
условной независимости.
7. Используя набор данных, приведенных ниже в табл. 8.5: а) обучить
наивный байесовский классификатор, рассматривая C как класс;
б) обучить байесовскую сеть со структурой дерева и закрепить
направления дуг, рассматривая C как коренной узел; в) сравнить
структуры обеих моделей.
Таблица 8.5
A1

A2

A3

C

0

0

0

0

0

1

1

1

0

1

0

1

0

0

1

1

Ссылки на источники  219
A1

A2

A3

C

0

0

0

0

0

1

1

0

1

1

0

1

0

0

0

1

0

1

0

0

0

1

1

0

8. Для набора данных из задания 7 (табл. 8.5) использовать метод сглаживания Лапласа для получения таблиц условных вероятностей для
обеих моделей: наивного байесовского классификатора и дерева
байесовской сети. Сравнить полученные таблицы с таблицами условных вероятностей без сглаживания.
9. *** Разработать программу реализации алгоритма обучения полидерева. Применить эту программу к данным примера golf и сравнить полученный результат с результатами, полученными при выполнении задания 2.
10. *** Разработать программу реализации алгоритма обучения байесовской сети по имеющимся данным с использованием метода поиска и оценки на основе функции вычисления оценки MDL и другой
вариант на основе проверок независимости (PC-алгоритм). Применить оба варианта к разнообразным наборам данных и сравнить
результаты.

Ссылки на источники
1. Chow, C. K., Liu, C. N. Approximating discrete probability distributionswith dependence trees. IEEE Trans. Inf. Theory 14, 462–467 (1968).
2. Cooper, G. F., Herskovitz, E. A Bayesian method for the induction of
probabilistic networks from data. Mach. Learn. 9 (4), 309–348 (1992).
3. De Campos, L. M. A scoring function for learning Bayesian networks
based on mutual information and conditional independence tests.
J. Mach. Learn. Res. 7, 2149–2187 (2006).
4. Heckerman, D. A Tutorial on Learning with Bayesian Networks. Innovations in Bayesian Networks, p. 33–82. Springer, Netherlands (2008).
5. Lam, W., Bacchus, F. Learning Bayesian belief networks: an approach
based on the MDL principle. Comput. Intell. 10, 269–293 (1994).

220

 Глава 8. Байесовские сети: обучение

6. Martínez, M., Sucar, L. E. Learning an optimal naive Bayes classifier. In:
18th International Conference on Pattern Recognition (ICPR), vol. 3,
p. 1236–1239 (2006).
7. Neapolitan, R. E. Learning Bayesian Networks. Prentice Hall, New Jersey
(2004).
8. Pearl, J. Probabilistic Reasoning in Intelligent Systems: Networks of
Plausible Inference. Morgan Kaufmann, San Francisco (1988).
9. Rebane, G., Pearl, J. The recovery of causal poly-trees from statistical
data. In: Kanal, Laveen N., Levitt, Tod S., Lemmer, John F. (eds.) Uncertainty in Artificial Intelligence, p. 175–182 (1987).
10. Spirtes, P., Glymour, C., Scheines, R. Causation, Prediction, and Search.
Springer, Berlin (1993).
11. Sucar, L. E., Ruiz-Suarez, J. C. Forecasting air pollution with causal pro­
babilistic networks. In: Barnett, V., Turkman, K. F. (eds.) Statistics for
the Environment 3: Statistical Aspects of Pollution, p. 185–197. Wiley,
Chichester (2007).

Глава

9

Динамические и временные

байесовские сети

9.1 Введение
Байесовские сети обычно представляют состояние конкретного явления в некоторый момент времени. Но во многих приложениях необходимо представить развитие рассматриваемого процесса во времени,
т. е. показать, как различные переменные изменяются со временем.
Такое представление также называют временнóй последовательностью
(time series).
Существуют два типа моделей байесовских сетей для динамических
процессов: основанные на состояниях (state) и основанные на событиях
(event). Модели на основе состояний представляют состояние каждой
переменной в дискретные интервалы времени, поэтому такие сети состоят из последовательности интервалов (квантов) времени (time slices),
при этом каждый интервал времени определяет значение каждой переменной в момент времени t. Такие модели известны как динамические
байесовские сети. Модели на основе событий представляют изменения
состояния каждой переменной состояния. Затем каждой временнóй
переменной ставится в соответствие время, в которое произошло изменение состояния. Этот тип моделей называют сетями событий (event
networks) или временными сетями (temporal networks).
В данной главе рассматриваются оба типа – динамические байесовские сети и временные сети, включая их представление, логический вывод и обучение.

222

 Глава 9. Динамические и временные байесовские сети

9.2 Динамические байесовские сети
Динамические байесовские сети (dynamic Bayesian networks) представляют собой расширение байесовских сетей для моделирования динамических процессов. Динамическая байесовская сеть состоит из после­
довательности интервалов (квантов) времени (time slices), которые
представляют состояние всех переменных в конкретный момент времени t, т. е. своего рода мгновенный снимок процесса, развивающегося
во времени. Для каждого интервала времени определяется структура
зависимости между переменными в этом интервале времени. Такая
структура называется базовой сетью (base network). Обычно предполагается, что эта структура повторяется для всех интервалов времени
(исклю­чая первый интервал, для которого структура может отличаться). Кроме того, существуют ребра между переменными из различных
интервалов с направлениями, заданными по времени, определяющие
сеть переходов (transition network). Обычно для динамических байесовских сетей существует следующее ограничение: направленные связи могут существовать только между последовательными интервалами
времени. Такая структура известна как марковская модель первого порядка. Но, вообще говоря, это ограничение не является обязательным.
Пример динамической байесовской сети с 3 переменными и 4 интервалами времени показан на рис. 9.1.
Xt

Xt+1

Xt+2

Xt+3

St

St+1

St+2

St+3

Et

Et+1

Et+2

Et+3

Рис. 9.1. Пример динамической байесовской сети с 3 переменными
и 4 интервалами времени. В этом примере базовой структурой (сетью)
является X → S → E, которая повторяется во всех 4 интервалах времени

Большинство динамических байесовских сетей, применяемых на
практике, соблюдают следующие условия:
• марковская модель первого порядка – переменные состояния в
момент времени t зависят только от переменных состояния в момент времени t − 1 (и от других переменных в момент времени t);

9.2 Динамические байесовские сети  223
• стабильный процесс – структура и параметры модели не изменяются во времени.
Динамические байесовские сети можно рассматривать как обобщение марковских цепей и скрытых марковских моделей. Марковская
цепь является простейшей динамической байесовской сетью, где в каж­
дом интервале времени существует только одна переменная Xi, на которую напрямую воздействует лишь переменная из предшествующего
интервала времени. В этом случае совместное распределение можно
записать в виде следующей формулы:


P(X1, X2, …, XT) = P(X1)P(X2 | X1)…P(XT | XT−1).

(9.1)

Скрытая марковская модель содержит две переменные в каждом интервале времени: первую называют переменной состояния (state variable) S, вторую – переменной наблюдения (observation variable) Y. Обычно
предполагается, что переменная St зависит только от переменной St-1,
а переменная Yt зависит лишь от St. Таким образом, совместную вероятность можно определить в виде следующего произведения:




T

�P(S | S

P�{S1:T, Y1:T}� = P(S1)P(Y1 | S1)

t=2

t

)P(Yt | St).

t-1

(9.2)

Марковские цепи и скрытые марковские модели являются частными
случаями динамических байесовских сетей, которые в общем случае
могут содержать N переменных в каждом интервале времени, с любой
базовой структурой и структурой переходов. Другим частным случаем
динамических байесовских сетей являются фильтры Калмана (Kalman
filters), которые также содержат одну переменную состояния и одну
пере­менную наблюдения, но обе переменные являются непрерывными. Прос­тые фильтры Калмана предполагают использование гауссовых
распре­делений и линейных функций для моделей переходов и наблюдений.

9.2.1 Логический вывод
Существует несколько классов логического вывода, которые можно
выполнять в динамических байесовских сетях. Ниже кратко определены
основные типы логического вывода, где X – множество ненаблюдаемых
(скрытых) переменных, Y – множество наблюдаемых переменных [9]:
• фильтрация (filtering) – прогноз следующего состояния на основе
прошлых наблюдений: P(Xt+1 | Y1:t);
• прогнозирование (prediction) – прогноз будущих состояний на основе прошлых наблюдений: P(Xt+n | Y1:t);

224

 Глава 9. Динамические и временные байесовские сети

• сглаживание (smoothing) – оценка текущего состояния на основе прошлых и будущих наблюдений (полезно для обучения):
P(Xt | Y1:T);
• декодирование (decoding) – поиск наиболее правдоподобной (вероятной) последовательности скрытых переменных с учетом
наблю­дений: ArgMax(X1:T)P(X1:T | Y1:T).
Эффективные методы логического вывода разработаны для конкретных типов моделей, например для скрытых марковских моделей [10]
(см. главу 5). Но для более сложных моделей логический вывод становится весьма трудновыполнимым с точки зрения вычислений. В таких
случаях можно применить метод аппроксимации на основе сэмплирования, например метод Монте-Карло с использованием марковских
цепей [6]. Широко распространенным методом аппроксимации явля­
ется многочастичный фильтр (particle filter), который аппроксимирует распре­деление вероятностей состояния (состояние доверия) на
множест­ве взвешенных частиц (particles) или элементов выборки [9].

9.2.2 Обучение
Как и в случае байесовских сетей, при обучении динамических байе­
совских сетей подразумевается два аспекта: (i) обучение структуры, или
определение топологии графа, и (ii) обучение параметров, или определение таблиц условных вероятностей для каждой переменной. Дополнительно можно рассмотреть два варианта с точки зрения наблюдаемости переменных: а) полная наблюдаемость, когда существуют данные
для всех переменных, и б) частичная наблюдаемость, когда некоторые
переменные являются ненаблюдаемыми, или скрытыми, либо если отсутствуют данные для некоторых переменных. Существуют четыре основных варианта обучения динамических байесовских сетей, показанных в табл. 9.1.
Таблица 9.1. Обучение динамических байесовских сетей: 4 основных варианта
Структура

Наблюдаемость

Метод

Известна

Полная

Оценка максимального правдоподобия

Известна

Частичная

EM-алгоритм

Неизвестна Полная

Поиск (глобальный) или проверки(локальные)

Неизвестна Частичная

EM-алгоритм и глобальные или локальные методы

Для всех вариантов можно применять расширения методов обучения параметров и структуры для байесовских сетей, которые рассмат­
ривались в главе 8. Одно из таких расширений описывается ниже,

9.2 Динамические байесовские сети  225
рассмат­ривается вариант с неизвестной структурой и полной наблюдаемостью.
Предполагая, что динамическая байесовская сеть является стабильной (не изменяющейся во времени), можно считать, что модель определяется двумя структурами: (i) базовой структурой и (ii) структурой
переходов. Таким образом, можно разделить процесс обучения динамической байесовской сети на два этапа: на первом обучается базовая структура, затем с учетом обученной базовой структуры обучается
структура переходов, как показано на рис. 9.2.
X

Xt

Xt+1

S

St

St+1

E

Et

Et+1

Рис. 9.2. Обучение динамической байесовской сети: сначала определяется
базовая структура (слева), затем – структура переходов (справа)

Для обучения базовой структуры можно использовать все доступные
данные для каждой переменной, не обращая внимания на временнýю
информацию. Такой подход равнозначен обучению обычной байесовской сети, поэтому можно применять любой метод, используемый для
обучения байесовских сетей (см. главу 8).
Для обучения сети переходов рассматривается временнáя информация, в частности данные для всех переменных в двух смежных интервалах времени Xt и Xt+1. Учитывая базовую структуру, можно затем обучить
(установить) зависимости между переменными в момент времени t и
в момент времени t+1 (предполагая, что рассматривается марковская
модель первого порядка) и определить ограничения для направлений
ребер: из прошлого в будущее.
Выше упрощенно, в общих чертах были описаны два этапа обучения
динамической байесовской сети, но существует несколько вариантов
реализации этой идеи, которые были разработаны ранее (см. раздел
материалов для дополнительного чтения).
Помимо динамических байесовских сетей были разработаны также некоторые альтернативные представления байесовских сетей для
описания процессов, протекающих во времени. Примером другого
типа временнóй байесовской сети являются сети событий (event networks) [1, 5].

226

 Глава 9. Динамические и временные байесовские сети

9.3 Временные сети событий
Временные сети событий (temporal event networks) – это другой тип динамических байесовских сетей для моделирования динамических процессов. Во временнóй сети событий узел представляет время возник­
новения некоторого события или изменения состояния конкретной
переменной в противоположность узлу динамической байесовской
сети, представляющему значение состояния переменной в определенный момент времени. Для некоторых задач, в которых происходит несколько изменений состояния в интересующий нас интервал времени,
сети событий обеспечивают простое и более эффективное представление, но для других приложений, таких как мониторинг и фильтрация, в
большей степени подходят динамические байесовские сети.
В настоящее время разработано и предложено несколько вариантов
временных сетей событий, таких как сети времени (time nets) и байесовские сети с временным
 и узлами (temporal nodes Bayesian networks).
В дальнейшем в этом разделе основное внимание будет уделено байесовским сетям с временными узлами.

9.3.1 Байесовские сети с временными узлами
Байесовские сети с временными узлами [1, 5] состоят из множества
временных узлов (temporal nodes). Временные узлы соединяются реб­
рами, при этом каждое ребро представляет причинно-следственную
связь (отношение) между временными узлами. В рассматриваемом
интервале времени происходит не более одного изменения состояния каждой переменной (временнóго узла). Значение, принимаемое
переменной, представляет интервал, в котором произошло событие.
Время дискретизируется в виде конечного числа интервалов, при
этом допускается различное количество интервалов и их различная
продолжительность для каждого узла (множественная детализация).
Каждый интервал, определяемый для узла-потомка, представляет
возможные задержки между возникновением события (причина) одного из его роди­телей и соответствующим событием потомка (следствие). Некоторые временные узлы не имеют временных интервалов,
они соот­ветствуют моментальным узлам (instantaneous nodes). Корневые узлы являются моментальными по определению [1]. Формальное определение байесовских сетей с временными узлами приведено
ниже.
Байесовская сеть с временными узлами определяется как пара
B = (G, �). G – направленный ациклический граф: G = (V, E). Граф G состо­
ит из V – множества временных
 и моментальных узлов и E – множества
ребер между узлами. Компонента � соответствует множеству парамет­

9.3 Временные сети событий  227
ров, количественно определяющих сеть. Множество � содержит значения ��i = P(𝜈i | Pa(𝜈i)) для каждого 𝜈i ∈ V, где Pa(𝜈i) представляет мно­
жество родителей узла 𝜈i в графе G.
Временной узел 𝜈i определяется множеством состояний S, а каждое
состояние определяется упорядоченной парой S = (�, �), где 𝜆 – значение случайной переменной, а 𝜏 = [a, b] – соответствующий интервал с
начальным значением a и конечным значением b. Эти значения соответствуют интервалу времени, в который произошло событие изменения состояния. Кроме того, каждый временной узел содержит дополнительное состояние по умолчанию (без изменений) s = («no change», ∅),
с которым не связан какой-либо интервал времени. Если узел не содержит интервалов, определенных для какого-либо из его состояний, то
он именуется моментальным узлом. Приведенный ниже пример взят
из [1].
Пример 9.1. Предположим, что во время t = 0 произошло дорожно-транспортное происшествие, т. е. столкновение. Этот тип ДТП
можно классифицировать как серьезное (тяжелое) (severe), средней
тяжести (moderate) или легкое (mild). Для упрощения модели будем считать, что существуют только два немедленных последст­
вия для участника столкновения: травма головы (head injury) и
внутреннее кровотечение (internal bleeding). Травма головы может повредить мозг, а травма грудной клетки может привести к
внутреннему кровотечению. Это все моментальные события, которые могут стать причинами последующих изменений, например последствиями события «травма головы» могут стать расширенные зрачки и нестабильные основные показатели состоя­ния
организма. Предположим, что мы собрали информацию о ДТП,
произошедших в некотором конкретном городе. Из этой инфор­
мации ясно, что существует строгая причинная связь между
серьезностью (тяжестью) ДТП и немедленным воздействием на
состояние участника ДТП (пациента). Кроме того, врач-эксперт
в предметной области терапии предоставил важную временнýю
информацию: при травме головы возникает опухоль мозга, и
если не провести соответствующее обследование, то это приводит к расширению зрачков в течение 0–60 минут. Если начинается
внутреннее кровотечение, то объем крови в кровеносной системе
начнет уменьшаться, что приводит к дестабилизации основных
показателей состояния организма. Время вероятной дестабилизации основных показателей состояния организма зави­сит от тяжести травмы, вызвавшей кровотечение: если крово­потеря велика, то время дестабилизации – от 0 до 15 минут, если кровопотеря
незначительная, то время дестабилизации – от 15 до 45 минут.

228

 Глава 9. Динамические и временные байесовские сети

Травма головы также приводит к дестабилизации основных показателей состояния организма: проходит от 0 до 15 минут, преж­
де чем состояние становится нестабильным.
Представление в виде графа байесовской сети с временными узлами для примера ДТП показано на рис. 9.3. В этой модели представлены
три моментальных узла: Collision (столкновение), Head Injury (травма
головы) и Internal Bleeding (внутреннее кровотечение). Эти события
генерируют последующие изменения, которые не являются немедленными: Dilated Pupils (расширенные зрачки) и нестабильные Vital Signs
(основные показатели состояния организма), которые зависят от тяжести столкновения, следовательно, имеют связанные с ним интервалы
времени. Эта байесовская сеть с временными узлами содержит только
5 узлов (для сравнения отметим, что равнозначная динамическая байе­
совская сеть потребовала бы создания 25 узлов).

C

H1 = истина
H2 = ложь

DP1 = расширены, [0–3]
DP2 = расширены, [3–5]
DP3 = норма, [0–5]

DP

HI

C1 = серьезное (тяжелое)
C2 = средней тяжести
C3 = легкое

IB

VS

IB1 = большая
IB2 = незначительная
IB3 = ложь

VS1 = нестабильное, [0–10]
VS2 = нестабильное, [10–30]
VS3 = нестабильное, [30–60]
VS4 = норма, [0–60]

Рис. 9.3. Байесовская сеть с временными узлами для примера ДТП:
C = столкновение, HI = травма головы, IB = внутреннее кровотечение,
DP = расширенные зрачки, VS = основные показатели состояния организма

В байесовских сетях с временными узлами каждая переменная представляет событие или изменение состояния. Таким образом, требуется
только один экземпляр (или несколько экземпляров) каждой переменной, если предположить, что происходит только одно изменение (или
малое количество изменений) состояния переменной в рассматриваемом интервале времени. Не нужны никакие копии модели, не делается
никаких предположений о марковской природе процесса. Байесовс­кие
сети с временными узлами могут работать при множественной детали­
зации, так как число и размер интервалов времени для каждого узла
могут быть различными.

9.3 Временные сети событий  229

9.3.1.1 Логический вывод
Байесовские сети с временными узлами позволяют обосновать
вероят­ность возникновения определенных событий для диагностики
(т. е. для поиска наиболее вероятной причины временнóго события)
или для прогнозирования (т. е. для определения вероятных будущих
событий, которые произойдут после наступления некоторого определенного события). Для этого можно применить стандартные методики
распространения вероятностей в стандартных байесовских сетях (см.
главу 7). Но с учетом того, что байесовские сети с временными узлами представляют относительные времена между событиями, варианты
прогнозирования и диагностики должны различаться для выполнения
вероятностного логического вывода:
• прогнозирование – в том случае, когда как минимум один из корневых (моментальных) узлов байесовской сети с временными
узлами является частью свидетельства, временнáя связь для такой модели фиксируется, и процедура распространения вероят­
ностей может выполняться напрямую, позволяя получить апосте­
риорную вероятность последующих событий (вероят­ность для
каждого интервала времени каждого немоментального временнóго узла). Рассмотрим пример на рис. 9.3: если известна степень
тяжести столкновения (например, средняя), то с помощью процедуры распространения вероятности мы полу­чаем апостериорные
вероятности события Dilated Pupils (расширенные зрачки), происходящего в течение каждого интервала времени и не происходящего вообще (вариант false). Апосте­риорная вероятность других
временных
 и моментальных узлов определяется подобным образом. Следует отметить, что интер­валы времени для временных
узлов будут определяться по отно­шению к возникновению события Collision (столкновение), которому соответствует время t = 0;
• диагностика – в том случае, когда моментальные узлы неизвестны, а свидетельство определяется только для временных узлов,
необходимо рассматривать несколько сценариев (scenarios), так
как неизвестно, какой интервал присвоить свидетельству при отсутствии конкретной ссылки на время. В этом случае необходимо
учитывать все n возможных интервалов для рассматриваемого
временнóго узла, выполняя логический вывод n раз, по одному
для каждого интервала. Результаты каждого сценария должны
обрабатываться до тех пор, пока не появится дополнительное
свидетельство, такое как возникновение другого события, которое позволяет исключить некоторые сценарии. Рассматривая
пример ДТП на рис. 9.3, предположим, что прибывает бригада

230

 Глава 9. Динамические и временные байесовские сети

экстренной медицинской помощи и обнаруживает, что у пострадавшего расширены зрачки (Pupils Dilated). Так как время ДТП
неизвестно, то свидетельство обязательно должно использоваться во всех трех интервалах времени для этой переменной, создавая три возможных сценария. Если в дальнейшем определяется
точное время ДТП, то соответствующий сценарий сохраняется, а
остальные исключаются.

9.3.1.2 Обучение
При обучении байесовской сети с временными узлами рассматриваются три компонента этого процесса: (i) обучение интервалов времени
для временных узлов, (ii) обучение структуры модели и (iii) обучение
параметров модели. Поскольку эти три компонента взаимосвязаны,
требуется итеративная процедура, которая выполняет обучение для
полу­чения начальной оценки для одного (или нескольких) из этих
компо­нентов, а затем итеративно улучшает эти начальные оценки.
Ниже будет представлен алгоритм обучения трех компонентов байесовской сети с временными узлами [7].
Алгоритм полагает, что корневые узлы являются моментальными
узлами, и позволяет получить конечное число неперекрывающихся
интер­валов для каждого временнóго узла. Алгоритм использует отрезки времени (задержки) между родительскими событиями и текущим
узлом как входные данные для обучения создаваемых интервалов. При
таком нисходящем методе алгоритм обеспечивает достижение локального максимума применительно к прогнозируемой оценке. Алгоритм
изначально предполагает, что структура сети известна, а в дальнейшем
обучающая компонента включается в структуру.
Алгоритм обучения (известный как LIPS) [7] для байесовских сетей с
временными узлами описан ниже.
1. В первую очередь выполняется первоначальная дискретизация
временных переменных, например с использованием метода
дискретизации по равным интервалам (равной ширины). Этот
процесс позволяет получить начальную аппроксимацию интервалов для всех временных узлов.
2. Затем выполняется обучение структуры для стандартной байесовской сети. Часто используется алгоритм обучения K2 [3] (см.
главу 8) для получения исходной структуры и соответствующих
параметров.
3. Алгоритм обучения интервалов улучшает качество (точность) интервалов для каждого временнóго узла методом кластеризации.
Для этого используется информация о конфигурации родитель­

9.3 Временные сети событий  231
ских узлов. Для получения множества интервалов применяется
гауссова модель смеси (Gaussian mixture model)19 как алгоритм
кластеризации для временных данных. Теоретически каждый
кластер соответствует некоторому интервалу времени. Интервалы определяются по среднему значению и стандартному откло­
нению кластеров. Алгоритм позволяет получить различные множества интервалов, которые объединяются и комбинируются,
этот процесс генерирует различные множества интервалов, которые будут оцениваться с учетом точности прогнозирования.
Алгоритм применяет две методики отсечения, чтобы исключать
множества интервалов, которые могут оказаться бесполезными,
а также для поддержания невысокой сложности для байесовской
сети с временными узлами. Наилучшее множество интервалов
(которое, возможно, не будет получено на самом первом шаге
выполнения) для каждого временнóго узла выбирается на основе
точности прогнозирования. Если временной узел в качестве родителей имеет другие временные узлы, то конфигурации родительских узлов изначально неизвестны. Для решения этой задачи
интервалы последовательно выбираются по нисходящей методике в соответствии со структурой байесовской сети с временными
узлами.
4. На завершающем этапе параметры (таблицы условных вероятнос­
тей) обновляются в соответствии с новым множеством интервалов для каждого временнóго узла.
Затем этот алгоритм выполняет итерационные циклы между обучением структуры и обучением интервалов.
Рассмотрим процесс определения интервалов для временнóго узла
Dilated Pupils (DP) (расширенные зрачки) на рис. 9.3 (интервалы в рассматриваемом здесь примере отличаются от показанных на рис. 9.3).
Можно видеть, что родительский узел (Head Injury (травма головы))
имеет две конфигурации: true (истина) и false (ложь). Следовательно,
временные данные узла Dilated Pupils разделяются на две части, по одной для каждой конфигурации родительского узла. Затем для каждой
части применяется первая аппроксимация шага обучения интервалов
алгоритма, описанного выше. EM-алгоритм используется для получения гауссовых моделей смеси с параметрами 1, 2 и 3 как количеством
кластеров. Это дает шесть различных множеств интервалов, как показано в табл. 9.2. Затем каждое множество интервалов оценивается с точки зрения эффективности прогнозирования для получения числовой
оценки его качества, и выбирается множество интервалов с наилучшей
числовой оценкой.
19

Не следует путать со смешанной моделью (mixed model). – Прим. перев.

232

 Глава 9. Динамические и временные байесовские сети

Таблица 9.2. Первоначальные множества интервалов, полученные
для узла Dilated Pupils
Часть

Интервалы

Head Injury (травма головы) = true

[11–35]
[11–27] [32–53]
[8–21] [25–32] [45–59]

Head Injury (травма головы) = false

[3–48]
[0–19] [39–62]
[0–14] [28–40] [47–56]

Для каждой части создаются три множества интервалов.

Далее демонстрируется полный пример выполнения алгоритма
обуче­ния байесовской сети с временными узлами с учетом имеющихся данных для примера ДТП, показанного на рис. 9.3. Предварительно
предполагается, что у нас есть данные о других ДТП, которые близки
к данным, показанным в верхней части табл. 9.3. Первые три столбца
содержат качественные (категорийные) данные, а в двух последних
столбцах приведены временные данные, которые представляют возникновение этих событий после ДТП (столкновения). Эти два столбца
должны соответствовать временным узлам байесовской сети с временными узлами. Выполнение начинается с применения дискретизации
с равными интервалами (равной шириной) к числовым данным, при
этом должны получиться результаты, близкие к данным, представленным в нижней части табл. 9.3.
Таблица 9.3. Данные, собранные для обучения байесовской сети с временным
 и
узлами, показанной на рис. 9.3.
Collision
(столкновение,
ДТП)

Head
Injury
(травма
головы)

Internal
Bleeding
(внутреннее
кровотечение)

Dilated Pupils
(расширенные
зрачки)

Vital Signs
(основные
показатели
состояния
организма)

Severe (тяжелое)

True

Gross
(сильное)

14

20

Moderate
(средней тяжести)

True

Gross
(сильное)

25

25

Mild (легкое)

False

False















Severe (тяжелое)

True

Gross
(сильное)

[10–20]

[15–30]

9.4 Приложения  233

Collision
(столкновение,
ДТП)

Head
Injury
(травма
головы)

Internal
Bleeding
(внутреннее
кровотечение)

Dilated Pupils
(расширенные
зрачки)

Vital Signs
(основные
показатели
состояния
организма)

Moderate
(средней тяжести)

True

Gross
(сильное)

[20–30]

[15–30]

Mild (легкое)

False

False















Исходные данные в верхней части таблицы показывают время возникновения временных
 событий. В нижней части таблицы представлены временные данные после первоначальной дискретизации. Для переменных Dilated Pupils (расширенные зрачки) и Vital Signs (основные показатели состояния организма) данные представляют время в минутах после столкновения.

Используя дискретизированные данные, можно применить алгоритм обучения структуры (например, K2) с частичным упорядочением временных событий: {Collision}, {Head Injury, Internal Bleeding} и
{Dilated Pupils, Vital Signs}. Теперь получена исходная байесовская сеть
с временными узлами, но принятые в ней интервалы слишком упрощены, поэтому можно переходить на этап обучения интервалов для улучшения качества первоначальных интервалов времени. Этот процесс
обуче­ния позволяет получить байесовскую сеть с временными узлами,
весьма похожую на сеть, показанную на рис. 9.3.

9.4 Приложения
Практическое применение моделей динамических байесовских сетей
будет показано в двух предметных областях. Сначала рассматривается использование динамических байесовских сетей для динамического
распознавания жестов. Затем будет представлен пример применения
временных сетей событий для прогнозирования вариантов мутаций
ВИЧ.

9.4.1 Динамические байесовские сети: распознавание
жестов
Динамические байесовские сети предоставляют вариант, отличный
от скрытых марковских моделей, для распознавания жестов в динамическом режиме. Они используют преимущество большей гибкости
с точки зрения структуры моделей. В этом разделе рассматривается
конкретный тип ДБС, известный как классификатор на основе динамической байесовской сети (dynamic Bayesian network classifier) [2]. Как и
в скрытых марковских моделях, в классификаторе на основе динамической байесовской сети имеется скрытая переменная состояния для

234

 Глава 9. Динамические и временные байесовские сети

каждого момента времени St, а переменная наблюдения разделяется
на m атрибутов A1t , …, Amt , при этом предполагается, что эти атрибуты условно независимы относительно St. Таким образом, базовая структура
для классификатора на основе динамической байесовской сети имеет
структуру звезды со связями, направленными от St к каждому атрибуту Ati (см. рис. 9.4).
S

A11

A12



S

A13

A21

A22

A23

Рис. 9.4. Представление классификатора на основе динамической байесовской
сети в форме графа с тремя атрибутами, воспроизведенными два раза

Совместная вероятность классификатора на основе динамической
байесовской сети может быть выражена следующей формулой:
M

T

M

m=1

t=2

m=1

P�{S1:T, A1:T}� = P(S1)� � P(A1m | S1)� �P(St | St–1) ��P(Amt | St)�,

(9.3)

где A = A1, …, Am.
Отличием от совместной вероятности в скрытой марковской модели
является то, что вместо P(At | St) в формулу включено произведение по
каждому атрибуту с учетом его состояния �Mm=1P(Amt | St).
Обучение параметров и классификация в классификаторах на основе
динамической байесовской сети выполняется практически так же, как
в скрытых марковских моделях, с использованием модифицированных версий алгоритмов Баума–Велша (Baum-Welch) и Forward соответственно.

9.4.1.1 Распознавание жестов с помощью классификатора
на основе динамической байесовской сети
Классификатор на основе динамической байесовской сети применялся для распознавания различных жестов руки для подачи команд
мобильному роботу. Рассматривался набор из 9 различных жестов.
Ключевой кадр для каждого типа жеста показан на рис. 9.5. Изначально рука человека, выполняющего жест, обнаруживалась, и ее движение
отслеживалось с использованием видеокамеры и специализированного программного обеспечения компьютерного зрения. Прямоугольник
аппроксимирует положение руки в каждом изображении (кадре) видео­
последовательности, а из этих прямоугольников извлекается набор

9.4 Приложения  235
признаков, которые являются наблюдениями для классификаторов на
основе динамической байесовской сети.
а)

б)

в)

г)

д)

е)

ж)

з)

и)

к)

Рис. 9.5. Типы жестов, рассматриваемые в экспериментах:
а) come (идти), б) attention (внимание), в) stop (остановиться),
г) right (направо), д) left (налево), е) turn left (повернуться налево),
ж) turn right (повернуться направо), з) waving-hand (волнообразные
движения руки), и) pointing (указание (направления, места и т. п.)),
к) начальное и конечное положения руки для каждого жеста

Признаки включают информацию о движении и положении (руки),
в общей сложности семь атрибутов: (i) три признака для описания
движения руки и (ii) четыре признака для описания положения руки.
Признаки движения руки – Δarea или изменения в области движения
руки, Δx и Δy – изменения положения руки в XY-плоскости изображения. Сочетание этих трех атрибутов позволяет оценить перемещение
руки в декартовом пространстве XYZ. Каждый из признаков принимает
только одно из трех возможных значений: +, −, 0, которые обозначают
увеличение, уменьшение или отсутствие изменений, в зависимости от
наблюдаемой области и положения руки на предыдущем изображении
видеопоследовательности.
Признаки положения руки, обозначенные как form (форма, положение), right (справа), above (выше), torso (торс), описывают ориентацию
руки и пространственные отношения между рукой и другими частями
тела, такими как лицо и торс. Ориентация руки представлена признаком form. Этот признак дискретизируется по одному из трех возможных
значений: +, если рука расположена вертикально, −, если рука расположена горизонтально, или 0, если рука наклонена влево или вправо в
плоскости XY. Признак right означает, что рука находится справа от головы, above – рука выше головы, torso – рука перед торсом. Три послед­них
атрибута принимают бинарные значения true и false, соответствую­щие

236

 Глава 9. Динамические и временные байесовские сети

выполнению или невыполнению условия. Пример извлечения признака положения руки с учетом вышеописанных переменных приведен на
рис. 9.6.
above = false

torso = false

right = true

form = +
Рис. 9.6. На этом изображении показаны признаки положения руки.
Видно, что рука в вертикальном положении, ниже головы, справа от фигуры
пользователя и не находится перед его торсом. Следовательно, значения
атрибутов: above = false, right = true, torso = false, form = +

Как и в скрытых марковских моделях, классификатор на основе дина­
мической байесовской сети тренируется для каждого типа жеста. Для
классификации вычисляется оценка вероятности каждой модели, и
модель с самой высокой вероятностью выбирается как распознающая
конкретный жест.

9.4.1.2 Эксперименты
Были проведены три эксперимента для сравнения производительностей классификации и обучения классификаторов на основе динамических байесовских сетей и скрытых марковских моделей. В первом
эксперименте жесты одного и того же человека использовались для распознавания. Во втором эксперименте определялись оценки способностей обобщения классификаторов посредством тренировки и проверки
жестов различных людей. В третьем эксперименте рассматривались варианты жестов, различающиеся по расстоянию (от исполнителя жестов)
и углу зрения на выполняемый жест. Кроме того, сравнивались модели
классификатора на основе динамических байесовских сетей и скрытых
марковских моделей, использующие только признаки движения, и модели, применяющие информацию о движении и положении руки. Коли­
чество скрытых состояний в каждой модели изменялось от 3 до 18.

9.4 Приложения  237
В первом эксперименте было записано (на видео) 50 выполнений
каждого типа жестов одного человека, 20 экземпляров использовалось
для тренировки, 30 для тестирования. Во втором эксперименте модели,
обученные на жестах одного человека, оценивались на жестах, выполняемых другими 14 людьми. Каждый человек выполнил по 2 экземпляра
каждого класса жеста. Для эксперимента с различными вариантами
расстояния были случайно выбраны 15 экземпляров каждого жеста, выполненного на расстоянии 2 и 4 метров, т. е. был сформирован тестовый
набор из 30 экземпляров на каждый жест. Для вариантов угла зрения
также использовались 15 случайно выбранных экземпляров каждого
жеста, наблюдаемого под углами +45 и −45 градусов.
Важным различием между классификаторами на основе динамических байесовских сетей и скрытыми марковскими моделями является
количество параметров, требуемых для каждой модели. Количество
пара­метров для определения распределений состояний наблюдений
для скрытых марковских моделей с признаками положения и движения равно 648, а для данных только о движении – 27. В классификаторах
на основе динамических байесовских сетей 21 параметр в первом случае и 12 во втором. Такое весьма существенное сокращение количества
пара­метров для классификатора на основе динамических байесовских
сетей оказывает важное воздействие на время тренировки, а также на
точность классификации, когда количество тренировочных экземпляров невелико.
В экспериментах с одним человеком с использованием атрибутов
движения и положения классификаторы на основе динамических байе­
совских сетей и скрытые марковские модели продемонстрировали весьма высокую производительность с коэффициентами успешного распо­
знавания от 96 до 99 % в зависимости от количества состояний (самые
лучшие результаты были показаны для 12–15 состояний). Классификаторы на основе динамических байесовских сетей дают несколько лучшие
результаты распознавания, но при значительном сокращении времени
тренировки почти в десять раз быстрее скрытых марковских моделей.
В экспериментах с несколькими людьми вполне ожидаемо снизилась
эффективность обоих вариантов – скрытых марковских моделей и классификаторов на основе динамических байесовских сетей – около 86 %
успешных распознаваний с атрибутами движения и положения. При
использовании только атрибутов движения эффективность составила
около 65 %, т. е. почти на 20 % ниже, чем при применении атрибутов
положения. Как и в большинстве задач классификации, выбор наиболее
подходящего набора атрибутов является чрезвычайно важным фактором.
В третьем эксперименте различия в расстоянии и углах зрения также воздействуют на результаты распознавания, при этом изменение

238

 Глава 9. Динамические и временные байесовские сети

угла зрения оказывает большее воздействие. Изменение расстояния
от видео­камеры до человека от 2 до 4 метров снижает эффективность
распоз­навания приблизительно до 90 % (жесты одного человека). Если
угол зрения изменяется в пределах от +45 до −45 градусов, то эффективность распознавания уменьшается приблизительно до 70 %. В обоих
случаях результаты скрытых марковских моделей и классификаторов
на основе динамических байесовских сетей практически одинаковы в
плане эффективности.
Результаты этих экспериментов показывают конкурентоспособность
в том, что касается показателей эффективности распознавания классификаторов на основе динамических байесовских сетей по сравнению
со стандартными скрытыми марковскими моделями в различных задачах по распознаванию жестов. Факторизация атрибутов позволяет
значительно сократить время тренировки для классификаторов на основе динамических байесовских сетей по сравнению с равнозначными
скрытыми марковскими моделями, что позволяет выполнять обучение
жестам в режиме онлайн. Кроме того, классификаторы на основе динамических байесовских сетей требуют меньшего количества тренировочных экземпляров для достижения эффективности, сравнимой с соответствующими скрытыми марковским моделями, в особенности при
увеличении количества атрибутов.

9.4.2 Байесовская сеть с временными узлами:
прогнозирование вариантов мутаций ВИЧ
В этом разделе рассматривается приложение байесовских сетей с временными узлами для исследования временных связей между устойчивыми к лекарственным средствам мутациями ВИЧ (вируса иммунодефицита человека) и антиретровирусными лекарственными средствами
с выявлением возможных вариантов мутаций и установлением вероятностно-временнóй последовательности их появления [8].
Вирус иммунодефицита человека (ВИЧ) – один из самых быстро развивающихся организмов на нашей планете. Его удивительная способность к изменениям позволяет ВИЧ избежать воздействия многочисленных эволюционных факторов, влияющих на него естественным или
искусственным образом. Это становится возможным благодаря развитию и отбору мутаций с высокой приспособляемостью. Это объект
антиретровирусной терапии (АРТ) – мощное избирательное воздействие на ВИЧ. При неоптимальных условиях быстро выбираются мутации, которые позволяют вирусу воспроизводиться даже в присутствии
высокоэффективных сочетаний антиретровирусных лекарственных
средств. В частности, будет рассматриваться задача поиска связей мутация–мутация и лекарство–мутация у пациентов, лечащихся методом

9.4 Приложения  239
антиретровирусной терапии. Мы сосредоточим внимание на ингибиторах протеазы (ИП), группе антиретровирусных лекарственных средств,
широко применяемой в современной антиретровирусной терапии.
Развитие устойчивых к лекарствам вирусов ставит под угрозу контроль
над ВИЧ с дальнейшим ухудшением и ослаблением иммунной системы
пациента. Таким образом, весьма важно глубокое понимание динамики появления и развития мутаций, устойчивых к лекарствам.
Хронологические данные, получаемые при наблюдении пациентов
с ВИЧ, использовались для обучения байесовской сети с временными
узлами, затем эта модель оценивалась с точки зрения обнаруженных
связей в соответствии с экспертными знаниями в предметной области
и эффективности прогнозирования.

9.4.2.1 Данные
Клинические данные, полученные при наблюдении 2373 пациентов с
ВИЧ подтипа B, извлечены из базы данных по ВИЧ Стэнфорда (HIVDB –
HIV Stanford Database) [11]. Характеристики штаммов вируса в HIVDB
были получены из профилей долговременного лечения, описывающих
развитие мутаций в отдельных последовательностях. Для каждого пациента данные состоят из первоначально назначенного ему лечения
(сочетания лекарственных средств) и из списка лабораторных исследований сопротивляемости, проведенных в различное время (по неделям). Каждое лабораторное исследование включает список наиболее
часто встречающихся мутаций в среде вирусов внутри организма-«хозяина» в конкретный момент времени после начала лечения. Пример
таких данных представлен в табл. 9.4. Количество доступных исследований изменяется от 1 до 10 в каждой истории болезни.
Таблица 9.4. Пример данных
Пациент

Пациент1 (Pat1)

Пациент2 (Pat2)

Первоначальное
лечение
LPV, FPV, RTV

NFV, RTV, SQV

Список мутаций

Время
(в неделях)

L63P, L10I

15

V77I

25

I62V

50

L10I

25

V77I

45

Пациент Pat1 с тремя временными исследованиями, пациент Pat2 с двумя временными исследованиями.

Антиретровирусные средства обычно классифицируются по ферменту (энзиму), на который они ориентированы. Мы сосредоточились на
вирусной протеазе, так как это наименьший из вирусных ферментов

240

 Глава 9. Динамические и временные байесовские сети

по числу составляющих его аминокислот. В настоящее время доступны девять ингибиторов протеазы: ампренавир (Amprenavir – APV),
атазанавир (Atazanavir – ATV), дарунавир (Darunavir – DRV), лопинавир
(Lopinavir – LPV), индинавир (Indinavir – IDV), нельфинавир (Nelfinavir –
NFV), ритонавир (Ritonavir – RTV), трипанавир (Tripanavir – TPV) и саквинавир (Saquinavir – SQV).
Для проверки способности этой модели прогнозировать важные с
медицинской (клинической) точки зрения данные было выбрано подмножество пациентов из исходного набора данных, включая пациентов, лечащихся в режиме антиретровирусной терапии с применением
ингибиторов протеазы LPV, IDV и SQV. Также были включены важные
основные мутации, устойчивые к лекарствам, связанные с выбранными для лечения препаратами. Список выбранных мутаций: V32I, M46I,
M46L, I47V, G48V, I54V, V82A, I84V, L90M. Поскольку используется только
ограниченное подмножество лекарственных средств, количество пациентов в конечном наборе данных было сокращено до 300.

9.4.2.2 Модель и оценка
Байесовская сеть с временными узлами обучалась по сокращенной
базе данных HIVDB с применением алгоритма обучения, описанного в
разделе 9.3. Были реализованы две модификации исходного алгоритма: первая для измерения мощности временно-вероятностных связей,
вторая для изменения порядка переменных с учетом алгоритма обуче­
ния структуры (K2), поэтому результаты не являются предвзятыми
из-за какого-то конкретного предварительно определенного порядка
переменных.
Для определения оценки моделей и для измерения статистической
значимости граничной интенсивности был использован метод «самораскрутки (самозагрузки) без параметров» (non‑parametric bootstrapping) (получение нескольких моделей). Были определены два пороговых значения для рассмотрения связи как значимой. Связь считалась
прочной, если она появлялась не менее чем в 90 % графов, или предполагаемой, если связь между значениями возникала в 70–90 % случаев.
Поскольку методика выбора лекарственных средств и мутаций основана на мнениях экспертов, в рассматриваемом примере использовался
более продуктивный способ определения порядка для алгоритма K2.
В этом эксперименте рассматривались различные варианты упорядочения для алгоритма K2 и выбирался порядок с наивысшей точностью
прогнозирования.
На рис. 9.7 изображена полученная байесовская сеть с времен­
ными узлами. Узлы зеленого цвета представляют антиретровирусные
лекарст­венные средства, узлы желтого цвета представляют мутации
ВИЧ. Для каждой мутации (временнóго узла) показаны связанные с

9.4 Приложения  241
ней интервалы времени с вероятностью появления мутации в конкретный интервал времени. Дуги, обозначающие прочные связи, помечены
звездочкой (*).
SQV

Used 0.02
Not 0.98

Used 0.5
Not 0.5
IDV

Used 0.54
Not 0.46

LPV
L90M
V82A
G48V

*

[4 – 109] 0.35
[109 – 358] 0.33
Not 0.02

*
I54V
M46I

V32I

[12 – 144] 0.05
[144 – 258] 0.05
Not 0.90

I47V

[12 – 278] 0.03
[278 – 358] 0.01
Not 0.96

*
I84V

[20 – 50] 0.10
[50 – 210] 0.12
Not 0.78

M46L

[52 – 75] 0.11
[75 – 216] 0.05
Not 0.84

Рис. 9.7. Обученная модель байесовской сети с временными узлами,
отображающая временно-вероятностные связи между множеством
антиретровирусных лекарственных средств (три верхних узла) и значимыми
мутациями ВИЧ (все прочие узлы). Дуги, помеченные звездочкой (*),
представляют прочные связи. Показаны только некоторые множества
интервалов, связанные с соответствующими временными
 узлами

Эта модель продемонстрировала способность прогнозировать клинически значимые связи между выбранными лекарственными средст­
вами и мутациями ВИЧ. Разумеется, легко предсказуемыми в этой модели были прочные связи между SQV, G48V и I84V, несмотря на то что
между этими двумя мутациями не наблюдается явных временных связей. Для всех трех лекарственных средств установлены явные прямые
связи с мутацией L90M, отображая тот факт, что эта мутация является
причиной общей сопротивляемости многим препаратам из этой группы ингибиторов протеазы. Показательно, что были спрогнозированы
два возможных варианта мутации с сопротивляемостью препарату
LPV [8]:
• I54V → V32I → I47V;
• L90M → M46IL → I84V.
Вне зависимости от важности временнóго порядка мутаций остается
необходимость дальнейшей оценки модели. Кроме того, наблюдались
совместные варианты мутаций между IDV и LPV, в том числе мутации
L90M, M46IL, I54V, V82A и I84V.

242

 Глава 9. Динамические и временные байесовские сети

9.5 Материалы для дополнительного чтения
Подробнейший обзор динамических байесовских сетей представлен
в [9]. Фридман (Friedman) и др. [4, 6] описывают методики обучения
дина­мических байесовских сетей. Байесовские сети с временными
узла­ми рассматриваются в [1], а их расширение с каноническими временными моделями – в [5]. Алгоритм обучения байесовских сетей с временными узлами описан в [7].

9.6 Задания и упражнения
1. Для динамической байесовской сети на рис. 9.1 определить, является ли она стабильной моделью. Какие параметры требуются для
полной спецификации этой модели?
2. Предполагая, что все переменные являются бинарными (true, false),
определить таблицы условных вероятностей для задания 1 (определить вероятности произвольным образом, так чтобы они соблюдали только аксиомы вероятности).
3. Для динамической байесовской сети на рис. 9.1 с таблицами условных вероятностей, определенными в задании 2: а) вычислить
апостериорную вероятность для Xt+1 при Xt = St = true (фильтрация);
б) вычислить апостериорную вероятность для Xt+2 и Xt+3 при Xt = St =
true (прогнозирование); в) вычислить апостериорную вероятность
для Xt+1 при Et = Et+1 = Et+2 = false (сглаживание).
4. Рассмотреть байесовскую сеть с временными узлами на рис. 9.3.
Определить таблицы условных вероятностей для всех переменных в соответствии со значениями и интервалами, показанными
на рис. 9.3. Определить параметры, руководствуясь собственной
интуи­цией (субъективные оценки).
5. Для структуры и параметров байесовской сети с временными узлами из задания 4 вычислить апостериорную вероятность для всех
переменных с учетом свидетельства C = moderate, используя вероятностный логический вывод (можно применить любую методику
логического вывода для байесовских сетей).
6. Повторить решение задания 5, приняв в качестве свидетельства
DP = dilated. Так как относительное время возникновения этого события неизвестно, рассмотреть различные возможные сценарии.
Какой сценарий будет применяться, если в дальнейшем выяснится,
что зрачки расширились через 4 единицы времени после столкновения?

Ссылки на источники  243
7. Изменить алгоритмы логического вывода (Forward) и обучения
(Баума–Велша) для скрытых марковских моделей (см. главу 5) так,
чтобы их можно было применять к классификаторам на основе динамических байесовских сетей.
8. *** Найти наборы данных в различных динамических предметных
областях для обучения динамических байесовских моделей (см. задания 9 и 10). Например, данные фондовой биржи, данные о погоде, долговременные медицинские исследования и т. п. Для каждого
варианта приложения определить, какой тип модели – на основе
состояний или на основе событий – является более подходящим.
9. *** Разработать программу, обучающую динамическую байесовскую сеть, с учетом двухэтапной процедуры: сначала обучается исходная структура и параметры (при t = 0), затем обучается структура
переходов и параметры (для t = k + 1 при t = k).
10. *** Разработать программу, реализующую алгоритм LIPS для обучения байесовских сетей с временными узлами.

Ссылки на источники
1. Arroyo-Figueroa, G., Sucar, L. E. A temporal Bayesian network for diagnosis and prediction. In: Proceedings of the 15thConference onUncertainty inArtificial Intelligence (UAI). Morgan-Kaufmann, San Mateo,
p. 13–20 (1999).
2. Avilés-Arriaga, H. H., Sucar, L. E., Mendoza-Durán, C. E., Pineda-Cortés,
L. A. Comparison of dynamic naive Bayesian classifiers and hidden Markov models for gesture recognition. J. Appl. Res. Technol. 9 (1), 81–102
(2011).
3. Cooper, G. F., Herskovitz, E. A Bayesian method for the induction of
probabilistic networks from data. Mach. Learn. 9 (4), 309–348 (1992).
4. Friedman, N., Murphy, K., Russell, S. Learning the Structure of Dynamic Probabilistic Networks. In: Proceedings of theFourteenthConference
onUncertainty inArtificial (UAI). Morgan-Kaufmann Publishers Inc.,
p. 139–147 (1998).
5. Galán, S. F., Arroyo-Figueroa, G., Díez, F. J., Sucar, L. E. Comparison of
two types of event Bayesian networks: a case study. Appl. Artif. Intell.
21 (3), 185–209 (2007).
6. Ghahramani, Z. Learning Dynamic Bayesian Networks. Lecture Notes in
Computer Science 1387, 168–197 (1998).

244

 Глава 9. Динамические и временные байесовские сети

7. Hernández-Leal, P., González, J. A., Morales, E. F., Sucar, L. E. Learning temporal nodes Bayesian networks. Int. J. Approx. Reason. 54 (8),
956–977 (2013).
8. Hernández-Leal, P., Rios-Flores, A., Ávila-Rios, S., Reyes-Terán, G.,
González, J. A., Fiedler-Cameras, L., Orihuela-Espina, F., Morales, E. F.,
Sucar, L. E. Discovering HIV mutational pathways using temporal bayesian networks. Artif. Intell. Med. 57 (3), 185–195 (2013).
9. Murphy, K. Dynamic Bayesian networks: representation, inference and
learning. dissertation, University of California, Berkeley (2002).
10. Rabiner, R., Juang, B. Fundamentals of Speech Recognition. Prentice
Hall, New Jersey (1993).
11. Shafer, R. Rationale and uses of a public HIV drug-resistance database.
J. Infect. Dis. 194 (1), 51–58 (2006).

Часть

III
Модели принятия
решений

В этой части книги представлены вероятностные графовые модели,
предполагающие принятие решений. Эти модели кроме случайных
пере­менных содержат переменные принятия решения и переменные
полезности. Цель таких моделей – помочь принять наилучшие решения
в условиях неопределенности. В одной главе описаны модели, которые
должны выбирать одно или несколько решений одновременно. В другой главе рассматриваются задачи последовательного принятия решений, в которых необходимо принимать множество решений в течение
некоторого времени.

Глава

10

Графы принятия решений

10.1 Введение
Модели, которые рассматривались в части II, содержали только случайные переменные, поэтому их можно использовать для оценки
апостериорной вероятности множества переменных с учетом некоторого свидетельства, например для классификации, диагностики или
прогнозирования. Такие модели также могут предоставить наиболее
вероят­ное сочетание значений некоторого подмножества переменных
(наиболее вероятное объяснение) или глобальную (общую) вероятность
всей модели в целом с учетом некоторых наблюдений. Но эти модели
невозможно напрямую использовать для принятия решений.
В этой и в следующей главах будут представлены модели принятия
решений (decision models), цель которых – помочь принять наилучшие решения в условиях неопределенности. Мы убедимся в том, что
наилучшими решениями являются те, которые максимизируют ожидаемую полезность агента с учетом текущих имеющихся знаний (свидетельства) и заданных целей в рабочей среде теоретического принятия решений. Эти типы агентов называют рациональными агентами
(rational agents).
После краткого введения в теорию принятия решений в этой главе
будут описаны два типа методик моделирования для задач с одним или
несколькими вариантами решений: деревья решений (decision trees) и
диаграммы влияния (influence diagrams). Как и в случае применения вероятностных моделей, эти методики используют преимущества структуры зависимостей конкретной задачи для получения более компактного представления и более эффективной оценки.

10.2 Теория принятия решений  247

10.2 Теория принятия решений
Теория принятия решений (decision theory) предоставляет нормативную структуру (рабочую среду) для лица, принимающего решение в
условиях неопределенности. Теория принятия решений основана на
концепции рациональности (rationality), т. е. агент должен пытаться
максимизировать пользу или минимизировать издержки (затраты).
При этом предполагается, что существует некоторый способ присваивания степени полезности (обычно это числовое значение, которое
может соответствовать стоимости в денежном выражении или по любой другой шкале полезности) результату каждого варианта действий,
чтобы наилучшим решением стал тот вариант, который имеет наивысшую полезность. В общем случае агент не уверен в результатах каждого
из возможных решений, поэтому необходимо принимать во внимание
оценки полезности каждого варианта решения. В теории принятия решений мы учитываем ожидаемую полезность (expected utility), которая
вычисляет среднее значение всех возможных результатов решения,
взвешенных по их вероятностям. Таким образом, если говорить кратко, рациональный агент обязательно должен выбрать решение, которое
максимизирует ожидаемую полезность.
Теория принятия решений изначально была разработана в области
экономики и исследования операций [11], но в последние годы она привлекла внимание исследователей в области искусственного интеллекта, заинтересованных в исследовании и создании интеллектуальных
агентов (intelligent agents). Такие интеллектуальные агенты, например
роботы, финансовые советники, интеллектуальные инструкторы и т. п.,
должны решать задачи, подобные тем, которые встречаются в экономике и исследовании операций, но с двумя основными отличиями.
Во-первых, это размер (объем) задач, который в области искусственного интеллекта, как правило, намного крупнее, чем в обычных экономических приложениях. Второе основное отличие заключается в использовании знаний о предметной области задачи. Во многих приложениях
искусственного интеллекта модель неизвестна заранее и может быть
весьма трудной для определения.

10.2.1 Основы теории принятия решений
Принципы теории принятия решений изначально были определены в классической работе фон Неймана (von Neuman) и Моргенштерна (Morgenstern) «Theory of Games and Economic Behavior» (Теория игр
и экономическое поведение) [11]. Авторы установили совокупность
интуитивно определенных ограничений, которые должны управлять
предпочтениями рационального агента (rational agent). Эти ограничения известны как аксиомы теории полезности (utility theory). Прежде

248

 Глава 10. Графы принятия решений

чем привести список этих аксиом, необходимо определить некоторые
обозначения и термины. В процедуре принятия решения существуют
четыре элемента:
• альтернативы (alternatives) – варианты выбора, доступные агенту; этими вариантами агент управляет (контролирует). Каждое
решение имеет как минимум две альтернативы (например, выполнять или не выполнять некоторое действие);
• события (events) – генерируются окружающей средой и другими
агентами. События не управляются (не контролируются) агентом.
Каждое случайное событие приводит как минимум к двум результатам, и хотя заранее неизвестно, какой результат получится
в действительности, можно присвоить некоторую вероятность
каждому варианту;
• исходы (outcomes) – результаты сочетания решений, принятых
агентом, и случайных событий. Каждый возможный исход имеет
различную предпочтительность (полезность) для агента;
• предпочтения (preferences) – устанавливаются в соответствии с
целями и задачами агента; агент присваивает их каждому возможному исходу. Предпочтения определяют для агента значение
(ценность) каждого возможного результата решений.
В теории полезности различные сценарии называются лотереями
(lotteries). В лотерее каждый возможный исход или состояние A имеет определенную вероятность p и соответствующее предпочтение для
агента, выражаемое действительным числом U. Например, лотерея L с
двумя возможными исходами: A с вероятностью p и B с вероятностью
1 − p может быть обозначена следующим образом:
L = [p, A; 1 − p, B].
Если агент предпочитает исход A в большей степени, чем исход B, то
это записывается в виде A ≻ B, а если агенту безразличны оба исхода,
это обозначается как A ~ B. В общем случае лотерея может иметь любое
количество исходов, при этом исход может быть элементарным состоянием или другой лотереей.
На основе этих концепций можно определить теорию полезности тем
же методом, что и теорию вероятностей, т. е. устанавливая совокупность
разумно обоснованных ограничений для предпочтений рационального
агента – аксиомы теории полезности:
• упорядоченность (order) – сравнивая два состояния, агент предпочитает первое или второе, или же безразлично относится к обоим
состояниям;

10.2 Теория принятия решений  249
• транзитивность (transitivity) – если агент предпочитает исход A
исходу B и исход B исходу C, то из этого непременно следует предпочтение исхода A относительно исхода C;
• непрерывность (continuity) – если A ≻ B ≻ C, то существует некоторая вероятность p, такая, что для агента не имеет значения различие между получением исхода B с вероятностью, равной единице,
и лотереей L = [p, A; 1 − p, C];
• взаимозаменяемость (substitutability) – если для агента не имеет
значения различие между двумя лотереями A и B, то для агента не
имеет значения и различие между двумя более сложными лотереями, подобными исходным, за исключением того, что B заменяет A в одной из этих лотерей;
• монотонность (monotonicity) – существуют две лотереи с одними
и теми же исходами A и B. Если агент предпочитает исход A, то он
обязательно должен выбрать лотерею, в которой исход A имеет
более высокую вероятность;
• способность к декомпозиции (decomposability) – сложные составные лотереи можно разложить (выполнить декомпозицию) на
простые лотереи, используя правила теории вероятностей.
Теперь из аксиом теории полезности можно вывести функцию (принцип) полезности.
Принцип полезности: если предпочтения агента соответствуют аксиомам теории полезности, то существует функция полезности U, использующая действительные значения, такая, что:
1) U(A) ≻ U(B) тогда и только тогда, когда агент предпочитает исход
A исходу B;
2) U(A) = U(B) тогда и только тогда, когда для агента не имеет значения различие между исходами A и B.
Принцип максимальной ожидаемой полезности: полезность лотереи равна сумме полезностей каждого исхода, умноженных на соответствующую вероятность:



U �P1, S1; P2, S2; P3, S3; …� = �PjUj.
j

Теперь на основе этой концепции функции полезности можно определить ожидаемую полезность (expected utility – EU) конкретного решения D, принятого агентом, считая, что существует N возможных результатов этого решения, каждый из которых имеет вероятность P:

250

 Глава 10. Графы принятия решений




N

EU(D) = �P(результатj(D))U(результатj(D)).
j=1

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

10.2.1.1 Полезность денег
Во многих случаях удобно измерять полезность в денежных единицах: чем больше денег получено на основе принятых решений, тем лучше. Таким образом, можно применять принцип максимальной ожидаемой полезности, измеряя полезность в денежном выражении. Но это не
так просто, как кажется.
Предположим, что вы участвуете в игре, подобной обычным телевизионным шоу, и уже выиграли миллион долларов. Ведущий игры
спрашивает, желаете ли вы сохранить свой выигрыш и завершить учас­
тие в игре или продолжить, перейти на следующий этап и попытаться
выиграть $3 000 000. Вместо столь сложного вопроса ведущий просто
подбросит монету, и если выпадет орел, то вы получите три миллиона долларов, но если выпадет решка, то потеряете все деньги, которые
уже выиграли. Вам необходимо принять решение с двумя вариантами:
(D1) сохранить выигранные деньги, (D2) перейти на следующий этап
с получением возможности выиграть три миллиона (или потерять все).
Каким будет ваше решение?
Посмотрим, что может подсказать нам принцип максимальной ожидаемой полезности, если измерять полезность в долларах (это называют ожидаемой денежной стоимостью – expected monetary value – EMV).
Вычислим ожидаемую денежную стоимость (EMV) для обоих вариантов:
D1: EMV(D1) = 1 × $1 000 000 = $1 000 000;
D2: EMV(D2) = 0.5 × 0 + 0.5 × $3 000 000 = $1 500 000.
Здесь можно видеть, что если мы хотим максимизировать ожидаемую полезность, выражаемую в долларах, то необходимо рисковать и
продолжать игру. Но большинство из нас вероятнее всего выберут вариант с сохранением уже выигранного миллиона и не станут продолжать
игру, рискуя потерять все. Как обосновано такое решение? Разве мы не
должны быть рациональными?
Для большинства людей связь между полезностью и денежной стои­
мостью не является линейной, скорее, это логарифмическое отношение, которое обозначает неприятие риска (risk aversion) (см. рис. 10.1).
Это отношение приблизительно линейно для небольших денежных

10.3 Деревья решений  251
сумм (например, если в описанной выше игре у нас есть не миллион,
а 10 долларов, то вероятнее всего мы продолжим игру «по линейному
отношению»), но, имея крупную сумму (понятие «крупная сумма» каждый человек оценивает индивидуально), увеличение полезности, приносящее больше денег, перестает быть линейным.
U

Склонность к риску
Нейтральное отношение к риску
Неприятие риска

$

Рис. 10.1. На графиках показаны характерные связи между полезностью (U)
и денежной стоимостью ($). Верхний график: склонность к риску,
средний график: нейтральное отношение к риску, нижний график: неприятие риска

Отношение значений полезность–деньги различно для разных людей (и организаций) и зависит от их отношения к риску. Существует
три основных типа отношения к риску: неприятие риска, нейтральное
отношение к риску и склонность к риску, как показано на рис. 10.1.
Несмотря на то что применение принципа максимальной ожидаемой
полезности для определения наилучшего решения кажется вполне очевидным, задачи принятия решений могут оказаться более сложными,
включающими несколько различных решений, событий и возможных
исходов. Решение таких задач не так просто, как может показаться на
первый взгляд, – требуется систематический подход к моделированию
и объяснению сложных задач принятия решений. Одним из самых первых инструментальных средств моделирования для задач принятия решений являются деревья решений (decision trees) [1].

10.3 Деревья решений
Дерево решений – это графическое представление задачи принятия решений, которое содержит три типа элементов или узлов, представляющих три основные компоненты задачи принятия решений: решения
(decisions), неопределенные события (uncertain events) и результаты
(results).
Узел решения (decision node) изображается как прямоугольник с несколькими ветвями (branches), каждая ветвь представляет один из
возможных вариантов, имеющихся в этом пункте принятия решения.
В конце каждой ветви может быть другой пункт принятия решения, событие или результат.

252

 Глава 10. Графы принятия решений

Узел события (event node) изображается в виде круга и также имеет
несколько ветвей, которые представляют все возможные исходы этого
неопределенного события. Эти исходы соответствуют всем возможным
результатам события, т. е. исходы должны быть взаимоисключающими
и исчерпывающими (полными). Каждой ветви присваивается значение
вероятности, такое, что сумма вероятностей всех ветвей равна единице.
В конце каждой ветви может быть другой узел события, узел решения
или результат.
Результаты (results) помечаются полезностью, которую они имеют
для агента, и обычно располагаются в конце каждой ветви дерева (т. е.
являются листьями (leaves)).
Деревья решений обычно изображаются слева направо, т. е. корень
дерева (узел решения) является левым крайним узлом, а листья дерева
располагаются справа. Пример гипотетической задачи принятия решения (на основе примера из [6]) показан на рис. 10.2. Пример представляет принятие решения по инвестициям с тремя вариантами: (i) акции
на фондовой бирже (Stocks), (ii) золото (Gold) и (iii) без инвестиций (No
investment). Предполагая, что инвестиции производятся один раз в год,
при инвестировании в акции в зависимости от положения на фондовой
бирже (неопределенное событие) можно получить $1000 или потерять
$300 с равной вероятностью. При инвестировании в золото необходимо
принять еще одно решение: оформлять страховку или нет. При оформлении страховки гарантировано получение $200, в противном случае
можно выиграть или проиграть в зависимости от того, поднимется ли
цена на золото, останется неизменной или упадет – это представлено
еще одним событием. Каждый возможный исход имеет определенное
значение и присвоенную вероятность, как показано на рис. 10.2. Какое
решение должен принять инвестор?
$1000

Выигрыш (0.5)
Цена на
бирже

Акции
Инвестировать

повышается (0.7)

Золото
Страховка

Не инвестировать

–$300

Проигрыш (0.5)

Нет
Да

Цена на
золото

$800
$100

стабильная (0.2)

$200
понижается (0.1)
–$200
0
Рис. 10.2. Пример дерева решений (подробное описание см. в тексте)

Для определения наилучшего решения в каждом пункте принятия
решения в соответствии с принципом максимальной ожидаемой по-

10.3 Деревья решений  253
лезности необходимо вычислить оценку дерева решений. Вычисление
оценки дерева решений состоит в определении значений узлов обоих
типов – узлов решений и узлов событий. Эта процедура выполняется
справа налево, начиная с любого узла, который имеет только результаты для всех своих ветвей:
• значением узла решений D является максимальное значение из
всех значений исходящих ветвей этого узла:


V(D) = maxjU(результатj(D));

• значение узла событий E – это ожидаемая полезность всех ветвей, исходящих из этого узла, получаемая как взвешенная сумма
значений результатов, умноженных на соответствующие вероятности:
V(E) = ∑P(результатj(E))U(результатj(E)).
j

Следуя описанной выше процедуре, можно вычислить оценку дерева
решений, показанного на рис. 10.2:
Событие 1 – Цена акций на фондовой бирже:

V(E1) = 1000 × 0.5 – 300 × 0.5 = 350;
Событие 2 – Цена золота:

V(E2) = 800 × 0.7 + 100 × 0.2 − 200 × 0.1 = 560;
Решение 2 – Страховка:

V(D2) = max(200, 560) = 560 – Без страховки;
Решение 1 – Инвестиция:

V(D1) = max(150, 560, 0) = 560 – Инвестировать в золото.
Таким образом, в этом примере наилучшим решением становится
инвестиция в золото без страховки.
Деревья решений представляют собой инструментальные средства
для моделирования и решения задач с принятием последовательных
решений, так как решения должны быть представлены в последовательности, как в предыдущем примере. Но размер такого дерева (коли­
чество ветвей) возрастает экспоненциально по отношению к количест­ву
узлов решений и узлов событий, поэтому такое представление на практике применимо только для небольших задач. Другим инструментальным средством моделирования является диаграмма влияния (influence
diagram) [3, 8], которая обеспечивает компактное представление задачи
принятия решений.

254

 Глава 10. Графы принятия решений

10.4 Диаграммы влияния
Диаграммы влияния (influence diagrams) представляют собой инструментальные средства для решения задач принятия решений. Диаграммы
влияния были введены Ховардом (Howard) и Мэтисоном (Matheson) [3]
как иной вариант деревьев решений для упрощения моделирования
и анализа. С другой точки зрения можно рассматривать диаграммы
влия­ния как расширение байесовских сетей, которое включает узлы
решений и узлы полезности. В следующих разделах будет представлено
краткое введение в диаграммы влияния, включая их представление и
основные методы логического вывода.

10.4.1 Моделирование
Диаграмма влияния – это направленный ациклический граф G, который содержит узлы, представляющие случайные переменные, переменные решений и переменные полезности:
• случайные узлы (X) – представляют случайные переменные, как
и в байесовских сетях, с соответствующими таблицами условных
вероятностей. На диаграмме изображаются овалами;
• узлы решений (D) – представляют решения, которые должны быть
приняты. Дуги, направленные к узлу решений, называют информационными (informational), т. е. это означает, что случайный узел
или узел решений в начале такой дуги обязательно должен быть
известен до начала процедуры принятия решения. На диаграмме
обозначаются прямоугольниками;
• узлы полезности (U) – представляют стоимости или полезности,
связанные с моделью. С каждым узлом связана функция, отображающая каждую операцию преобразования родителей этого узла в значение полезности. На диаграмме узлы полезности
изображаются ромбами. Узлы полезности можно дополнительно
подразделить на обычные (ordinary) узлы полезности, родителями которых являются случайные узлы и/или узлы решений, и
сверхценные (super-value) узлы полезности, родителями которых
являются обычные узлы полезности. Обычно сверхценные узлы
полезности представляют собой (взвешенную) сумму обычных
узлов полезности.
В диаграмме влияния существует три типа дуг:
• вероятностные (probabilistic) – обозначают вероятностные зависимости, направлены к случайным узлам;

10.4 Диаграммы влияния  255
• информационные (informational) – обозначают доступность информации, направлены к узлам решений. То есть X → D означает,
что узел X известен до того, как будет принято решение D;
• функциональные (functional) – обозначают функциональные зависимости, направлены к узлам полезности.
Пример диаграммы влияния показан на рис. 10.3. Здесь демонстрируется упрощенная модель задачи определения места строительства
нового аэропорта с учетом вероятности аварий, уровня шума и оценочной стоимости строительства как факторов, которые напрямую влияют
на полезность.
Место
расположения
аэропорта

трафик

аварии

требование

шум

строительство

стоимости

Полезность

Рис. 10.3. Упрощенная модель задачи определения места расположения
аэропорта, представленная в форме простой диаграммы влияния.
Узел решения представляет различные варианты расположения нового аэропорта,
узел полезности представляет полезность (или стоимость), которая зависит от
нескольких факторов, в свою очередь зависящих от других случайных переменных

В любой диаграмме влияния обязательно должен существовать направленный (ориентированный) путь в представляющем диаграмму
направленном графе. Этот путь должен включать все узлы решения,
устанавливая порядок принятия решений. Этот порядок логически
определяет часть случайных переменных в диаграмме влияния так, что
если существует n переменных решений, то случайные переменные
разделяются на n + 1 подмножеств. Каждое подмножество Ri содержит
все случайные переменные, которые известны перед решением Di, но
неизвестны для предыдущих решений. Некоторые алгоритмы оценки
диаграмм влияния используют преимущество этих свойств для повышения эффективности оценки.
Диаграммы влияния используются для оказания помощи лицу, принимающему решение, при поиске решений, максимизирующих ожидаемую полезность. Таким образом, целью анализа решений является

256

 Глава 10. Графы принятия решений

поиск оптимальной стратегии π = {d1, d2, …, dn}, при которой выбираются наилучшие решения для каждого узла решений для максимизации
ожидаемой полезности Eπ(U). Если существует несколько узлов полезности, то в общем случае считается, что мы имеем дополнительную полезность, поэтому должна максимизироваться сумма этих отдельных
полезностей:



10.4.2 Оценка

Eπ(U) =

�E (u ).
ui∈U

π

i

(10.1)

Оценка диаграммы влияния представляет собой поиск последовательности наилучших решений, или оптимальной стратегии. Сначала
мы рассмотрим, как можно решить (оценить) простую диаграмму влия­
ния с единственным решением. Затем будет приведен обзор обобщенных методик решения (оценки) диаграмм влияния.
Мы определяем простую диаграмму влияния как диаграмму с единственным узлом решения и единственным узлом полезности. Для этого
варианта можно просто применить одну из методик логического вывода для байесовской сети, чтобы получить оптимальную стратегию, выполняя следующий алгоритм.
1. Для всех di ∈ D:
a) установить D = di;
b) присвоить значения всем известным случайным переменным;
c) выполнить распространение вероятностей, как в байесовской
сети;
d) получить ожидаемое значение узла полезности U.
2. Выбрать решение dk, которое максимизирует U.
Для более сложных задач принятия решений, в которых имеется несколько узлов решений, описанный выше алгоритм становится практически неприменимым. Вообще говоря, существуют три основных типа
методик для решения диаграмм влияния:
• преобразование диаграммы влияния в дерево решений и применение стандартных методов решения (оценки) для деревьев решений;
• решение диаграммы влияния напрямую методом исключения
переменных, применяя последовательность преобразований к
графу, представляющему диаграмму;
• преобразование диаграммы влияния в байесовскую сеть и использование методик логического вывода для байесовских сетей.

10.4 Диаграммы влияния  257
В следующих подразделах будут рассматриваться второй и третий
типы методик.

10.4.2.1 Метод исключения переменных
Алгоритм исключения переменных [8] основан на исключении узлов
решений поочередно в определенном порядке. Узлы решений, которые
уже были оценены, можно удалить из модели, и этот процесс продолжается до тех пор, пока не будут оценены все узлы решений. Для применения данной методики диаграмма влияния должна быть регулярной, т. е.
соответствовать следующим условиям:
1) структурой диаграммы влияния является направленный ациклический граф;
2) узлы полезности не должны иметь потомков;
3) в представляющем структуру ориентированном графе существует направленный путь, включающий все узлы решений и определяющий порядок, в котором эти решения принимаются.
В общем случае для оценки узлов решений необходимо выполнить
последовательность преобразований в диаграмме влияния. Эти преобразования обязательны для сохранения оптимальной последовательности решений, или оптимальной стратегии. Возможны следующие
преобразования:
• исключение бесполезных (бессодержательных) узлов из числа
случайных узлов или узлов решений, которые являются узлами-листьями в графе, – они не влияют на решения;
• исключение случайных узлов, которые являются родителями узлов полезности и не имеют других потомков, – полезность обновляется в соответствии со значением узла (если узлу не присвоено
конкретное значение, то вычисляется ожидаемая полезность);
• исключение узлов решений, являющихся родителями узла полезности, когда родителями этих узлов решений также являются
родители узла полезности, – вычисляется оценка узла решения,
и принимается решение, которое максимизирует ожидаемую
полез­ность; изменение производится в соответствии с функцией
полезности;
• в том случае, когда ни одна из описанных выше операций неприменима, изменяется на противоположное направление дуги
между двумя случайными переменными. Для инвертирования
направления дуги между узлами i и j требуется отсутствие другого
пути между этими узлами. Тогда дуга i → j меняет свое направление на противоположное и каждый узел «наследует» родителей
другого узла.

258

 Глава 10. Графы принятия решений

Рассмотрим графическое представление алгоритма исключения переменных на примере. Пусть имеется исходная диаграмма влияния, показанная на рис. 10.4. Можно исключить бесполезный случайный узел
в нижнем левом углу. После исключения этого узла его родитель также становится бесполезным узлом, который удаляется, и мы получаем
диа­грамму влияния, показанную на рис. 10.5.

Рис. 10.4. Пример выполнения алгоритма исключения переменных:
исходная диаграмма влияния

Рис. 10.5. Пример выполнения алгоритма исключения переменных:
после исключения двух бесполезных узлов

Далее исключается случайный узел в верхней части диаграммы, родитель узла полезности, концентрирующего значение полезности, затем исключается первое решение, т. е. узел решения в нижней части
диаграммы, и в результате получается диаграмма влияния, показанная
на рис. 10.6.

10.4 Диаграммы влияния  259

Рис. 10.6. Пример выполнения алгоритма исключения переменных:
после исключения первого (узла) решения

Затем изменяется на противоположное направление дуги между двумя оставшимися случайными узлами, в результате чего появляется возможность исключения нижнего случайного узла, и получается модель,
показанная на рис. 10.7. В этом графе можно оценить узел решения
справа, после чего исключить оставшийся случайный узел и, наконец,
оценить узел решения слева.

Рис. 10.7. Пример выполнения алгоритма исключения переменных:
после инверсии направления дуги и исключения случайного узла

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

10.4.2.2 Преобразование в байесовскую сеть
Методика приведения диаграммы влияния к байесовской сети впервые была предложена Купером (Cooper) [2]. Для преобразования диаграммы влияния в байесовскую сеть основным принципом является
преобразование узлов решений и узлов полезности в случайные узлы с
сохранением связанного с ними распределения вероятностей. Узел решений преобразуется в дискретную случайную переменную с учетом
каждого варианта решения di как значения для этой переменной. При
этом используется равномерное распределение как таблица условных
вероятностей (узел решений не имеет родителей, поскольку все входящие дуги являются информационными). Узел полезности преобразуется в бинарную случайную переменную посредством нормализации

260

 Глава 10. Графы принятия решений

функции полезности так, чтобы ее значения находились в диапазоне от
0 до 1, т. е.
P(ui = 1 | Pa(ui)) = val(Pa(ui)) / maximum(val(Pa(ui))),

(10.2)

где Pa(ui) – родители узла полезности в диаграмме влияния, val – значение, присвоенное каждому сочетанию значений родительских узлов.
После описанного выше преобразования с учетом единственного узла полезности задача поиска оптимальной стратегии сводится
к поиску значений узлов решений, которые максимизируют вероятность узла полезности: P(u = 1 | D, R), где D – множество узлов решений, R – множест­во других случайных переменных в диаграмме влияния. Вероятность можно вычислить, используя стандартные методики
логического вывода для байесовских сетей, но для этого потребуется
возрастающее экспоненциально число шагов логического вывода, по
одному для каждой перестановки элементов множества D.
Учитывая, что в регулярной диаграмме влияния узлы решений упорядочены, можно более эффективно вычислить оценку, если оценивать
решения в существующем (или в обратном) порядке [9]. Таким образом,
вместо максимизации P(u = 1 | D, R) максимизируется P(Dj | u = 1, R).
Можно рекурсивно оптимизировать каждый узел решений Dj, начиная
с самого последнего решения, затем переходя к предыдущему решению и т. д. до достижения самого первого решения. Это гораздо более
эффективная процедура оценки. Для описанного здесь алгоритма были
предложены дополнительные улучшения, основанные на диаграммах
влияния с возможностью их декомпозиции (decomposable IDs) (см. раздел материалов для дополнительного чтения).
В обычных методиках решения диаграмм влияния принимаются два
важных предположения:
• полное упорядочение – все решения соблюдают полное упорядочение в соответствии с направленным путем в графе;
• запоминание (non-forgetting) – все предшествующие наблюдения
запоминаются для принятия последующих решений.
Эти предположения ограничивают применимость диаграмм влияния
лишь некоторыми предметными областями, в частности временными
задачами, в которых подразумевается принятие нескольких решений
в различные интервалы времени. В некоторых предметных областях,
таких как принятие медицинских решений, полное упорядочение решений является неосуществимым предположением, так как существуют ситуации, в которых лицу, принимающему решение, неизвестно
заранее, какое решение должно быть принято в первую очередь для
максимизации ожидаемой полезности. Для системы, развивающейся в

10.4 Диаграммы влияния  261
течение длительного интервала времени, количество наблюдений возрастает линейно по времени, поэтому требование запоминания под­
разумевает, что размер стратегий возрастает экспоненциально.

10.4.3 Расширения
10.4.3.1 Диаграммы влияния с ограниченной памятью
Для устранения описанных в предыдущем разделе ограничений диа­
грамм влияния Лауритцен (Lauritzen) и Нильссон (Nilsson) [5] предложили диаграммы влияния с ограниченной памятью (limited memory
influence diagrams – LIMID) как расширение обычных диаграмм влия­
ния. Термин «ограниченная память» отображает свойство, согласно
которому нет необходимости запоминать переменную, известную при
принятии решения, для принятия последующего решения. Исключение
некоторых переменных снижает сложность модели, и модель становится разрешимой с помощью компьютера, но за счет применения не самой оптимальной стратегии.

10.4.3.2 Динамические сети принятия решений
Другое расширение применяется для задач последовательного принятия решений, в которых подразумевается принятие нескольких решений в течение некоторого интервала времени. Как и в байесовских
сетях, можно рассматривать задачи принятия решений, в которых последовательность решений должна быть принята в различные интервалы времени. Этот тип задач известен как задача последовательного
принятия решений (sequential decision problem). Задача последовательного принятия решений может моделироваться как динамическая сеть
принятия решений (dynamic decision network – DDN), также известная
как динамическая диаграмма влияния (dynamic influence diagram), которую можно рассматривать как расширение динамической байесовской сети с дополнительными узлами решений и узлами полезности
для каждого интервала времени (см. рис. 10.8).
Теоретически можно вычислить оценку динамической сети принятия решений так же, как и оценку диаграммы влияния, учитывая,
что решения должны быть упорядочены по времени. Таким образом,
каждый узел решений Dt имеет входящие информационные дуги, направленные от всех предшествующих узлов решений Dt-1, Dt-2 и т. д. Но
поскольку количество интервалов времени («эпох») увеличивается,
сложность возрастает, что может привести к неосуществимости с точки
зрения вычислений. Кроме того, в некоторых приложениях заранее неизвестно количество интервалов времени принятия решений («эпох»),
более того, теоретически возможно даже бесконечное количество решений.

262

 Глава 10. Графы принятия решений

Ut

Dt–1

Ut+1

Dt

Ut+2

Dt+1

Dt+2

St

St+1

St+2

St+3

Et

Et+1

Et+2

Et+3

Рис. 10.8. Пример динамической сети принятия решений
с четырьмя этапами («эпохами») принятия решений

Динамические сети принятия решений тесно связаны с марковскими
процессами принятия решений, которые будут рассматриваться в следующей главе.

10.5 Приложения
Практическое применение графов принятия решений демонстрируется на примере системы помощи при мытье рук пожилым людям и людям с физическими недостатками.

10.5.1 Медработник, принимающий теоретические
решения
Цель медработника (осуществляющего уход за пациентами) – помощь пациенту в завершении выполнения какой-либо задачи с использованием правильного выбора одного из предлагаемых вариантов.
Здесь рассматривается конкретная задача: мытье рук (cleaning one’s
hands). Рассматриваемая система действует как медработник, который
направляет пожилого человека или человека с физическими недостатками для правильного выполнения этой задачи [7].
Важные объекты в среде умывальной комнаты (ванной): мыло, водопроводный кран, полотенце. Система определяет поведение пользователя при взаимодействии с этими объектами. Затем система выбирает действие (используются звуковые подсказки) для направления
пользователя к завершению задачи. Возможно также отсутствие подсказок (так называемое нулевое действие – null action), если пользователь правильно выполняет последовательность требуемых шагов
(действий).

10.5 Приложения  263

10.5.1.1 Модель
Динамическая сеть принятия решений используется для моделирования поведения пользователя и принятия оптимальных решений в каж­
дом интервале времени на основе поведения пользователя (наблюдений) и целей системы (полезностей). Оптимальными действиями могут
считаться предварительно оцененные моделью многие шаги, выполняемые до тех пор, пока не будет завершена задача мытья рук, а баланс
между оптимальностью и эффективностью достигается посредством
предварительного анализа k шагов (lookahead). При этом оптимальные
решения для k узлов решений получаются вычислением динамической
сети принятия решений с помощью одной из методик, описанных в
предыдущих разделах этой главы. В рассматриваемом здесь примере
динамическая сеть принятия решений была преобразована в динамическую байесовскую сеть и решена с использованием логического вывода для байесовских сетей.
Динамическая сеть принятия решений для этого примера показана
на рис. 10.9. В этой модели переменные состояния (S) представляют
действия пользователя в каждом интервале времени, которые не являются непосредственно наблюдаемыми. Узлы наблюдений (O) представляют информацию от системы наблюдения, используемой для распознавания действий, выполняемых пользователем. Узлы действий (A)
соответствуют различным действиям (подсказкам), которые могут быть
выбраны управляющей системой в любой момент времени. Поощрения (R) представляют немедленные поощрения, зависящие от текущего
состояния и выбранного действия. Ниже эти элементы модели описаны
более подробно:
• состояния – пространство состояний характеризуется действиями (жестами рук), выполняемыми человеком. В рассматриваемом
примере переменная состояний может принимать шесть возможных значений: s1 = открывание водопроводного крана, s2 = закрывание водопроводного крана, s3 = использование мыла, s4 = вытирание рук, s5 = взятие полотенца, s6 = мытье рук;
• наблюдения – соответствуют информации, получаемой системой визуального распознавания жестов [7], которая пытается
распознавать действия, выполняемые человеком при мытье рук.
Значения наблюдений полностью совпадают со значениями состояний;
• действия – звуковые подсказки, помогающие человеку завершить выполнение задачи. Существует восемь действий, соответствующих возможным подсказкам, предлагаемым системой:
a1 = открыть водопроводный кран, a2 = закрыть водопроводный кран,

264

 Глава 10. Графы принятия решений

a3 = взять мыло в руки, a4 = намылить и вымыть руки, a5 = взять
полотенце, a6 = вытереть руки, a7 = нулевое действие, a8 = запрос
помощи;
• поощрения – связаны с предпочтительными вариантами выбора
различных действий, выбираемых системой. В контексте медработника-сиделки необходимо учитывать подсказки, понятность
этих подсказок и ответную реакцию пользователя. Использовались три различных значения поощрения: +3 обозначает предпочтительное действие, −3 обозначает штраф, −6 используется
для выбора обращения к помощи (call for help). Здесь важно, что
запрос помощи должен быть самым последним вариантом дейст­
вия.
Rt

At–1

Rt+1

At

Rt+2

At+1

At+2

St

St+1

St+2

St+3

Et

Et+1

Et+2

Et+3

Рис. 10.9. Динамическая сеть принятия решений с четырьмя этапами,
моделирующая образ действий медработника (сиделки). St представляет
действия пользователя, Ot соответствует наблюдаемым действиям,
At – выбранные действия, Rt – немедленное поощрение

Кроме того, для этой модели требуются две таблицы условных вероят­
ностей: функция переходов P(St+1 | St) и функция наблюдений P(Ot | St):
• функция переходов – определяет вероятность следующего состояния (следующего жеста) с учетом текущего состояния и
действия. В рассматриваемом здесь примере это предсказуемо
с некоторой степенью неопределенности. Функции переходов
определялись субъективно;
• функция наблюдений – в рассматриваемом здесь примере
функция наблюдений состоит из вероятности наблюдаемого жес­
та с учетом состояния, т. е. действительно выполняемого жеста.
Эту вероятность можно получить по достоверности (матрицы несоответствий (неточностей)) системы распознавания жестов.

10.5 Приложения  265
Предполагается, что модель не изменяется во времени, т. е. полученные таблицы условных вероятностей не изменяются со временем.

10.5.1.2 Вычисление оценки
Модель оценивалась по следующим характеристикам: (i) чувствительность относительно количества состояний или предварительного
анализа; (ii) эффективность по времени, требуемому для решения модели при выборе следующего действия; (iii) эффективность при сравнении действий, выбранных системой, с действиями медработника-человека.
Динамическая сеть принятия решений была решена выполнением
от 2 до 11 этапов, а действия, выбираемые в различных сценариях, сравнивались с моделями других размеров. Ожидаемая полезность увеличивалась при расширении предварительного анализа, обычно стабилизируясь после 6–7 этапов. Но выбранные действия не изменялись после
4 этапов предварительного анализа, поэтому было выбрано именно это
значение.
Модель с 4 интервалами времени (4 узлами решений) оценивалась
по ее времени отклика, и на ее решение потребовалось около 3 секунд
на обычном персональном компьютере. Таким образом, это количество
интервалов времени обеспечивает разумный баланс между скоростью
(производительностью) и эффективностью.
Для оценки качества действий, выбранных системой, ее решения
сравнивались с решениями (действиями) человека, выполняющего
ту же задачу. Предварительная оценка была определена по действиям обычных людей, имитирующих проблемы при мытье рук. Десять
взрослых людей, участвующих в эксперименте, были разделены на две
группы, по 5 человек в каждой (тестовая и контрольная группы). Первая (тестовая) группа для завершения задачи мытья рук руководствовалась звуковыми подсказками, выдаваемыми системой. Контрольная
группа получала словесные инструкции от человека-ассистента. Каждый участник эксперимента в опросном листе оценивал следующие
характеристики: (i) понятность подсказки; (ii) подробность подсказки; (iii) эффективность системы. Подробность подсказки соответствует
уровню ее конкретности. Понятность оценивает, насколько легко пользователю понять сообщение. Эффективность оценивает уровень руководства системы для успешного выполнения задачи.
Полученные результаты приведены в табл. 10.1. По этим результатам
можно видеть небольшое преимущество человека при выборе наилучшей подсказки, но различия между системой и человеком-ассистентом
незначительны. В двух характеристиках наблюдается небольшое различие (0.6 и менее), в одной (подробность подсказки) различие более значимо. Эту последнюю характеристику необходимо учесть при звуковой

266

 Глава 10. Графы принятиярешений

записи сообщений, связанных с каждой подсказкой. Этот аспект легко
улучшить, он почти не влияет на решения, принимаемые системой.
Таблица 10.1. Результаты, полученные при эксперименте с системой-сиделкой
и человеком, имитирующим проблемы с памятью, которым руководит эта система
для завершения задачи мытья рук
Человек-сиделка

Система

Понятность

4.4

3.9

Подробность

4.6

3.6

Эффективность

4.2

3.6

Сравниваются решения человека-ассистента и системы теоретического принятия решений
на основе динамической сети принятия решений. Шкала оценок от 1 (наихудшая оценка) до 5
(наилучшая оценка).

10.6 Материалы для дополнительного чтения
Первоначальным источником информации о диаграммах влияния является книга Ховарда (Howard) и Мэтисона (Matheson) [3]. В книге Дженсена (Jensen) рассматриваются сети принятия решений [4]. Деревья решений описаны в [1]. Алгоритм исключения переменных для оценки
диаграмм влияния представлен в [8]. Другая методика оценки на основе преобразования в байесовскую сеть описана в [2]. Диаграммы влияния с ограниченной памятью представлены в [5], а их расширение до
динамических моделей – в [10].

10.7 Задания и упражнения
1. Определить функцию полезности в денежном выражении с учетом
неприятия риска, такую, что оптимальным решением для примера
из раздела 10.2.1.1 является сохранение денег (D1) при вычислении
ожидаемой полезности для обоих возможных решений.
2. Рассмотреть дерево решений на рис. 10.2. Будущее состояние фондовой биржи изменилось, и теперь потенциальная прибыль увеличилась до $3000. Кроме того, цена страховки золота увеличилась до
$600. После применения этих изменений в дереве решений повторно вычислить его оценку. Изменились ли решения по сравнению с
исходным примером?
3. Определить требуемые таблицы условных вероятностей для диа­
граммы влияния на рис. 10.3. Рассмотреть два возможных мес­
та расположения аэропорта LocA и LocB и учесть, что все слу-

10.7 Задания и упражнения  267
чайные переменные являются бинарными: traffic = {low, high},
demand = {no, yes}, construction = {simple, complex}, accidents = {very-low,
low}, noise = {low, medium}, costs = {medium, high}. Определить парамет­
ры, руководствуясь собственной интуицией и аксиомами теории
вероятностей.
4. Для диаграммы влияния на рис. 10.3 определить функцию полезности с учетом аварий, уровня шума и затрат, используя значения из
задания 3: а) определить функцию полезности как математичес­кую
функцию U = f(аварии, уровень шума, затраты); б) определить функцию полезности как таблицу.
5. На основе параметров и функций полезности из заданий 3 и 4 определить оценку диаграммы влияния, изображенной на рис. 10.3, вычисляя функцию полезности для каждого возможного места расположения аэропорта при отсутствии свидетельства. Какое из мест
расположения аэропорта является наилучшим в соответствии с
описанной здесь моделью?
6. Повторно выполнить задание 5 для различных сценариев, например: traffic = low, demand = no, construction = simple и traffic = high,
demand = yes, construction = complex. Изменится ли оптимальное мес­
то расположения аэропорта при этих сценариях?
7. Рассмотреть задачу о принятии решения: брать ли с собой зонт на
основании прогноза погоды. Существуют два варианта решения
этой задачи: ознакомиться с прогнозом погоды (нет, да) и взять
зонт (нет, да) и одна случайная переменная weather (погода) = {sunny
(солнечно), light-rain (слабый дождь), heavy-rain (сильный дождь)}.
Смоде­лировать эту задачу как дерево решений, установив стоимости/полезности для различных сценариев, например: взять зонт
и солнечно, взять зонт и слабый дождь, не брать зонт и сильный
дождь и т. д.
8. Определить диаграмму влияния для задачи о зонте из задания 7.
9. *** Разработать программу, которая выполняет преобразования
диаграммы влияния в байесовскую сеть. Затем использовать вероятностный логический вывод для оценки этой байесовской
сети. Применить программу для решения модели размещения
аэропорта, используя параметры и полезности, определенные в
задании 8.
10. *** Исследовать процедуру, используемую для преобразования диа­
граммы влияния в дерево решений. Применить эту процедуру для
решения модели размещения аэропорта.

268

 Глава 10. Графы принятия решений

Ссылки на источники
1. Cole, S., Rowley, J. Revisiting decision trees. Manag. Decis. 33 (8), 46–50
(1995).
2. Cooper, G. A method for using belief networks as influence diagrams.
In: Proceedings of the Twelfth Conference on Uncertainty in Artificial
Intelligence (UAI), p. 55–63 (1988).
3. Howard, R., Matheson, J. Influence diagrams. In: Howard, R., Matheson,
J. (eds.) Readings on the Principles and Applications of Decision Analysis. Strategic Decisions Group, Menlo Park (1984).
4. Jensen, F. V. Bayesian Networks and Decision Graphs. Springer, New York
(2001).
5. Lauritzen, S., Nilsson, D. Representing and solving decision problems
with limited information. Manag. Sci. 47, 1235–1251 (2001).
6. Ley-Borrás, R. Análisis de Incertidumbre y Riesgo para la Toma de Decisiones. Comunidad Morelos, Orizaba, Mexico (2001) (In Spanish).
7. Montero, A., Sucar, L. E. Decision-theoretic assistants based on contextual gesture recognition. Ann. Inf. Syst. (to be published).
8. Shachter, R. D. Evaluating influence diagrams. Oper. Res. 34 (6), 871–882
(1986).
9. Shachter, R. D., Peot, M. Decision making using probabilistic inference
methods. In: Proceedings of the Eighth Conference on Uncertainty in
Artificial Intelligence (UAI), p. 276–283 (1992).
10. van Gerven, M. A. J., Díez, F. J., Taal, B. G., Lucas, P. J. F. Selecting treatment strategies with dynamic limited-memory influence diagrams. Artif. Intell. Med. 40 (3), 171–186 (2007).
11. von Neumann, J., Morgenstern, O. Theory of Games and Economic Behavior. Princeton University Press, Princeton (1944).

Глава

11

Марковские процессы
принятия решений

11.1 Введение
В этой главе рассматриваются задачи последовательного принятия
решений, т. е. задачи, в которых подразумевается последовательность
принятия решений в течение некоторого времени. Предполагается, что
агент принятия решений рационален, поэтому целью является максимизация ожидаемой полезности в течение длительного времени.
Учитывая существование неопределенности в результатах решений
агента, этот тип задач можно моделировать как марковские процессы
принятия решений (Markov decision processes – MDP). Решая модель
марковского процесса принятия решений, мы получаем то, что называют страте­гией (policy), которая указывает агенту, какое действие выбрать на каж­дом временнóм шаге на основе текущего состояния. Оптимальной стратегией является та, которая выбирает действия так, чтобы
макси­мизировать ожидаемое значение.
Сначала будет приведено формализованное определение модели
марковского процесса принятия решений, затем будут представлены
два стандартных метода ее решения: итерация значения и итерация
стратегии. Несмотря на то что сложность решения марковского процесса принятия решений является квадратической по отношению к числу состояний-действий, эта модель может стать практически невыполнимой в отношении требований к памяти и времени, когда число
состояний-действий слишком велико. Факторизованные марковские

270

 Глава 11. Марковские процессы принятия решений

процессы принятия решений обеспечивают представление на основе
графовых моделей для решения весьма больших марковских процессов
принятия решений.
В конце главы будут представлены частично наблюдаемые марковские процессы принятия решений (partially observable Markov decision
processes – POMDP), в которых существует неопределенность не только
в результатах действий, но и в состояниях.

11.2 Моделирование
Марковский процесс принятия решений (Markov decision process –
MDP) [13] моделирует задачу последовательного принятия решений,
в которой система развивается во времени и управляется агентом. Динамика системы регулируется вероятностной функцией перехода Φ,
которая отображает состояния S и действия A в новые состояния S'.
В каждый момент времени агент принимает поощрение R, зависящее
от текущего состояния s и предпринятого действия a. Решая представление этой задачи в форме марковского процесса принятия решений,
мы получаем рекомендуемую стратегию, которая максимизирует ожидаемое поощрение во времени, а также учитывает неопределенность
результатов любого действия.

Рис. 11.1. Робот в мире, ограниченном строгой сетью координат.
Каждая ячейка представляет возможные состояния робота,
улыбающееся лицо – цель, запрещающий знак – опасность.
Робот изображен в ячейке со стрелками, демонстрируя вероятность
перехода в следующее состояние с учетом действия up (вверх)

Например, рассмотрим агента (имитацию робота), который живет
в мире, ограниченном строгой сетью координат, при этом состояние
робота определяется ячейкой, в которой он находится (см. рис. 11.1).
Робот должен двигаться к цели (к ячейке с улыбающимся лицом), обходить препятствия (закрашенные ячейки) и избегать опасностей (ячейка
с запрещающим знаком). Возможные действия робота – перемещение в
соседние ячейки (вверх, вниз, влево, вправо). Предполагается, что робот
получает немедленное определенное поощрение, когда проходит через
каждую ячейку, например +100, когда достигает цели, −100, если прохо-

11.2 Моделирование  271
дит через ячейку с запрещающим знаком (которая может представлять
опасное место), −1 для всех прочих ячеек (это заставляет робота искать
самый короткий путь к цели).
Будем считать, что существует неопределенность в результатах каждого действия, выполняемого роботом. Например, если выбрано дейст­вие
up (вверх), то робот переходит в верхнюю ячейку с вероятнос­тью 0.8 и с
вероятностью 0.2 в другие ячейки (влево или вправо). Это обозначено с
помощью толщины стрелок на рис. 11.1. Имея в своем распо­ряжении определенные состояния, действия, поощрения и функцию перехода, можно
смоделировать эту задачу как марковский процесс принятия решений.
Задача робота – прийти в целевую ячейку как можно быстрее и избежать опасностей. Эта цель достигается с помощью решения марковского процесса принятия решений, который представляет эту задачу,
и с помощью максимизации ожидаемого поощрения20. Найденное
решение обеспечивает агента стратегией, т. е. определяет наилучшее
дейст­вие, выполняемое в каждом состоянии, как показано стрелками
на графи­ческой схеме этого небольшого примера на рис. 11.2.

Рис. 11.2. Итоговая стратегия, определенная как результат решения
модели марковского процесса принятия решений. Стрелки показывают
оптимальное действие в каждой ячейке

С формальной точки зрения марковский процесс принятия решений представляет собой кортеж M = , где S – конечное мно­
жество состояний {s1, …, sn}, A – конечное множество действий {a1, …, am},
Φ: A × S × S → [0, 1] – функция перехода между состояниями, определяе­
мая как распределение вероятностей. Вероятность достижимого состояния s' посредством выполнения действия a из состояния s записывается
как Φ(a, s, s'). R: S × A → ℜ – функция поощрения. R(s, a) – это поощрение,
получаемое агентом, если он выполняет действие a в состоянии s.
В зависимости от того, насколько велик интервал, рассматриваемый
в будущем (horizon), существуют два основных типа марковских процессов принятия решений: (i) с конечным интервалом (finite horizon) и
20

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

272

 Глава 11. Марковские процессы принятия решений

(ii) с бесконечным интервалом (infinite horizon). В задачах с конечным
интервалом считается, что существует фиксированное, предварительно
определенное количество временных шагов, для которых необходимо
максимизировать ожидаемое поощрение (или минимизировать затраты
(издержки)). Например, рассмотрим пример с инвестором, который покупает и продает акции каждый день (временной шаг) и желает максимизировать свою прибыль в течение года (интервал в будущем – horizon).
В задачах с бесконечным интервалом нет фиксированного, предварительно определенного количества временных шагов; это количество
может быть различным и теоретически бесконечным. Это подходящий
вариант для обобщенной задачи планирования дейст­вий робота, так как
изначально неизвестно количество перемещений (действий), которое
потребуется роботу для достижения цели или нескольких целей.
В оставшейся части главы мы сосредоточимся на задачах с бесконечным интервалом, так как они в основном встречаются на практике.
Кроме того, преимуществом таких задач является то, что при определенных условиях оптимальная стратегия стабильна, т. е. зависит только
от состояния, а не от временных шагов.
Стратегия (policy) π для марковского процесса принятия решения
представляет собой функцию π : S → A, определяющую для каждого
состоя­ния si действие, которое необходимо выполнить, ai. С учетом
конкретной стратегии ожидаемое суммарное поощрение для конкретного состояния s известно как значение (value) для этого состояния,
соот­ветствующее применяемой стратегии Vπ(s). Это значение можно
вычис­лить, используя следующую рекурсивную формулу:
Vπ(s) = R(s, a) + �Φ(a, s, s')Vπ(s'),

(11.1)


Vπ(s) = maxa{R(s, a) + 𝛾�Φ(a, s, s')Vπ(s'),
s∈S


(11.2)




s∈S

где R(s, a) представляет немедленное поощрение с учетом действия a,
а сумма ∑s∈SΦ(a, s, s')Vπ(s') – ожидаемое значение следующего состояния
в соответствии с выбранной стратегией.
Для варианта задачи с бесконечным интервалом параметр, известный как коэффициент дисконта (discount factor) 0 ≤ � < 1, включается для
того, чтобы сумма сходилась. Этот параметр можно интерпретировать
как коэффициент, придающий большее значение (ценность) поощрению, получаемому в настоящее время, чем поощрению в будущем.21
После включения коэффициента дисконта функция значения выглядит следующим образом:

21

Это значение ценности очевидно при финансовых инвестициях, связанных с инфляцией и процентной ставкой. Для других приложений обычно не совсем понятен способ определения коэффициента дисконта, и в общем случае используется значение, близкое к единице, например 0.9.

11.3 Вычисление оценки  273
Требуется найти стратегию, которая максимизирует ожидаемое
поощрение, т. е. стратегию, дающую наибольшее значение для всех
состоя­ний. Для варианта задачи с бесконечным интервалом и с любым
учитываемым коэффициентом дисконта 𝛾 существует стратегия π*, которая оптимальна независимо от начального состояния и соответствует
хорошо известной формуле Беллмана (Bellman) [2]:
(11.3)

Vπ(s) = maxa�R(s, a) + 𝛾�Φ(a, s, s')Vπ(s')�.
s∈S

Следовательно, стратегия, которая максимизирует формулу 11.3, и
является оптимальной стратегией π*:

π*(s) = argmaxa�R(s, a) + 𝛾�Φ(a, s, s')Vπ(s')�.
(11.4)
s∈S

Формула Беллмана является рекурсивным выражением, которое невозможно вычислить напрямую. Но существует несколько методов ее
эффективного вычисления. Эти методы будут рассматриваться в следую­
щем разделе.

11.3 Вычисление оценки
Существуют три основных метода решения (вычисления оценки) марковского процесса принятия решений и поиска оптимальной стратегии: а) итерация значения; б) итерация стратегии; в) линейное программирование [13]. Два первых метода решают задачу итеративно,
уточняя значение функции или стратегии соответственно. Третий метод преобразовывает исходную задачу в задачу линейного программирования, которую можно решить с помощью стандартных методов
оптимизации, например симплекс-методом. Мы подробно рассмотрим
только два первых метода, подробности третьего метода см. в разделе
материалов для дополнительного чтения.

11.3.1 Итерация значения
Процедура итерационного уточнения значения начинается с присваивания начального значения каждому состоянию. Обычно это значение немедленного поощрения для соответствующего состояния. Таким
образом, на итерации 0 значение V0(s) = R(a, s). Далее эти оценки значений уточняются на каждой итерации посредством максимизации с
использованием формулы Беллмана. Процесс завершается, когда значения всех состояний сходятся, т. е. когда разность значений на предыдущей и текущей итерациях меньше предварительно установленного
порогового значения. Действия, выбранные на последней итерации,
соответствуют оптимальной стратегии. Выполнение метода показано
в алгоритме 11.1.

274

 Глава 11. Марковские процессы принятия решений

Алгоритм 11.1. Алгоритм итерации значения
1:
2:
3:
4:
5:
6:
ной

∀s V0(s) = R(s, a) {Инициализация}
t=1
repeat
∀s Vt(s) = maxa{R(s, a) + �∑s∈SΦ(a, s, s')Vt-1(s')} {Итеративное уточнение}
until ∀s | Vt(s) − Vt-1(s) | < �
π*(s) = argmaxa{R(s, a) + �∑s∈SΦ(a, s, s')Vt(s')} {Получение оптимальстратегии}

Сложность по времени этого алгоритма является квадратической
отно­сительно количества состояний-действий.
Обычно стратегия сходится раньше, чем сходится значение; это
озна­чает, что стратегия не изменяется, даже если значение пока еще не
сходится. Это дает повод для подробного рассмотрения второго метода – итерации стратегии.

11.3.2 Итерация стратегии
Процедура итерационного уточнения стратегии начинается с выбора случайной начальной стратегии (если в распоряжении имеются некоторые знания из предметной области, то их можно использовать для
«посева» начальной стратегии). Затем стратегия итеративно уточняется
(улучшается) при выборе действий для каждого состояния, увеличиваю­
щих большинство ожидаемых значений. Алгоритм завершается, когда
стратегия сходится, т. е. когда стратегия не изменяется по сравнению с
предыдущей итерацией. Выполнение метода показано в алгоритме 11.2.
Алгоритм 11.2. Алгоритм итерации стратегии
1: π0 : ∀sa0(s) = ak {Инициализация стратегии}
2: t = 1
3: repeat
4:
{Итеративное уточнение (улучшение) стратегии}
5:
∀sVtπt-1(s) = {R(s, a) + �∑s∈SΦ(a, s, s')Vt-1(s')} {Вычисление значений
для текущей стратегии}
6:
∀sπt(s) = argmaxa{R(s, a) + �∑s∈SΦ(a, s, s')Vt(s')} {Итеративное уточнение (улучшение)}
7: until πt = πt-1

Как правило, процесс итерационного уточнения стратегии сходится
за меньшее число итераций по сравнению с итерациями значения, но
накладные расходы на вычисления в каждой итерации выше, так как
значения должны обновляться.
Решение небольших марковских процессов принятия решений с использованием алгоритма 11.2 весьма эффективно, но при значительном уве-

11.4 Факторизованные марковские процессы принятия решений  275
личении пространства состояний-действий возникают затруднения. Например, рассмотрим задачу с 10 000 состояний и 10 действиями, что часто
встречается в приложениях, подобных задаче о движении робота. В этом
случае пространство, требуемое для хранения таблицы переходов, будет
иметь размер 10 000 × 10 000 × 10 = 109, а обновление функции значения
потребует порядка 108 операций на каждой итерации. По­этому решение
весьма крупного марковского процесса принятия решений может стать
чрезвычайно затруднительным даже при современном уровне компьютерных технологий. Другим вариантом является декомпозиция пространства состояний и использование преиму­ществ независимых отношений
(связей) для снижения требований к памяти и вычислительным ресурсам
с применением представления на основе графовой модели марковских
процессов принятия решений, известной как факторизованные марковские процессы принятия решений (factored Markov decision process).

11.4 Факторизованные марковские процессы
принятия решений
В факторизованных марковских процессах принятия решений мно­
жество состояний описывается через множество случайных переменных
X = {X1, …, Xn}, где каждая переменная Xi принимает значения из некоторой конечной области (домена) Dom(Xi). Состояние s определяет значение xi ∈ Dom(Xi) для каждой переменной Xi. Модель переходов и функция
поощрения могут увеличиваться по экспоненциальному закону и стать
весьма большими, если они явно представлены как матрицы, но рабочие среды для динамических байесовских сетей (см. главу 7) и деревья
решений [14] предоставляют инструментальные средства для описания
модели переходов и функции поощрения в компактной форме.
Пусть Xi обозначает переменную в текущий момент времени, а Xi' –
переменную на следующем шаге. Функция переходов для каждого
дейст­вия a представлена как двухэтапная динамическая байесовская
сеть, т. е. двухуровневый направленный ациклический граф GT с узлами
{X1, …, Xn, Xi', …, Xn'} (см. рис. 11.3, слева). Каждый узел Xi' связан с условным распределением вероятностей PΦ(Xi' | Parents(Xi')), которое обычно
представлено матрицей (таблицей условных вероятностей) или в более компактной форме дерева решений. Тогда вероятность перехода
Φ(a, si, si') определяется как ∏iPΦ(xi' | ui), где ui представляет значения
переменных в множестве Parents(Xi').
Поощрение, связанное с некоторым состоянием, часто зависит только
от значений конкретных признаков этого состояния. Отношение между
поощрениями и переменными состояния может быть представлено с помощью узлов значений в диаграммах влияния, как показано на рис. 11.3
(в центре). Таблица условных поощрений (conditional reward table – CRT)

276

 Глава 11. Марковские процессы принятия решений

для такого типа узла представляет собой таблицу, связываю­щую поощрение с каждым сочетанием значений для родителей этого узла в графе. Эта таблица является экспоненциальной по числу связанных с ней
переменных. Несмотря на то что в наихудшем случае таблица условных
поощ­рений будет экспоненциально увеличивать пространство для хранения функции поощрений, во многих случаях функция поощрений
имеет структуру, позволяющую представить ее компактно с использованием деревьев решений или графов, как показано на рис. 11.3 (справа).
t

t+1

X1

X1'

X2

X2'

X3

X3'

X1

X1

t
Поощрение

X2

X4

X4'

X5

X5'

f

X2

t

R1

f

R3

R2

Рис. 11.3. Слева: динамическая байесовская сеть с пятью переменными
состояния, представляющими функцию перехода для одного действия.
В центре: диаграмма влияния, определяющая функцию поощрения.
Справа: структурированное условное поощрение (conditional reward – CR),
представленное как бинарное дерево решений

Во многих случаях таблицы условных вероятностей в динамической
байесовской сети соответствуют определенной структуре, в частности
некоторые значения вероятностей достаточно часто повторяются много
раз (например, нулевая вероятность). Воспользовавшись преимущест­
вом таких свойств, можно обеспечить еще более компактное представление таблицы условных вероятностей в форме дерева или графа, так как
повторяющиеся значения вероятностей отображаются только один раз
в листьях этих графов (деревьев). Чрезвычайно эффективным представлением является алгебраическая диаграмма решений (algebraic decision
diagram – ADD). Пример таблицы условных вероятностей, представленной в форме алгебраической диаграммы решений, показан на рис. 11.4.
Представление функций переходов в марковских процессах принятия решений как двухэтапных динамических байесовских сетей и
функций поощрения как дерева решений с дальнейшим повышением
их компактности на основе деревьев или алгебраических диаграмм решений во многих случаях позволяет весьма существенно сэкономить

11.4 Факторизованные марковские процессы принятия решений  277
память для хранения очень крупных марковских процессов принятия
решений. Пример такой экономии будет продемонстрирован в разделе
приложений в текущей главе.
D
A

A'

B

B'

C

C'

D

D'

E

E'

F

F'

G

G'

H

H'

D
T
F
F
F
F
F
F
F
F
F
F
F

C
T/F
T
T
T
T
T
T
T
F
F
F
F

A
T/F
T
T
T
F
F
F
F
T/F
T/F
T/F
T/F

B
T/F
T
T
F
T/F
T/F
T/F
T/F
T/F
T/F
T/F
T/F

E
T/F
T/F
T/F
T/F
T
T
T
F
T
T
T
F

F
T/F
T/F
T/F
T/F
T
T
F
T/F
T
T
F
T/F

G
T/F
T
F
T/F
T
F
T/F
T/F
T
F
T/F
T/F

D'
0.9
0.9
0.0
0.0
0.9
0.0
0.0
0.0
0.9
0.0
0.0
0.0

C
A

B

E
F

G

0.9
0.0

Рис. 11.4. Пример таблицы условных вероятностей, представленной
в форме алгебраической диаграммы решений. Слева: двухэтапная динамическая
байесовская сеть, представляющая функцию переходов. В центре: таблица
условных вероятностей для одной из переменных. Справа: алгебраическая
диаграмма решений, представляющая таблицу условных вероятностей, –
для каждого узла стрелка вправо соответствует значению T, стрелка влево
соответствует значению F

Кроме того, на основе такого компактного представления были разработаны чрезвычайно эффективные версии алгоритмов итераций
значения и стратегии, которые также сокращают время вычислений,
требуемое для решения сложных моделей марковских процессов принятия решений. Примером является алгоритм SPUDD [8].
Дальнейшего снижения вычислительной сложности можно достичь,
используя другие методики, такие как абстракция и декомпозиция,
описанные в следующих подразделах.

11.4.1 Абстракция
Главный принцип абстракции (abstraction) – сокращение пространства состояний посредством создания абстрактной модели, в которой
состояния с похожими признаками объединяются в группы [9].
Равнозначные состояния (equivalent states) – это состояния, которые
имеют одинаковые функции переходов и поощрений. Такие состояния
можно объединить в группы без изменения исходной модели, так что
оптимальная стратегия останется той же самой для сокращенной модели. Но сокращение пространства состояний только при помощи объ­
единения равнозначных состояний в общем случае не является сущест­
венным. Дальнейшего сокращения можно достичь, группируя схожие

278

 Глава 11. Марковские процессы принятия решений

состояния. В результате получаются приблизительные модели и достигается баланс между точностью модели (и получаемой в итоге стратегии) и ее сложностью.
Для создания сокращенных приблизительных моделей применялись разнообразные стратегии. Одна из таких стратегий заключается
в разделении пространства состояний на множество блоков, таких, что
каждый блок является стабильным. Таким образом, сохраняются те же
вероятности переходов, что и в исходной модели [5]. В другом варианте предлагается разделение пространства состояний на качественные
(qualitative) состояния, которые имеют схожие функции поощрения [15].

11.4.2 Декомпозиция
Процедура декомпозиции состоит в разделении общей (глобальной)
задачи на более мелкие подзадачи, которые решаются независимо, пос­
ле чего их решения объединяются [4, 10]. Существует два основных типа
декомпозиции: (i) последовательная, или иерархическая, и (ii) парал­
лельная.
Иерархические марковские процессы принятия решений поддерживают последовательную декомпозицию, при которой достигаются различные подцели в последовательном порядке, что позволяет достичь
главной итоговой цели. Таким образом, на конкретном этапе выполнения в любой рассматриваемый момент времени активной является
только одна (под)задача. Иерархические марковские процессы принятия решений ускоряют решение сложных задач, определяя различные
подзадачи, соответствующие промежуточным целям. Достигается каж­
дая подцель, затем все эти подпроцессы объединяются для решения общей глобальной задачи. Примерами иерархических методов являются
HAM [11] и MAXQ [6].
В параллельных марковских процессах принятия решений подзадачи выполняются в параллельном режиме для решения глобальной задачи. В общем случае эти методики предполагают, что задачу можно
разделить на несколько относительно независимых подзадач, которые
можно решить независимо друг от друга, а затем объединить полученные решения для выполнения глобальной задачи. Если подзадачи не
являются полностью независимыми, то требуется определение некоторых дополнительных условий. Например, слабо связанные марковские
процессы принятия решений (Loosely Coupled MDP) [10] рассматривают
несколько независимых подпроцессов, которые являются связанными
из-за ограничений использования общего ресурса. Для решения таких
задач применяется итеративная процедура на основе эвристического
распределения ресурсов для каждой подзадачи. При другом подходе,
описанном в [4], изначально независимо решается каждая подзадача,
а при объединении полученных решений учитываются потенциально

11.5 Частично наблюдаемые марковские процессы принятия решений  279
возможные конфликты между частными (частично определенными)
стратегиями. Эти конфликты разрешаются для получения глобальной,
приблизительно оптимальной стратегии. Пример применения этой методики в робототехнике описан ниже в разделе 11.6.

11.5 Частично наблюдаемые марковские
процессы принятия решений
В некоторых предметных областях состояние невозможно наблюдать
в полной мере, поэтому доступна только частичная информация о состоянии системы. Этот тип задач известен как частично наблюдаемые
марковские процессы принятия решений (partially observable Markov
decision processes – POMDP). В данном случае имеются некоторые наблюдения, по которым состоянию можно дать только вероятностную
оценку. Например, рассмотрим задачу из предыдущего раздела о движении робота в плоском мире, разделенном на ячейки. Возможно, робот не всегда может точно определить, в какой ячейке он находится, но
может оценить вероятность нахождения в каждой ячейке по наблюдениям за окружающей средой. Точно такая же ситуация и для настоящего мобильного робота в реальных окружающих средах, где робот не может точно знать свое местоположение в конкретной окружающей среде,
но может дать ему вероятностную оценку, используя свои сенсорные
датчики и определенные ориентиры в этой среде.
Формально частично наблюдаемый марковский процесс принятия
решений определяется как кортеж M = . Первые четыре элемента те же самые, что и в определении обычного марковского процесса принятия решений. O – конечное множество наблюдений
{o1, …, ot}. Ω : S × O → [0, 1] – функция наблюдений, определяемая как
распределение вероятностей, которое дает вероятность наблюдения o
с учетом того, что процесс находится в состоянии s, P(o | s). Π – распределение начального состояния, которое определяет вероятность нахождения в состоянии s в момент времени t = 0.
В частично наблюдаемом марковском процессе принятия решений
текущее состояние не является известным с определенностью, извест­
но только распределение вероятностей этого состояния, которое назы­
вают доверительным состоянием (belief state). Поэтому для решения
частично наблюдаемого марковского процесса принятия решений
требуется поиск формы отображения пространства доверия в прост­
ранство действий, такой, что выбирается оптимальное действие. Это
равнозначно непрерывному пространству состояний марковского процесса принятия решений. Таким образом, решение частично наблюдаемого марковского процесса принятия решений намного более трудное,
чем решение обычного марковского процесса принятия решений, так

280

 Глава 11. Марковские процессы принятия решений

как пространство доверия (доверительное пространство) теоретически
бесконечно.
Точное решение частично наблюдаемого марковского процесса
приня­тия решений практически невыполнимо с точки зрения вычислений, за исключением очень маленьких задач. Поэтому было разработано
несколько методик приближенного решения. Некоторые из основ­ных
типов методик поиска приближенных решений для частично наблюдаемого марковского процесса принятия решений перечислены ниже:
• дерево стратегий и методы динамических сетей принятия решений – предполагается задача с бесконечным интервалом, а час­
тично наблюдаемый марковский процесс принятия решений
может быть представлен как дерево стратегий (policy tree) (по
аналогии с деревом решений) или как динамическая сеть принятия решений. Затем можно применить алгоритмы для решения
этих типов моделей;
• методы выборки – функция значений вычисляется для мно­жества
точек в пространстве доверия (доверительном пространст­ве); используется интерполяция для определения оптимального дейст­
вия с целью получения других доверительных состояний, которые не входят в множество точек выборки;
• методы аппроксимации функции значений – учитывая, что функция значений является выпуклой и кусочно-линейной, ее можно
представить как множество векторов (называемых �-векторами).
Таким образом, функцию значений можно аппроксимировать
множеством векторов, которые доминируют над другими векторами, и таким способом найти приблизительное решение.
В разделе материалов для дополнительного чтения приведены ссылки на дополнительные источники информации о частично наблюдаемых марковских процессах принятия решений.

11.6 Приложения
Практическое применение марковских процессов принятия решений демонстрируется в двух различных предметных областях. Сначала рассмат­
ривается система помощи операторам электростанции в сложных ситуациях. Во втором примере описано регулирование и согласование набора
модулей при решении сложных задач для обслуживающих роботов.

11.6.1 Управление электростанцией
Система парогенерации электростанции со смешанным циклом подает разогретый до очень высокой температуры пар в паровую тур-

11.6 Приложения  281
бину. Система состоит из парогенератора отбора тепла (утилизатора),
насоса рециркуляции, управляющих клапанов и соединительных труб.
Парогенератор отбора тепла (утилизатор) (heat recovery steam generator – HRSG) – агрегат, способный извлекать остаточную энергию из отработанных газов газовой турбины для генерации пара под высоким
давлением (Pd) в специальном резервуаре (паровом коллекторе – steam
drum). Насос рециркуляции (recirculation pump) – это устройство, которое
извлекает отработанную воду из парового коллектора для последующей
непрерывной подачи в HRSG (Ffw). Результатом этого процесса является
поток пара под высоким давлением (Fms), который постоянно вращает
паровую турбину (steam turbine) для производства электро­энергии (g)
в силовом (электрическом) генераторе (power generator). Главные элементы управления – клапан подачи воды (feedwater valve – fwv) и клапан
свежего пара (main steam valve – msv).
При нормальной работе система управления подачей воды, состоящая из трех элементов, подает команды на клапан, контролирующий
подачу воды (fwv), для регулирования уровня (dl) и давления (pd) в паровом коллекторе. Но это типовое устройство управления не учитывает
возможность критических сбоев в цикле управления (клапаны, оборудование или любые другие устройства). Более того, не принимается во
внимание, помогут ли в будущем результаты принимаемых решений
увеличить срок службы парового коллектора, улучшить безопасность и
производительность. Задача заключается в получении функции, которая выполняет преобразование состояний системы управления элект­
ростанцией в рекомендации для оператора. Эта функция должна учитывать все перечисленные выше аспекты.
Описанная здесь задача была смоделирована как марковский процесс принятия решений, который послужил основой для разработки
инструментального средства для подготовки и помощи операторам
электростанций.

11.6.1.1 Система помощи операторам электростанции
AsistO [16] – это интеллектуальная система помощи, которая предо­
ставляет рекомендации для обучения, подготовки и помощи в онлайн-режиме для предметной области управления электростанцией.
Эта система помощи объединена с системой, имитирующей работу
электростанции и способной в определенной степени воспроизводить
рабочий процесс электростанции со смешанным циклом.
Система AsistO основана на модели теории принятия решений, которая представляет основные элементы системы парогенерации электро­
станции со смешанным циклом. Основные переменные в системе парогенерации представляют ее состояние в факторизованной форме.
Некоторые из этих переменных являются непрерывными, поэтому

282

 Глава 11. Марковские процессы принятия решений

они дискретизируются в конечное число интервалов. Действия, соответствующие операциям управления основными клапанами в этой подсистеме электростанции, в особенности действия, управляющие уровнем парового коллектора (это особо важный элемент электростанции):
клапан подачи воды (fwv) и клапан подачи свежего пара (msv). Функция
поощрения определена в форме кривой рекомендуемых операций для
соотношения между давлением в паровом коллекторе и потоком пара
(см. рис. 11.5). Главная цель – сохранение баланса между эффективностью и безопасностью электростанции. Поэтому управляющие действия должны стремиться сохранить состояние электростанции в пределах этой кривой рекомендуемых операций. При любых отклонениях
необходимо вернуть состояние в безопасную точку – это схематически
показано стрелками на рис. 11.5.
Давление в паровом коллекторе (кг/см2, g)

186
184
182
180
178
176
174
172
170

Кривая рекомендуемых операций
42
36
30
24
18
12
6
0

43
37
31
25
19
13
7
1

44
38
32
26
20
14
8
2

45
39
33
27
21
15
9
3

46
46
34
28
22
16
10
4

47
41
35
29
23
17
11
5

50%
531

60%
649

70%
767

80%
885

90%
1003

100%
1120

168
166
164

Поток свежего пара (t/h)

Рис. 11.5. Кривая рекомендуемых операций для парового коллектора
электростанции со смешанным циклом, определяющая требуемое
соотношение между давлением в паровом коллекторе и потоком пара.
Стрелки схематически показывают основной принцип работы системы
рекомендаций – возвращение в нормальный режим работы с безопасным
соотношением (обозначено зеленым кружком), когда состояние
электростанции отклоняется от кривой рекомендуемых операций

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

11.6 Приложения  283

11.6.1.2 Результаты экспериментов
Рассматривался относительно простой пример с пятью переменными
состояния: Fms, Ffw, Pd, g, d – и четырьмя действиями: открыть/закрыть
клапаны подачи воды (fwv) и свежего пара (msv) при определенных количественных показателях. Функция поощрения была определена на
основе кривой рекомендуемых операций. Для обучения функции переходов были сделаны выборки динамических характеристик с использованием имитационной системы.
Сравнивались требования к памяти для простого плоского представления марковского процесса принятия решений и его факторизованного представления. Для плоского представления марковского процесса
принятия решений потребовалось 589 824 параметра (значения вероятностей), в то время как для факторизованного марковского процесса
принятия решений – только 758. Оптимальное решение для факторизованного марковского процесса принятия решений было получено менее чем за две минуты на обычном персональном компьютере.
Также сравнивалась система рекомендованных управляющих действий на основе марковского процесса принятия решений и обычная
система автоматического управления с использованием системы, имитирующей работу электростанции. Действия, выполненные обеими
системами, одинаковы, но система управления на основе марковского
процесса принятия решений затратила меньше времени на возврат в
точку безопасного режима работы при возникновении отклонений.

11.6.2 Согласование задач робота
Обслуживающие роботы – это в основном мобильные роботы, разработанные для помощи людям при выполнении различных действий,
например для уборки дома, для помощи пожилым людям в интернатах
для престарелых, для соблюдения графика приема лекарств пациентами в больницах. Для выполнения таких задач обслуживающий робот
должен обладать несколькими обязательными способностями, такими как определение своего местонахождения (локализация) и навигация (выбор маршрута движения), обход препятствий, обнаружение и
распоз­навание людей, обнаружение объектов и взаимодействие с ними
и т. д. Для упрощения разработки обслуживающих роботов и обеспечения их многократного использования эти разнообразные способности
можно реализовать как независимые программные модули, которые в
дальнейшем могут объединяться в различных сочетаниях для решения
конкретных задач, таких как доставка сообщений или предметов между
сотрудниками в офисе. В таких случаях необходимо согласование различных модулей выполнения элементарных задач, желательно наиболее оптимальным способом.

284

 Глава 11. Марковские процессы принятия решений

Марковские процессы принятия решений предоставляют вполне
подходящую рабочую среду и инструментарий для согласования задач
обслуживающих роботов [7]. Пространство состояний можно определить с учетом количества переменных, определяющих ситуацию самого высокого уровня в элементарных задачах. Действия соответствуют
командам, т. е. обращениям (вызовам) к различным программным модулям, например к данным навигационной системы для перемещения
робота в определенную позицию в окружающей среде. Функцию поощ­
рения можно определить на основе целей выполняемой задачи. Например, робот доставки сообщений получает некоторое небольшое поощрение, когда принимает сообщение от отправителя, и другое, более
существенное поощрение после доставки сообщения получателю. Если
задача моделируется как марковский процесс принятия решений, то
этот марковский процесс принятия решений можно решить для получения стратегии выполнения этой конкретной задачи. В общем случае
это лучше, чем обычный план действий, поскольку марковский процесс
принятия решений предоставляет план для любого начального состояния (как особый тип генерального плана), и этот план более надежен с
учетом неопределенности результатов различных действий.
В этой рабочей среде на основе программных модулей общего назна­
чения и в системе их согласования на основе марковского процесса
принятия решений обслуживающий робот способен относительно легко (теоретически) решать разнообразные задачи. Необходимо лишь изменять функцию поощрений марковского процесса принятия решений
в соответствии с новыми целями конкретной задачи и снова решать
измененный марковский процесс принятия решений для получения
стратегии для другой задачи.
Кроме того, желательно, чтобы робот выполнял несколько действий одновременно, например выбор маршрута и перемещение в заданное место,
обход препятствий и поиск людей – все сразу. Но если задача согласования
элементарных задач робота представлена как один марковский процесс
принятия решений, то необходимо учитывать все возможныесочетания
одновременно выполняемых действий. Это вызывает взрывной рост пространства действий-состояний и, как следствие, значительное увеличение
сложности решения марковского процесса принятия решений. К тому же
становится гораздо труднее определить или обучить модель.
Другим вариантом является моделирование каждой подзадачи (элементарной задачи) как независимого марковского процесса принятия
решений. Далее осуществляется решение каждого марковского процесса принятия решений для получения соответствующей оптимальной
стратегии, затем эти стратегии выполняются в параллельном режиме.
Такая методика известна как параллельные марковские процессы приня­
тия решений (concurrent MDP) [4].

11.6 Приложения  285

11.6.2.1 Параллельные марковские процессы принятия решений
На основе функциональной декомпозиции сложная задача разделяется на несколько подзадач (элементарных задач). Каждая подзадача
представлена как марковский процесс принятия решений и решается
независимо от других, а стратегии выполняются параллельно с предположением об отсутствии конфликтов между ними. Все подзадачи
имеют общую цель и могут совместно использовать часть пространства
состояний, представленную в факторизованной форме. Тем не менее
между подзадачами все же могут возникать конфликты.
Существуют два основных типа конфликтов: (i) конфликты ресурсов
(resource conflicts) и (ii) конфликты поведения (behavior conflicts). Конф­
ликты ресурсов возникают, когда для двух действий требуется один и
тот же физический ресурс (например, при управлении колесами робота), который невозможно использовать в параллельном режиме. Этот
тип конфликта разрешается в режиме офлайн при помощи двухэтапного процесса [3]. На первом этапе мы получаем оптимальную стратегию для каждой подзадачи (марковского процесса принятия решений).
Начальная глобальная стратегия получается при объединении локальных стратегий, так что если существует конфликт между действиями,
выбранными каждым марковским процессом принятия решений для
конкретного состояния, то рассматривается действие с максимальным
значением, а состояние помечается как конфликтное. Это начальное
решение улучшается на втором этапе с использованием метода итерации стратегии. Принимая предыдущую стратегию как начальную стратегию и учитывая только состояния, помеченные как конфликтные,
можно существенно снизить сложность по времени и получить почти
оптимальную глобальную стратегию.
Конфликты поведения возникают при наличии возможности выполнения двух (и более) действий в одно и то же время, но это нежелательно
в данном конкретном приложении. Например, для мобильного робота
нежелательно одновременное движение и передача предмета человеку
(эта ситуация затруднительна и для человека). Конфликты поведения
разрешаются в режиме онлайн на основе набора ограничений, определяемых пользователем. Если ограничений нет, то все действия выполняются параллельно, иначе модуль соблюдения ограничений выбирает
набор действий с наивысшей ожидаемой полезностью.

11.6.2.2 Эксперименты
Эксперименты выполнялись с участием обслуживающего робота
Markovito, который выполнял задачи доставки, при этом учитывались
возможные конфликты. Markovito – это обслуживающий робот на основе робототехнической платформы ActivMedia PeopleBot, оснащенный

286

 Глава 11. Марковские процессы принятия решений

лазером, сонаром, инфракрасными сенсорными датчиками, видеокамерой, механизмом захвата и двумя компьютерами (см. рис. 11.6) [1].

Рис. 11.6. Обслуживающий робот Markovito

В рассматриваемой здесь задаче для Markovito целью являлось выполнение операций приема и доставки сообщения, предмета или сообщения и предмета по запросу пользователя. Пользователь отдает
приказ на отправку сообщения/предмета, а робот запрашивает имя
отправителя и получателя. Робот либо записывает сообщение, либо использует механизм захвата для удержания предмета и перемещается к
месту расположения получателя для доставки. Эта задача подразделяется на пять подзадач, каждая из которых представлена как марковский
процесс принятия решений:
1) navigation – движение – робот двигается с соблюдением мер безопасности в различных сценариях;
2) vision – зрение – для поиска и распознавания людей и объектов;
3) interaction – взаимодействие – для того, чтобы слушать пользователя и говорить с ним;
4) manipulation – выполнение операции – для приема и доставки предмета с соблюдением мер безопасности;

11.6 Приложения  287
5) expression – выражение чувств – для выражения эмоций с по­
мощью анимируемого лица.
Каждая подзадача представлена как факторизованный марковский
процесс принятия решений:
• navigation – движение – состояния: 256 – декомпозиция в 6 пере­
менных состояния (located – место определено, has-place – на мес­те,
has-path – на пути, direction – направление, see-user – вижу пользователя, listen-user – слушаю пользователя). Действия: 4 (go-to – идти
к, stop – остановиться, turn – повернуться, move – двигаться);
• vision – зрение – состояния: 24 – декомпозиция в 3 переменных
состояния (user-position – позиция пользователя, user-known –
пользователь известен, user-in-db – пользователь в базе данных).
Действия: 3 (look-for-people – поиск людей, recognize-user – распо­
знавание пользователя, register-user – регистрация пользователя);
• interaction – взаимодействие – состояния: 9216 – декомпозиция
в 10 переменных состояния (user-position – позиция пользователя,
user-known – пользователь известен, listen – слушаю, offer-service –
предложение услуги, has-petition – прием просьбы, has‑message –
полу­чено сообщение, has-object – получен предмет, has-user-id –
получен идентификатор пользователя, has-receiver-id – получен
идентификатор получателя, greeting – приветствие). Действия: 8
(hear – слушать, offer-service – предложить услугу, get-message –
полу­чить сообщение, deliver-message – доставить сообщение,
ask-receiver-name – запросить имя получателя, ask-user-name –
запро­сить имя пользователя, hello – привет, bye – пока);
• manipulation – выполнение операции – состояния: 32 – декомпо­
зиция в 3 переменных состояния (has-petition – прием просьбы,
see-user – вижу пользователя, has-object – получен предмет). Дейст­
вия: 3 (get-object – получить предмет, deliver-object – доставить
предмет, move-gripper – переместить механизм захвата);
• expression – выражение чувств – состояния: 192 – декомпозиция в
5 переменных состояния (located – место определено, has-petition –
прием просьбы, see-user – вижу пользователя, see-receiver – вижу получателя, greeting – приветствие). Действия: 4 (normal – обычный,
happy – доволен, sad – печален, angry – рассержен).
Следует отметить, что несколько переменных состояния являются общими для двух или нескольких марковских процессов принятия решений. Если представить эту задачу как единый простой марковский процесс принятия решений, то в нем будет существовать
1 179 648 состоя­ний (с учетом всех недублирующихся переменных со-

288

 Глава 11. Марковские процессы принятия решений

стояний) и 1536 сочетаний действий. В целом получается около двух
миллиардов комбинаций состояния-действия. Решение такой задачи в
форме единственного марковского процесса принятия решений будет
крайне трудным даже при современном уровне разработок для марковских процессов принятия решений.
Модель марковского процесса принятия решений для каждой подзадачи была разработана с использованием метода структурированного
представления [8]. Функции переходов и поощрений были определены
пользователем на основе имеющихся знаний о задаче и интуиции. Марковский процесс принятия решений для каждой подзадачи относительно прост, поэтому формулирование спецификаций вручную не вызва­ло
особых затруднений. В этой задаче могут возникать конфликты между
подзадачами, поэтому были определены методы их разрешения на основе набора ограничений, приведенных в табл. 11.1.
Таблица 11.1. Набор ограничений для робота, доставляющего сообщения (и предметы)
Действия

Ограничение

Действия

get_message
(получить сообщение)

not_during
(не во время)

поворот OR (ИЛИ) движение
вперед

ask_user_name
(запросить имя пользователя)

not_before
(не перед)

recognize_user
(распознавание пользователя)

recognize_user
(распознавание пользователя)

not_start
(не начинать)

avoid_obstacle
(обход препятствия)

get_object
(получить предмет)
OR (ИЛИ)
deliver_object
(доставить объект)

directed_toward
(движение в направлении)
not_during
(не во время)

OR (ИЛИ) поворота
OR (ИЛИ) движения

Для сравнения задача доставки была решена при двух условиях:
(i) без ограничений и (ii) с ограничениями.
В варианте без ограничений все действия могли выполняться параллельно, но робот продемонстрировал некоторые нежелательные образцы поведения. Например, в эксперименте робот долго не мог идентифицировать человека, желающего отправить сообщение, и только после
идентификации получил возможность выполнить задачу. Это произошло потому, что марковский процесс принятия решений для зрения
(vision) не получал качественного образа для анализа и распознавания
пользователя из-за того, что марковский процесс принятия решений
для движения (navigation) пытался в это время обойти пользователя как
препятствие. Кроме того, по той же причине пользователь вынужден

11.8 Задания и упражнения  289
был идти за роботом, чтобы обеспечить правильный ввод речевого
сооб­щения через микрофон.
Вариант с применением ограничений позволил получить более гибкое и эффективное решение. Например, по сравнению с экспериментом
без ограничений марковский процесс принятия решений для зрения
при установленных ограничениях смог обнаружить и идентифицировать пользователя гораздо раньше. При активизации марковского
процесса принятия решений для взаимодействия (interaction) действия
марковского процесса принятия решений для движения (navigation) не
выполнялись, что обеспечило эффективное взаимодействие и распо­
знавание.
В среднем версия с ограничениями выполнила около 50 % временных шагов, требуемых для версии без ограничений для завершения
выполнения задачи. В итоге метод разрешения конфликтов с по­
мощью введения ограничений не только позволил роботу демонстрировать ожидаемое поведение, но также обеспечил более устойчивую
производи­тельность, устранил конфликты и позволил существенно
сокра­тить время, требуемое для завершения задачи.

11.7 Материалы для дополнительного чтения
Книга Путермана (Puterman) [13] представляет собой превосходный
справочник по марковским процессам принятия решений, включая
их формальное определение и разнообразные методики решения. Недавний обзор моделей теории принятия решений и их приложений
приведен в [18]. В справочнике [12] можно найти обзоры марковских
процессов принятия решений и частично наблюдаемых марковских
процессов принятия решений. Представление марковских процессов
принятия решений с использованием алгебраических диаграмм решений и SPUDD описано в [8]. Обзор разнообразных методов решения час­
тично наблюдаемых марковских процессов принятия решений представлен в [17].

11.8 Задания и упражнения
1. Для примера мира, состоящего из прямоугольных ячеек на рис. 11.1,
считать, что каждая ячейка является состоянием и существуют четыре возможных действия: up (вверх), down (вниз), left (влево),
right (вправо). Завершить описание (спецификацию) марковского процесса принятия решений, включая функции переходов и
поощре­ний.
2. Решить марковский процесс принятия решений из задания 1 методом итераций значения. Инициализировать значения для каждого

290

 Глава 11. Марковские процессы принятия решений

состояния для немедленного поощрения и показать, как изменяются значения на каждой итерации.
3. Решить марковский процесс принятия решений из задания 1 методом итераций стратегии. Инициализировать стратегию значением
up (вверх) для всех состояний. Показать, как изменяется стратегия
на каждой итерации.
4. Определить факторизованное представление для примера мира,
состоящего из прямоугольных ячеек (задание 1), считая, что состоя­
ние представлено в форме двух переменных row (строка) и column
(столбец). Определить функцию перехода как двухэтапную динамическую байесовскую сеть, а функцию поощрения – как дерево
решений.
5. Рассмотреть сценарий с примером мира, состоящего из прямо­
угольных ячеек (задание 1), в котором сетка делит мир на несколько
комнат и коридор, соединяющий эти комнаты. Разработать иерархическое решение для движения робота в этом сценарии, определив один марковский процесс принятия решений для перехода из
любой ячейки в комнате к двери, которая ведет в коридор, второй
марковский процесс принятия решений, который позволяет пройти по коридору от одной двери к другой, и третий марковский процесс принятия решений для прохода от двери, ведущей в комнату,
к определенной цели в этой комнате. Полностью определить каждый марковский процесс принятия решений, а затем управляющий
механизм верхнего уровня, который координирует стратегии более
низкого уровня.
6. Разработать решение задачи перемещения по сетке на основе двух
параллельных марковских процессов принятия решений: один для
определения пути движения к цели (без учета препятствий), второй
для обхода препятствий. Определить модели для каждой из этих
двух подзадач и способ объединения двух полученных стратегий
для нахождения пути к цели с обходом препятствий. Позволяет ли
это решение всегда приходить к цели или возможно возникновение
«ловушки» в локальных максимумах?
7. Доказать, что решение по формуле Беллмана с использованием метода итераций значения всегда сходится.
8. *** Разработать обобщенную программу, которая реализует алгоритм итераций значения.
9. *** Разработать программу для решения задачи о движении робота
в мире, состоящем из прямоугольных ячеек, включая графический

Ссылки на источники  291
интерфейс для определения размера сетки ячеек, препятствий и
местонахождения цели. Определить высокое положительное поощ­
рение для целевой ячейки, высокие отрицательные поощрения
(штрафы) для препятствий и небольшие положительные поощре­
ния для всех прочих ячеек. Представить задачу как марковский
процесс принятия решений и получить оптимальную стратегию,
используя метод итераций значения.
10. *** Когда модель для марковского процесса принятия решений неизвестна, альтернативой является обучение оптимальной стратегии методом проб и ошибок с помощью обучения с подкреплением
(reinforcement learning). Изучить основные алгоритмы обучения с
подкреплением, такие как Q-обучение, и реализовать программу
для обучения стратегии для решения задачи о движении робота в
мире, состоящем из прямоугольных ячеек (рис. 11.1) (использовать
те же поощрения, что и в исходном примере). Совпадает ли полученная стратегия с решением модели марковского процесса приня­
тия решений?

Ссылки на источники
1. Avilés-Arriaga, H. H., Sucar, L. E., Morales, E. F., Vargas, B. A., Corona,
E. Markovito: a flexible and general service robot. In: Liu, D., Wang, L.,
Tan, K. C. (eds.) Computational Intelligence in Autonomous Robotic Systems, p. 401–423. Springer, Berlin (2009).
2. Bellman, R. Dynamic Programming. Princeton University Press, Princeton (1957).
3. Corona, E., Morales, E. F., Sucar, L. E. Solving policy conflicts in concurrent Markov decision processes. In: ICAPSWorkshop on Planning
and Scheduling Under Uncertainty, Association for the Advancement of
Artificial Intelligence (2010).
4. Corona, E., Sucar, L. E. Task coordination for service robots based on
multiple Markov decision processes. In: Sucar, L. E., Hoey, J., Morales, E.
(eds.) Decision Theory Models for Applications in Artificial Intelligence:
Concepts and Solutions. IGI Global, Hershey (2011).
5. Dean, T., Givan, R. Model minimization in Markov decision processes. In:
Proceedings of the 14th National Conference on Artificial Intelligence
(AAAI), p. 106–111 (1997).
6. Dietterich, T. Hierarchical reinforcement learning with the MAXQ value
function decomposition. J. Artif. Intell. Res. 13, 227–303 (2000).

292

 Глава 11. Марковские процессы принятия решений

7. Elinas, P., Sucar, L., Reyes, A., Hoey, J. A decision theoretic approach for
task coordination in social robots. In: Proceedings of the IEEE International Workshop on Robot and Human Interactive Communication
(RO-MAN), p. 679–684 (2004).
8. Hoey, J., St-Aubin, R., Hu, A., Boutilier, C. SPUDD: stochastic planning
using decision diagrams. In: Proceedings of the International Confe­
rence on Uncertainty in Artificial Intelligence (UAI), p. 279–288 (1999).
9. Li, L., Walsh, T. J., Littman, M. L. Towards a unified theory of state abstraction for MDPs. In: Proceedings of the Nineth International Symposium on Artificial Intelligence and Mathematics, p. 21–30 (2006).
10. Meuleau, N., Hauskrecht, M., Kim, K. E., Peshkin, L., Kaelbling, L. P.,
Dean, T., Boutilier, C. Solving very large weakly coupled Markov decision processes. In: Proceedings of the Association for the Advancement
of Artificial Intelligence (AAAI), p. 165–172 (1998).
11. Parr, R., Russell, S. J. Reinforcement learning with hierarchies of machines. In: Proceeding of the Advances in Neural Information Processing
Systems (NIPS) (1997).
12. Poupart, P. An introduction to fully and partially observable Markov
decision processes. In: Sucar, L.E., Hoey, J., Morales, E. (eds.) Decision
TheoryModels for Applications in Artificial Intelligence: Concepts and
Solutions. IGI Global, Hershey (2011).
13. Puterman, M. L. Markov Decision Processes: Discrete Stochastic Dynamic Programming. Wiley, New York (1994).
14. Quinlan, J. R. Induction of decision trees. Mach. Learn. 1 (1), 81–106
(1986).
15. Reyes, A., Sucar, L. E., Morales, E. F., Ibargüngoytia, P. Hybrid Markov Decision Processes. Lecture Notes in Computer Science, vol. 4293. Springer,
Berlin (2006).
16. Reyes, A., Sucar, L. E., Morales, E. F. AsistO: a qualitative MDP-based re­
commender system for power plant operation. Computacion y Sistemas
13 (1), 5–20 (2009).
17. Ross, S., Pineau, J., Paquet, S., Chaib-draa, B. Online planning algorithms
for POMDPs. J. Artif. Intell. Res. 32, 663–704 (2008).
18. Sucar, L. E., Hoey, J., Morales, E. Decision Theory Models for Applications
in Artificial Intelligence: Concepts and Solutions. IGI Global, Hershey
(2011).

Часть

IV

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

Глава

12

Реляционные вероятностные
графовые модели

12.1 Введение
Стандартные вероятностные графовые модели, которые рассматривались до настоящего момента, должны представлять в явной форме каждый объект в предметной области, поэтому по существу они равнозначны по своим средствам логического выражения логике высказываний
(пропозициональной логике). Но существуют задачи, в которых количество объектов (переменных) может существенно возрастать, так что
потребуется более выразительное (компактное) представление. Например, предположим, что необходимо смоделировать знания студента по
некоторой теме (эта задача известна как моделирование обучающегося
или в более общем смысле моделирование пользователя) и что нужно
включить в эту модель всех студентов некоторого колледжа, где каждый
студент обучается по нескольким темам (курсам). Если моделировать
эту задачу с использованием обычной вероятностной графовой модели, например как байесовскую сеть, то, вероятнее всего, модель станет
огромной и трудной для понимания и хранения. Вместо этого был бы
более эффективным подход, при котором можно было бы получить
обобщенную модель, которая представляет отношения зависимостей
для каждого студента S и любого курса C. Затем эту модель можно было
бы параметризовать для конкретных вариантов. Это можно сделать, используя логику предикатов, но стандартные логические представления

12.1 Введение  295
не учитывают неопределенность. Поэтому требуется формализация,
которая объединяет логику предикатов и вероятностные модели.
Реляционные вероятностные графовые модели (relational probabilistic graphical models – RPGM) объединяют выразительную мощь логики
предикатов с возможностями обоснования в условиях неопределенности вероятностных графовых моделей. Некоторые из этих моделей
расширяют вероятностные графовые модели, такие как байесовские
сети или марковские сети, представляя объекты, их атрибуты и связи
(отношения) с другими объектами. При иных подходах расширяются
возможности представления на основе логики, чтобы включить в модель фактор неопределенности, посредством описания распределения
вероятностей в дополнение к логическим формулам.
Были предложены различные методы формализации для объединения логики и вероятностных графовых моделей. Ниже предлагается
систе­ма классификации реляционных вероятностных графовых моделей (частично на основе [5]):
1. Расширения логических моделей
a) Неориентированные графовые модели
i. Марковские логические сети
b) Ориентированные графовые модели
i. Байесовские логические программы
ii. Байесовские логические сети
2. Расширения вероятностных моделей
a) Неориентированные графовые модели
i. Реляционные марковские сети
ii. Реляционные сети зависимостей
b) Ориентированные графовые модели
i. Реляционные байесовские сети
ii. Вероятностные реляционные модели
3. Расширения языков программирования
a) Программы стохастической логики
b) Программирование вероятностной индуктивной логики
c) Байесовская логика (BLOG)
d) Язык вероятностного моделирования (IBAL)
В этой главе будут рассматриваться две реляционные вероятностные графовые модели. Во-первых, вероятностные реляционные модели (probabilistic relational models) [3], которые расширяют байесовские
сети для включения объектов и связей (отношений), как в реляционных базах данных. Во-вторых, марковские логические сети (Markov logic

 Глава 12. Реляционные вероятностные графовые модели

296

networks) [11], которые добавляют весовые коэффициенты в логические
формулы и могут рассматриваться как расширение марковских сетей.
Сначала будет представлен краткий обзор логики первого порядка, затем описываются две вышеназванные реляционные вероятностные
методики. В конце главы демонстрируется практическое применение
этих методик в двух предметных областях: моделирование обучающегося (студента) и визуальное распознавание объектов.

12.2 Логика
Логика – это весьма тщательно продуманный язык представлений с
точно определенным синтаксисом и семантическими (смысловыми)
компонентами. В этом разделе приведено лишь краткое введение в логику, а для получения более подробной информации необходимо обратиться к разделу материалов для дополнительного чтения. Раздел
начинается с определений логики высказываний (пропозициональной
логики), затем мы перейдем к логике первого порядка.

12.2.1 Логика высказываний
Логика высказываний (пропозициональная логика – propositional
logic) позволяет давать обоснование выражениям или высказываниям
(propositions), которые являются истинными (True – T) или ложными
(False – F). Например, «Джо – студент технологического факультета»
(Joe is an engineering student). Высказывания обозначаются заглавными
(прописными) буквами, например P, Q, …, известными как атомарные
высказывания, или просто атомы (atoms). Высказывания объединяются с использованием логических связок или логических операторов, в
результате получаются так называемые составные высказывания (compound propositions). Ниже перечислены логические операторы:






отрицание: ¬;
конъюнкция: ∧
дизъюнкция: ∨
импликация: →;
двойная импликация: ↔.

Например, если P = «Джо – студент технологического факультета» и Q = «Джо молод» (Joe is young), то P ∧ Q означает «Джо – студент
технологического факультета AND (И) Джо молод».
Атомы и логические связки можно комбинировать в соответствии с
набором синтаксических правил. Допустимые корректные сочетания
называются правильно построенными формулами (well-formed formulas – WFF). Правильно построенная формула в логике высказываний –
это выражение, полученное в соответствии со следующими правилами:

12.2 Логика  297
1) любой атом является правильно построенной формулой;
2) если P – правильно построенная формула, то ¬P – правильно построенная формула;
3) если P и Q – правильно построенные формулы, то P ∧ Q, P ∨ Q,
P → Q, P ↔ Q – правильно построенные формулы;
4) никакие другие формулы не являются правильно построенными
формулами.
Например, P → (Q ∧ R) – правильно построенная формула, но → P
и ∨ Q не являются правильно построенными формулами.
Смысл (семантика) логической формулы может быть выражен с помощью функции, которая возвращает значение True (истина) или False
(ложь) для этой формулы при каждой возможной интерпретации (истинные значения атомов в этой формуле). В логике высказываний интерпретация (interpretation) может быть представлена в форме таблицы истинности (truth table). В табл. 12.1 показаны таблицы истинности
для основных логических операторов. Интерпретация, которая присваивает значение «истина» формуле F, является моделью (model) формулы F.
Таблица 12.1. Таблицы истинности для логических операторов (связок)
P

Q

¬P

P∧Q

P∨Q

P→Q

P↔Q

T

T

F

T

T

T

T

T

F

F

F

T

F

F

F

T

T

F

T

T

F

F

F

T

F

F

T

T

Формула F является логическим следствием (logical consequence)
множества формул G = {G1, G2, …, Gn}, если при каждой интерпретации,
для которой G истинно, формула F истинна. Это обозначается как G ⊨ F.
Логика высказываний не может выражать общие свойства, как, например, «все студенты технологического факультета молоды» (all engineering students are young). Для этого необходима логика первого порядка.

12.2.2 Логика предикатов первого порядка
Рассмотрим два высказывания: «Все студенты технического университета специализируются по курсу технологии» (All students in a
technical university are engineering majors) и «Конкретный человек t из
конкретного университета ℱ специализируется по курсу информатики» (A particular person t of a particular university ℱ is a computer science

298

 Глава 12. Реляционные вероятностные графовые модели

major). Первое высказывание объявляет свойство, которое применяется
ко всем, кто учится в техническом университете, тогда как второе высказывание применимо только к конкретному человеку из конкретного
университета. Логика первого порядка позволяет учитывать такие различия.
Выражения или формулы в логике предикатов первого порядка формируются с использованием четырех типов символов: постоянных, или
констант (constants), переменных (variables), функций (functions) и предикатов (predicates). Постоянные символы представляют конкретные
объекты, значимые в рассматриваемой предметной области (например,
люди, курсы, университеты и т. д.). Переменные символы охватывают
группы объектов в предметной области. Переменные, которые могут
быть аргументами предиката или функции, обозначаются строчными
буквами (буквами нижнего регистра), т. е. x, y, z.
Предикаты – это выражения, которые могут быть истинными (True)
или ложными (False). Предикаты содержат несколько аргументов. Предикаты могут представлять отношения (связи) между объектами в
предметной области (например, Above) или атрибуты объектов (например, IsRed (красный)). Если число аргументов предиката равно нулю, то
он является атомом, как в логике высказываний. Предикаты обозначаются заглавными (прописными) буквами (буквами верхнего регистра),
например P(x).
Функции (функциональные символы) (например, neighborOf (сосед))
представляют отображения (mappings) кортежей объектов в объекты. Функции представлены буквами нижнего регистра (строчными) и
также могут иметь несколько аргументов. Например, f(x) представляет
функцию с одним аргументом x. Функция без аргументов является постоянной (constant).
Логика предикатов включает логические связки (операторы) из логики высказываний, а также другие операторы, известные как кванторы
(quantifiers):
• квантор всеобщности: ∀x (для всех x);
• квантор существования: ∃x (существует x).

Терм (term) – это константа, переменная или функция от термов. Атомарная формула (atomic formula) или атом (atom) – это предикат, который имеет в качестве аргументов N термов.
Теперь можно переписать пример, приведенный в начале этого подраздела, в терминах логики первого порядка. Если формула M(tx, ℱ)
представляет специализацию студента tx в техническом университете ℱ, то высказывание «Все студенты технического университета специализируются по курсу технологии» (All students in a technical university
are engineering majors) можно переписать следующим образом:

12.2 Логика  299
∀tx ∀ℱ : M(tx, ℱ) = engineering.

(12.1)

Как и в логике высказываний, в логике предикатов первого порядка
существует набор синтаксических правил, которые определяют, какие
выражения являются правильно построенными формулами:
1. Любой атом является правильно построенной формулой.
2. Если P – правильно построенная формула, то ¬P – правильно построенная формула.
3. Если P и Q – правильно построенные формулы, то P ∧ Q, P ∨ Q,
P → Q, P ↔ Q – правильно построенные формулы.
4. Если предикат P является правильно построенной формулой и x –
свободная переменная в предикате P, то ∀xP и ∃xP – правильно
построенные формулы.
5. Никакие другие формулы не являются правильно построенными
формулами.
Грубо говоря, база знаний (knowledge base) – это множество утверждений или формул в формате логики первого порядка [4].
ℒ-интерпретация определяет, какими символами представлены
конкретные объекты, функции и связи (отношения) в предметной области. Переменные и константы могут быть типизированы, в этом случае диа­пазон значений охватывает только объекты соответствующего
типа, а константы могут представлять лишь объекты соответствующего
типа. Например, переменная x может включать в диапазон значений
университеты (например, общественные университеты, частные университеты и т. д.), а константа может представлять некоторый университет или специально подобранное множество университетов (например, u2, (u6 ⋃ u2) и т. д.). Атомарная формула (или просто атом) – это
символ-предикат, примененный к кортежу термов: Near(u4, u1).
В стандартной логике предикатов все предикаты либо истинны (True),
либо ложны (False), поэтому их невозможно напрямую использовать в
условиях вероятностной неопределенности. Например, если неизвестно, обучается ли некоторый человек в конкретном университете, то
можно лишь сказать, что Univ(p) = u1 OR Univ(p) = u2, но невозможно точно сказать, какой вариант более вероятен: обучение в университете u1
или u2.
Чтобы получить в свое распоряжение выразительную мощь логики
предикатов и в то же время получить возможность представления и
обоснования (в вероятностных терминах), необходимо объединить логику предикатов с вероятностными моделями в единой рабочей среде.
В следующем разделе будут описаны две такие рабочие среды.

300

 Глава 12. Реляционные вероятностные графовые модели

12.3 Вероятностные реляционные модели
Вероятностные реляционные модели (probabilistic relational models) [6]
представляют собой расширение байесовских сетей, которое обеспечивает более выразительное объектно-ориентированное представление, упрощая получение знаний. Кроме того, они позволяют без
затруднений распространить применение модели на другие предметные области. При очень большой модели в любой момент времени
рассматривается только ее часть, поэтому сложность логического вывода уменьшается.
Основными сущностями в вероятностных реляционных моделях являются объекты или элементы предметной области. Объекты в предметной области разделяются на множество непересекающихся классов
X1, …, Xn. Каждый класс связан с множеством атрибутов A(Xi). Каждый
атрибут Aij ∈ A(Xi) (т. е. атрибут j класса i) принимает значения из некоторой фиксированной области значений V(Aij). X : A обозначает атрибут A объекта из класса X [6]. Определяется также множество связей (отношений) Rj между классами. Бинарная связь R(Xi, Xj) между классами
Xi и Xj может быть обозначена как слот (slot) класса Xi. Классы и связи
(отношения) определяют схему (schema) модели. Затем вероятностная
реляционная модель определяет распределение вероятностей во множестве экземпляров схемы, в частности распределение для атрибутов
объектов конкретной модели.
Модель зависимостей определяется на уровне классов, что позволяет
использовать ее для любого объекта класса. Вероятностные реляционные модели явно применяют реляционную структуру модели, поэтому
атрибут объекта будет зависеть от некоторых атрибутов связанных с
ним объектов. Вероятностная реляционная модель определяет распределение вероятностей, используя те же теоретические базовые принципы, что и в байесовских сетях. Каждая из случайных переменных в
вероятностной реляционной модели, т. е. атрибуты x.a отдельных объектов x, подвержена прямому влиянию других атрибутов, которые являются их родителями. Таким образом, вероятностная реляционная
модель для каждого атрибута определяет множество родителей, которые напрямую воздействуют на этот атрибут, и локальную вероятностную модель, которая устанавливает вероятностные параметры.
Существуют два основных различия между вероятностными реляционными моделями и байесовскими сетями [6]: (i) в вероятностной реляционной модели модель зависимостей определяется на уровне классов,
что позволяет использовать ее для любого объекта класса; (ii) вероятностная реляционная модель явно использует реляционную структуру
модели, позволяя установить зависимость атрибута объекта от атрибутов связанных с ним объектов.

12.3 Вероятностные реляционные модели  301
Пример вероятностной реляционной модели для предметной облас­
ти «Образование» на основе материала [6] показан на рис. 12.1. В этом
примере 4 класса с 2 атрибутами у каждого класса:
• профессор (professor): преподавательская_квалификация (teaching-ability), востребованность (popularity);
• студент (student): интеллект (intelligence), успеваемость (ranking);
• курс (course): рейтинг_посещаемости (rating), сложность (difficulty);
• список_студентов (registration): удовлетворенность_качеством_
обучения (satisfaction), общая_оценка (grade).
Профессор

Студент

Преподавательская
квалификация

Интеллект

Успеваемость

Востребованность

Список студентов

Курс
Рейтинг посещаемости
Сложность

AVG

AVG

Удовлетворенность качеством
обучения

Общая оценка

Рис. 12.1. Пример структуры вероятностной реляционной модели для предметной
области «Образование». Штриховые ребра представляют связи между классами,
стрелки соответствуют вероятностным зависимостям. Метка AVG в связи означает,
что условные вероятности зависят от этой переменной

Это представление позволяет определить два типа атрибутов каждого
класса: (i) информационные переменные и (ii) случайные переменные.
К случайным относятся переменные, которые связаны в некоторую
разновидность байесовской сети, называемую скелетом (skeleton). Из
этого скелета можно сгенерировать разнообразные байесовские сети с
учетом других переменных в используемой модели. Например, в модели студента, описанной в разделе 12.5, определяется общий скелет для
экспериментов, из которого генерируются конкретные экземпляры для
каждого эксперимента. Это придает модели бóльшую гибкость и обобщенность и упрощает накопление знаний. Кроме того, логический вывод становится более эффективным, поскольку в каждом конкретном
варианте используется только часть общей модели.
Распределение вероятностей для скелетов определяется так же, как в
байесовских сетях. Таким образом, вероятностная реляционная модель
определяет для каждого атрибута x.a множество родителей, которые

302

 Глава 12. Реляционные вероятностные графовые модели

оказывают прямое воздействие на этот атрибут, и локальную вероятностную модель, которая, в свою очередь, определяет условную вероятность того же атрибута с учетом его родителей. Чтобы локальные модели гарантированно определяли логически согласованное глобальное
распределение вероятностей, структура зависимостей более низкого
уровня должна быть ациклической, как в байесовской сети. Затем определяется совместное распределение вероятностей, равное произведению локальных распределений, как и в байесовских сетях.

12.3.1 Логический вывод
Механизм логического вывода в вероятностных реляционных моделях тот же, что и в байесовских сетях, когда создается экземпляр модели для конкретных объектов в предметной области. Но вероятностные
реляционные модели могут использовать преимущества двух свойств,
чтобы повысить эффективность логического вывода. Эти свойства становятся явными в представлении вероятностной реляционной модели
в противоположность байесовским сетям, где эти свойства являются
всего лишь неявными.
Первое свойство – локальность влияния, т. е. большинство атрибутов
в основном зависят от атрибутов того же класса при наличии нескольких зависимостей между классами. Методы вероятностного логического вывода могут воспользоваться преимуществом этого свойства локальности, применяя принцип «разделяй и властвуй».
Другим свойством, которое может повысить эффективность логического вывода, является возможность повторного использования. В вероятностной реляционной модели обычно имеется несколько объектов
одного класса с аналогичной структурой и параметрами. Поэтому когда
логический вывод выполняется для одного объекта, его можно повторно использовать для других родственных объектов.

12.3.2 Обучение
С учетом того, что вероятностные реляционные модели используют
те же базовые принципы, что и байесовские сети, методики обучения,
разработанные для байесовских сетей, можно применять и для вероятностных реляционных моделей. Алгоритм ожидаемой максимизации
был доработан для обучения параметров вероятностной реляционной
модели, а методики обучения структуры были разработаны для обучения структуры зависимостей по реляционной базе данных [3].

12.4 Марковские логические сети
В противоположность вероятностным реляционным моделям марковские логические сети (Markov logic networks) начинают работу с логи-

12.4 Марковские логические сети  303
ческого представления, добавляя весовые коэффициенты (weights) в
формулы для учета неопределенности.
В логике ℒ-интерпретация, которая нарушает корректность формул,
принятых в базе знаний, имеет нулевую вероятность. Это означает, что
появление ℒ-интерпретации невозможно, поскольку все «возможные
миры» (possible worlds) обязательно должны быть согласованы с базой
знаний. В марковских логических сетях это предположение ослаблено.
Если интерпретация нарушает целостность базы знаний, то она (интерпретация) имеет меньшую вероятность, чем другие интерпретации,
которые не допускают нарушений. Меньшая вероятность означает, что
интерпретация имеет ненулевую вероятность. В марковской логической сети весовой коэффициент добавляется в каждую формулу, чтобы
отобразить, насколько строгим является ограничение: при более высоких весовых коэффициентах происходят более значимые изменения
вероятности вне зависимости от того, соответствует ли данная интерпретация этой формуле или не соответствует.
Прежде чем дать формальное определение марковской логической
сети, необходимо краткое напоминание о марковских сетях (см. главу 6). Марковская сеть – это модель совместного распределения для
мно­жества переменных X = (X1, X2, …, Xn) ∈ 𝔛. Марковская сеть сформирована из неориентированного графа G и множества функций потенциалов �k. Связанный с ней граф содержит узлы для каждой переменной, а модель содержит функции потенциалов для каждой клики
в соответствующем графе. Совместное распределение вероятностей,
представленное марковской сетью, вычисляется по формуле

1

P(X = x) = — ��k(x|k|),
(12.2)
Z k

где x|k| – состояние k-й клики, а Z – статистическая сумма.
Обычно марковские сети могут быть также представлены с использованием логлинейных (логарифмически линейных) моделей, в которых функция потенциалов каждой клики заменяется экспоненциально
взвешенной суммой:

1
(12.3)

P(X = x) = — exp�wj fj(x),
Z
j

где wj – весовой коэффициент (действительное числовое значение),
а fj – принятая для наших целей бинарная формула fj(x) ∈ {0, 1}.
Теперь можно дать формальное определение марковской логической
сети [1].
Марковская логическая сеть L – это множество пар (Fi, wi), где Fi – формула логики первого порядка, а wi – действительное число. Вместе с конечным множеством констант C = {c1, c2, …, c|C|} она определяет марковскую сеть ML,C с учетом формул 12.2 и 12.3:

304

 Глава 12. Реляционные вероятностные графовые модели

1) марковская сеть ML,C содержит по одному бинарному узлу для
каждого возможного обоснования каждой формулы, имеющейся в марковской логической сети L. Значение этого узла равно 1,
если атом обоснования истинный (true), или 0, если атом обоснования ложный (false);
2) марковская сеть ML,C содержит по одному признаку для каждого
возможного обоснования каждой формулы Fi в марковской логической сети L. Значение этого признака равно 1, если формула
обоснования истинна (true), или 0, если формула обоснования
ложна (false). Весовой коэффициент этого признака wi связан с
формулой Fi в L.
Марковские логические сети представляют собой обобщение марковских сетей, поэтому их можно рассматривать как шаблоны для компоновки марковских сетей. Если взять некоторую марковскую логическую
сеть и множество различных констант, то можно создавать разнообразные марковские сети, которые известны как марковские сети обоснования (ground Markov networks). Совместное распределение вероятностей
для марковской сети обоснования определяется таким же способом,
как и для марковской сети с применением формулы 12.3.
Графовая структура марковской логической сети основана на ее
определении. Ребро между двумя узлами марковской логической сети
сущест­вует, если соответствующие атомы обоснования появляются
вместе как минимум в одной формуле обоснования в базе знаний L.
Например [1], рассмотрим следующую марковскую логическую сеть, состоящую из двух логических формул:
∀x Курение(x) → Рак(x);
∀x ∀y Друзья(x) → (Курение(x) ↔ Курение(y)).

Если переменным x и y присвоены постоянные значения A и B, то
получим структуру, показанную на рис. 12.2.
Друзья(A, B)

Друзья(A, A)

Рак(A)

Курит(A)

Курит(B)

Друзья(B, A)

Друзья(B, B)

Рак(B)

Рис. 12.2. Структура марковской логической сети обоснования, полученной
из двух логических формул примера (см. в тексте). (Схема основана на [1])

12.4.1 Логический вывод  305

12.4.1 Логический вывод
Логический вывод в марковской логической сети состоит в оценке вероятности логической формулы F1 с учетом того, что другая формула
(или несколько формул) F2 является истинной. Таким образом, необходимо вычислить P(F1 | F2, L, C), где L – марковская логическая сеть, состоящая из множества взвешенных логических формул, а C – множество
постоянных значений. Для вычисления этой вероятности можно оценить пропорциональное отношение возможных миров, в которых F1 и
F2истинны, ко всем возможным мирам, в которых содержится F2. При
таком вычислении вероятность каждого возможного мира принимается в соответствии с весовыми коэффициентами формул и структурой
соответствующей марковской сети обоснования.
Непосредственное выполнение описанного выше вычисления связано с чрезвычайно высокой стоимостью вычислений, поэтому такой
подход становится практически недоступным, за исключением чрезвычайно малых моделей. Для применения более эффективного способа
вычислений можно использовать некоторые другие методики вероятностного логического вывода. Одним из таких вариантов является использование стохастической имитации: с помощью выборок экземпляров возможных миров можно получить оценку требуемой вероятности,
например применяя метод Монте-Карло с использованием марковских
цепей.
Еще один вариант – формулирование некоторых разумных предположений о структуре логических формул для упрощения процесса
логического вывода. В [1] авторы описывают разработку алгоритма
эффективного логического вывода для случая, когда F1 и F2 являются
конъюнкциями литералов обоснования.

12.4.2 Обучение
При обучении марковской логической сети рассматриваются два
аспекта, как и при обучении байесовских сетей. Первый аспект – обучение логических формул (структуры), второй аспект – обучение весовых
коэффициентов для каждой формулы (параметров).
Для обучения логических формул можно применять методики из области индуктивного логического программирования (ИЛП; inductive
logic programming). В области ИЛП существуют разнообразные методики, позволяющие выводить логические связи (отношения) из данных,
обычно учитывая при этом некоторые базовые знания. Для получения
более подробной информации см. раздел материалов для дополнительного чтения.

306

 Глава 12. Реляционные вероятностные графовые модели

Весовые коэффициенты в логических формулах можно обучать по
реляционной базе данных. В основном весовые коэффициенты в формулах пропорциональны соответствующему им количеству истинных
обоснований в данных с учетом их ожидания в соответствии с моделью.
Подсчет количества истинных обоснований формул также может привести к чрезвычайно дорогостоящим вычислениям в крупных предметных областях. При другом подходе вычисляется оценка на основе выборок обоснований формул и верификация их истинности по имеющимся
данным.
Пример практического применения марковской логической сети
в приложении для визуального распознавания объектов представлен в
разделе 12.5.

12.5 Приложения
Практическое применение двух классов реляционных вероятностных
графовых моделей, представленных в предыдущих разделах, будет продемонстрировано в двух различных предметных областях. Сначала мы
рассмотрим, как можно создать в некотором роде обобщенную модель
студента для виртуальных лабораторных занятий на основе вероят­
ностной реляционной модели. Затем будет описано использование
марковской логической сети для представления визуальных грамматик
для распознавания объектов.

12.5.1 Моделирование студента
Особенно сложной областью моделирования студента являются
виртуальные лабораторные занятия. Виртуальная лаборатория предоставляет имитационную модель некоторого оборудования, с которым
может взаимодействовать студент, обучаясь на практике. Преподаватель выступает в роли виртуального ассистента в такой лаборатории,
предоставляя помощь и давая полезные советы пользователю, а также устанавливает уровень сложности экспериментов в соответствии
с уровнем подготовки студента. В общем случае нежелательно беспокоить студента вопросами и тестами для уточнения и обновления его
модели. Когнитивное состояние должно быть получено исключительно на основе взаимодействий студента с виртуальной лабораторией
и результатов экспериментов. Для этого требуется модель студента.
Эта модель по взаимодействиям студента с лабораторией логически
выводит когнитивное состояние. На основе такой модели интеллектуальный преподаватель (также виртуальный) может давать советы
и подсказки, персонально ориентированные на конкретного студента [13].

12.6 Вероятностная реляционная модель студента  307

12.6 Вероятностная реляционная модель
студента
Вероятностные реляционные модели обеспечивают компактное и естест­
венное представление для моделирования студента. Вероятностные реляционные модели позволяют представить каждого присутствующего
студента в одной и той же модели. Каждый класс представляет множество параметров нескольких студентов, как в базах данных, но модель
также включает вероятностные зависимости между классами для каждого студента.
Для применения вероятностных реляционных моделей к моделированию студента необходимо определить основные объекты в этой предметной области. Обобщенная модель студента была спроектирована со
специализацией для виртуальных лабораторий, начиная со структуры
самого верхнего уровня на уровне классов и заканчивая специализированными байесовскими сетями для различных экспериментов на
нижнем уровне. Как показано на рис. 12.3, были определены основные
классы, связанные со студентами и экспериментами. В рассматриваемом здесь примере определено 8 классов с несколькими атрибутами
для каждого класса, описанными ниже:
• студент: student-id (идентификатор студента), student-name (имя
студента), major (специализация), quarter (семестр), category (категория);
• раздел знаний: student-id (идентификатор студента), knowledgetheme-id (идентификатор раздела знаний), knowledge-themeknown (известный раздел знаний);
• подраздел знаний: student-id (идентификатор студента), knowledge-sub-theme-id (идентификатор подраздела знаний), knowledge-sub-theme-known (известный подраздел знаний);
• элементы знаний: student-id (идентификатор студента), knowledge-item-id (идентификатор элемента знаний), knowledge-itemknown (известный элемент знаний);
• теоретические основы: previous-course (предыдущий курс), grade
(общая оценка);
• поведение студента: student-id (идентификатор студента), expe­
riment-id (идентификатор эксперимента), behavior-var1, behavior-var2, …;
• результаты экспериментов: student-id (идентификатор студента),
experiment-id (идентификатор эксперимента), experiment-repetition (повторение эксперимента), result-var1, result-var2, …;

308

 Глава 12. Реляционные вероятностные графовые модели

• эксперименты: experiment-id (идентификатор эксперимента), expe­
riment-description (описание эксперимента), exp-var1, exp-var2, ….
Студент
Раздел
знаний

Подраздел
знаний

Элементы
знаний

Эксперименты

Результаты
экспериментов

Поведение
студента

Теоретические
основы

Рис. 12.3. Представление высокого уровня структуры вероятностной
реляционной модели для модели студента, отображающей
основные классы и их отношения

Модель зависимостей определяется на уровне классов, что позволяет использовать ее для любого объекта класса. Некоторые атрибуты в
этой модели представляют вероятностные значения. Это означает, что
атрибут представляет случайное значение, которое связано с другими
атрибутами в том же классе или в других классах.
По вероятностной реляционной модели студента можно определить
обобщенную байесовскую сеть – скелет, который можно инициализировать конкретными значениями для различных сценариев, в данном
случае – для различных экспериментов. В этой модели легко организовать классы по уровням для улучшения понимания модели. Из класса
модели мы получаем иерархический скелет, как показано на рис. 12.4.
Класс эксперимента подразделяется в соответствии с интересующим
нас объектом, при этом создаются два подкласса: выполнение эксперимента (experiment performance) и поведение эксперимента (experiment
behavior), – которые образуют самый нижний уровень в иерархии. Промежуточный уровень представляет различные элементы знаний (концепции), связанные с каждым экспериментом. Эти элементы связаны с
самым верхним уровнем, который объединяет элементы в подразделы
(sub-themes) и разделы (themes) и, наконец, в общую категорию студентов. В рассматриваемом примере были определены три категории

12.6 Вероятностная реляционная модель студента  309
студентов: novice (новичок), intermediate (средний уровень) и advanced
(опытный). Для каждой категории определена одинаковая структура
байесовской сети, полученная из скелета, но для каждой категории используются различные таблицы условных вероятностей.
Student_Category

Студент

Разделы
Kw_theme 1

Kw_theme 2

Kw_theme 3

Подразделы
Kw_sub_theme 1

Kw_sub_theme 2

Kw_sub_theme 3

Kw_sub_theme 4

Kw_sub_theme 5

Элементы
знаний
Kw_item 2

Kw_item 1

Exp_var 1

Exp_var 2

Exp_var 3

Kw_item 3

Exp_var 4

Результаты эксперимента

Kw_item 4

Kw_item 5

Behav_var 1

Behav_var 2

Kw_item 6

Behav_var 3

Kw_item 7

Behav_var 4

Поведение студента

Рис. 12.4. Общий скелет для экспериментов, выведенный из вероятностной
реляционной модели студента для виртуальных лабораторий. Сеть имеет
иерархическую структуру, начиная с узла, представляющего категорию студента,
на вершине, затем следуют три уровня переменных, представляющих знания
студента в данной предметной области на различных уровнях абстракции:
разделы, подразделы и элементы. На нижнем уровне существуют два множества
переменных, соответствующих результатам взаимодействия студента
с экспериментом в виртуальной лаборатории, разделенным на результаты
экспериментов и поведение студента [13]

С помощью полученного скелета можно определить различные
экземп­ляры, соответствующие значениям конкретных переменных в
модели. Например, из общего скелета для экспериментов, показанного на рис. 12.4, можно определить конкретные экземпляры для каждого эксперимента (например, в области робототехники это могут быть
экспе­рименты, связанные с проектированием робота, управлением роботом, планированием движения робота и т. п.) и уровень подготовки
студента (новичок, средний уровень, опытный).
После генерации конкретной байесовской сети ее можно использовать для обновления модели студента с помощью стандартных методик распространения вероятностей. В рассматриваемом здесь примере
одна из таких методик используется для распространения свидетельства от оценки эксперимента до элементов знаний, а затем до уровней
подразделов и разделов знаний. После каждого эксперимента уровень
знаний на каждом отдельном уровне детализации – элементов, подразделов и разделов – используется преподавателем для принятия реше-

310

 Глава 12. Реляционные вероятностные графовые модели

ния о необходимости оказания помощи студенту и о степени подробности подсказок. Например, если в целом эксперимент был проведен
успешно, но в каком-то аспекте был замечен недостаток, то студенту
предлагается небольшой урок по соответствующей концепции (элементу знаний). Если эксперимент завершился неудачно, то рекомендуется расширенный урок по полному разделу или подразделу знаний. На
осно­ве категории студента преподаватель определяет уровень сложности следующих экспериментов, предлагаемых студенту.

12.6.1 Визуальные грамматики
Визуальная грамматика (visual grammar) описывает объект в иерархической форме. Это может быть диаграмма, геометрический чертеж
или изображение. Например, описание блок-схемы выполняется методом декомпозиции: сложные конструкции разделяются на простые
элементы (от полного изображения блок-схемы к стрелкам или прос­
тым прямоугольникам).
Для визуального распознавания объектов необходима грамматика,
позволяющая моделировать процесс декомпозиции визуального объекта на составные части и определяющая связь каждой части с другими составными частями [12]. Интересным типом реляционной грамматики являются грамматики символ–связь (symbol-relation grammars;
SR-grammars) [2], так как они способны обеспечить этот тип описания, а
кроме того, обладают возможностью добавления переписанных правил
для определения взаимосвязей (отношений) между терминальными и
нетерминальными символами после завершения декомпозиции для
всех нетерминальных символов.

12.6.1.1 Представление объекта с помощью SR-грамматик
Классы объектов представляются на основе грамматик символ–
связь (SR-грамматик). В представление включаются три основные
части: (i) основные элементы грамматики, или лексикон (lexicon),
(ii) пространст­венные связи, (iii) правила преобразований. Ниже будут
кратко описаны все три части.
Главная идея заключается в использовании простых общих признаков как основных элементов, поскольку их можно применять к различным классам объектов. Эти области (признаки) определяют визуальный
словарь (visual dictionary). Визуальными признаками считаются облас­
ти одинакового цвета (uniform color regions) (цвет классифицирован по
32 уровням) и границы по различным ориентациям (направлениям)
(получаемые с помощью фильтров Габбора (Gabbor filters)). Эти признаки образуют множество тренировочных экземпляров, которые объединяются в кластеры. Центроиды полученных кластеров составляют
визуальный лексикон (visual lexicon).

12.6 Вероятностная реляционная модель студента  311
Пространственные связи включают топологические взаимосвязи и взаимо­связи порядка. Используются следующие взаимосвязи:
Inside_of(A, B) – область A находится внутри области B, Contains(A, B) –
область A полностью покрывает область B, Left(A, B) – область A касается
области B и A расположена слева от B, Above(A, B) – область A касается
области B и A расположена над B, Invading(A, B) – область A частично
покрывает область B, больше, чем Above и Left, но меньше, чем Contains.
Следующий шаг – генерация правил, которые формируют грамматику. Используя тренировочные изображения для класса интересующих
нас объектов, определяются наиболее часто встречающиеся взаимосвязи между кластерами. Такие взаимосвязи становятся правилами-кандидатами для создания грамматики. Это итеративный процесс, в котором
правила комбинируются и преобразовываются в новые нетерминальные элементы создаваемой грамматики. Процесс повторяется до тех
пор, пока не будет достигнуто пороговое значение (определяемое как
минимальное количество элементов). Начальный символ грамматики
представляет класс распознаваемых объектов.
В процессе визуального распознавания объектов подразумевается
наличие неопределенности: помехи (шум) в изображении, окклюзии,
неточная обработка на нижнем уровне и т. д. SR-грамматики не учитывают неопределенность, поэтому для ввода фактора неопределенности
их можно расширить с помощью реляционных вероятностных графовых моделей, в частности с помощью марковских логических сетей.

12.6.1.2 Преобразование SR-грамматики в марковскую
логическую сеть
SR-грамматика для некоторого класса объектов преобразовывается
непосредственно в формулы на языке марковской логической сети.
При этом получается структурная схема марковской логической се­
ти. Параметры – весовые коэффициенты, связанные с каждой формулой, – определяются с помощью набора тренировочных изображений.
Рассмотрим простой пример SR-грамматики для распознавания лиц
на основе признаков высокого уровня: глаз, рта, носа, головы. Продукциями этой простой SR-грамматики для лиц являются:
1 : FACE0 → < {eyes2, mouth2}, {above(eyes2, mouth2)} >
2 : FACE0 → < {nose2, mouth2}, {above(nose2, mouth2)} >
3 : FACE0 → < {eyes2, head2}, {inside_of(eyes2, head2)} >
4 : FACE0 → < {nose2, head2}, {inside_of(nose2, head2)} >
5 : FACE0 → < {mouth2, head2}, {inside_of(mouth2, head2)} >
Преобразование в марковскую логическую сеть выполняется достаточно просто. Сначала необходимо объявить формулы:

312

 Глава 12. Реляционные вероятностные графовые модели

aboveEM(eyes, mouth)
aboveNM(nose, mouth)
insideOfEH(eyes, head)
insideOfNH(nose, head)
insideOfMH(mouth, head)
isFaceENMH(eyes, nose, mouth, head)

Далее следует объявить предметную область:
eyes={E1, E2, E3, E4}
nose={N1, N2, N3, N4}
mouth={M1, M2, M3, M4}
head={H1, H2, H3, H4}

Для завершения процесса следует записать взвешенные формулы логики первого порядка. Используется валидационный набор данных об
изображениях и вероятности, преобразованные в весовые коэффициенты:
1.58
1.67
1.16
1.25
1.34

isFaceENMH(e,
isFaceENMH(e,
isFaceENMH(e,
isFaceENMH(e,
isFaceENMH(e,

n,
n,
n,
n,
n,

m,
m,
m,
m,
m,

h)
h)
h)
h)
h)

=>
=>
=>
=>
=>

aboveEM(e, m)
aboveNM(n, m)
insideOfEH(e, h)
insideOfNH(n, h)
insideOfMH(m, h)

Для распознавания лица в изображении самые важные детали
изобра­жения преобразовываются в базу знаний логики первого порядка. Для этого выявляются терминальные элементы (в рассматриваемом здесь примере это глаза, рот, нос и голова) в изображении, а также
пространственные связи между этими элементами. Затем база знаний конкретного изображения объединяется с обобщенной моделью,
представ­ленной как марковская логическая сеть. По этой объединенной конструкции генерируется марковская сеть обоснований. Распо­
знавание объекта (лица) выполняется с использованием стандартного
вероятностного логического вывода (см. главу 6) в марковской сети.

12.7 Материалы для дополнительного чтения
Существует несколько книг для начинающих изучать логику, например [8, 9]. С точки зрения искусственного интеллекта [4] предлагает
качест­венное введение в логику предикатов и представления на основе логики. Большинство современных реляционных вероятностных
моделей описано в [5], также включены главы по каждой методике.
Вероятностные реляционные модели представлены в [6]. Методики
обучения вероятностных реляционных моделей по имеющимся данным описаны в [3]. Обзор марковских логических сетей включен в [1].

12.8 Задания и упражнения  313
[7, 10] – книги для начинающих изучать индуктивное логическое программирование.

12.8 Задания и упражнения
1. Если p и r ложны, а q и s истинны, определить значения (истинно
или ложно) следующих выражений:






p ∨ q;
¬p ∧ ¬(q ∧ r);
p → q;
(p → q) ∧ (q → r) ;
(s → (p ∧ ¬r)) ∧ ((p → (r ∨ q)) ∧ s).

2. Какие из следующих выражений являются истинными:





∀x ((x2 − 1) > 0);
∀x (x2 > 0);
∃x (1/(x2 + 1) > 1);
¬∃x ((x2 − 1) ≤ 0).

3. Определить, являются ли следующие выражения правильно построенными формулами:





∀x ¬(p(x) → q(x));
∃x ∀x (p(x) ↔ q(x));
∃x ∨ q(x) ∧ q(y);
∀x ∃y p(x) ∨ (p(x) ↔ q(y)).

4. Записать следующие высказывания в терминах логики предикатов
первого порядка: (i) все люди имеют отца и мать; (ii) у некоторых
людей есть братья, или сестры, или братья и сестры; (iii) если у человека есть брат, то его отец также является отцом его брата; (iv) не существует людей, у которых два родных отца или две родные матери.
5. Для вероятностной реляционной модели, показанной на рис. 12.1,
предположить, что все переменные являются бинарными, т. е.
Teaching-Ability = {Good, Average} (Преподавательская_квалификация = {Хорошая, Средняя}), Popularity = {High, Low} (Востребованность = {Высокая, Низкая}) и т. д. В соответствии со структурой этой
модели определить требуемые таблицы условных вероятностей.
6. На основе вероятностной реляционной модели из задания 5 предположить, что существуют два профессора, три студента, три курса
и пять регистрационных записей (один студент записался на два
курса, другой на три курса). Расширить вероятностную реляцион-

314

 Глава 12. Реляционные вероятностные графовые модели

ную модель для перечисленных выше объектов и сгенерировать
соот­ветствующую байесовскую сеть.
7. Рассмотреть пример марковской логической сети из раздела 12.4
с двумя логическими формулами и дополнительной третьей формулой: ∀x UnhealthyDiet(x) → Cancer(x). Принимая, что переменным
x и y присваиваются значения Tim, Sue и Maria, получить графовую
структуру зависимостей этой марковской логической сети.
8. Определить весовые коэффициенты для двух логических формул
из примера марковской логической сети из раздела 12.4, предполагая, что из базы данных уже извлечены следующие статистические данные: (i) 19 человек курят и болеют раком; (ii) 11 человек
курят и не болеют раком; (iii) 10 человек не курят и не болеют раком; (iv) 5 чело­век не курят и болеют раком; (v) 15 пар людей были
друзьями и оба курили; (vi) 5 пар людей были друзьями, один курил,
второй не курил.
9. *** Изучить другие методики формализации, которые объединяют
логику и вероятность. Проанализировать их преимущества и недостатки с точки зрения выразительной мощи и эффективности вычислений.
10. *** Разработать программу реализации логического вывода для
вероят­ностных реляционных моделей. Учитывая, что вероятностная реляционная модель описывается на уровне классов (можно воспользоваться объектно-ориентированной базой данных) и
на основе множества объектов, преобразовать ее в байесовскую
сеть. Затем выполнить логический вывод в этой байесовской сети
(исполь­зовать ранее разработанные алгоритмы).

Ссылки на источники
1. Domingos, P., Richardson, M. Markov Logic: A Unifying Framework for
Statistical Relational Learning. In: Getoor, L., Taskar, B. (eds.) Introduction to Statistical Relational Learning, p. 339–371. MIT Press, Cambridge
(2007).
2. Ferrucci, F., Pacini, G., Satta, G., Sessa, M. I., Tortora, G., Tucci, M., Vitiello, G. Symbol-Relation Grammars: A Formalism for Graphical Languages. Information and Computation 131 (1), 1–46 (1996).
3. Friedman, N., Getoor, L., Koller, D., Pfeffe, A. Learning Probabilistic
Relational Models. In: Proceeding of the International Joint Conference
on Artificial Intelligence (IJCAI), p. 1300–1309 (1999).

Ссылки на источники  315
4. Genesereth, M. R., Nilsson, N. J. Logical Foundations of Artificial Intelligence. Morgan Kaufmann (1988).
5. Getoor, L., Taskar, B. Introduction to Statistical Relational Learning.
MIT Press, Cambridge (2007).
6. Koller D. Probabilistic Relational Models. In: Proceedings of the 9th International Workshop on Inductive Logic Programming. Lecture Notes
in Artificial Intelligence, vol. 1634, Springer, 3–13 (1999).
7. Lavrac, N., Dzeroski, S. Inductive Logic Programming: Techniques and
Applications. Ellis Horwood, New York (1994).
8. Lemmon, E. J. Beginning Logic. Hackett Publishing Company (1978).
9. Newton-Smith, W. H. Logic: An Introductory Course. Routledge, Milton Park (1985).
10. Nienhuys-Cheng, S., de Wolf, R. Foundations of Inductive Logic Programming. Springer-Verlag, Berlin (1991).
11. Richardson, M., Domingos, P. Markov logic networks. Machine Learning.
62 (1–2), 107–136 (2006).
12. Ruiz, E., Sucar, L. E. An object recognition model based on visual grammars and Bayesian networks. In: Proceedings of the Pacific Rim Symposium on Image and Video Technology, LNCS 8333, p. 349–359, Springer-Verlag (2014).
13. Sucar, L. E., Noguez, J. Student Modeling. In: O. Pourret, P. Naim, B. Marcot (eds.) Bayesian Belief Networks: A Practical Guide to Applications,
p. 173–186. Wiley and Sons (2008).

Глава

13

Графовые
причинно-следственные модели

13.1 Введение
Причинная связь (causality) должна обрабатывать отношения (связи)
типа причина–следствие (cause-effect), т. е. при наличии двух (и более)
взаимосвязанных явлений определять, какое из них является причиной
(cause), а какое – следствием (effect). Но может существовать и треть­е
объяснение, а именно: существует другое явление, которое представляет собой общую причину (common cause) первых двух изучаемых явлений.
Вероятностные модели не обязательно должны представлять причинно-следственные связи. Например, рассмотрим две ориентированные байесовские сети: BN1: A → B → C и BN2: A ← B ← C. С вероятностной точки зрения обе сети представляют одно и то же множество
отношений зависимости и независимости: прямые зависимости между
A и B, между B и C, а также I(A, B, C), т. е. A и C независимы относительно
B. Но если мы определяем, что направленная связь A → B означает, что
A является причиной B, то эти модели представляют абсолютно различные причинно-следственные связи.
Учитывая, что мы можем моделировать и решать сложные явления
(задачи) с помощью вероятностных графовых моделей и что причинно-следственные связи имеют значение для многих сложных и противоречивых концепций, можно задать вопрос: зачем нужны причинно-следственные модели? Причинно-следственные модели и в

13.1 Введение  317
особенности графовые причинно-следственные модели обладают несколькими преимуществами.
Во-первых, если байесовская сеть создается на основе причинно-следственных связей, то такие модели обычно проще формировать
и понимать (например, при общении с экспертами в какой-либо предметной области), кроме того, такие модели, как правило, сами по себе
более просты. Например, в медицине часто наблюдаются болезни с несколькими симптомами, которые обычно условно независимы от конк­
ретной болезни. Если представить эту ситуацию как байесовскую сеть
по правилам причинно-следственных связей, то получится структура,
показанная на рис. 13.1а. На рис. 13.1б показана другая структура, в которой требуются связи между переменными симптомов, так как они
условно независимы относительно болезни, но не являются абсолютно
независимыми. Модель, созданная на основе информации о причинно-следственных связях, оказывается более простой.
а)

S1

б)

D

S2

S3

S2

S1

S3
D

Рис. 13.1. Байесовская сеть, представляющая болезнь (D)
и три ее симптома (S1, S2, S3), которые условно независимы относительно D:
а) структура на основе причинно-следственных связей, б) другая структура

Во-вторых, с помощью причинно-следственных моделей можно выполнять другие типы обоснований, которые невозможно осуществить,
по крайней мере непосредственным образом, с помощью вероятностных графовых моделей, таких как байесовские сети. Существуют и
иные варианты логического вывода: (i) интервенции (interventions),
в которых необходимо найти следствия присваивания (изменения)
определенной переменной конкретного значения внешним агентом
(следует отметить, что это отличается от обычного наблюдения за
переменной), и (ii) контрфактуальный анализ (counterfactuals), когда
необходимо обосновать то, что могло бы произойти, если известная
информация отличалась от того, что действительно произошло. Мы
будем рассматривать оба этих варианта более подробно в следующих
разделах главы.
Разработано несколько методик причинно-следственного моделирования, например функциональные уравнения, диаграммы пути, модели
структурных уравнений и др. В этой главе основное внимание уделено

318

 Глава 13. Графовые причинно-следственные модели

графовым моделям, в частности причинно-следственным байесовским
сетям.

13.2 Причинно-следственные байесовские
сети
Причинно-следственная байесовская сеть (casual Bayesian network) – это
направленный ациклический граф G, в котором каждый узел представляет переменную, а дуги в этом графе представляют причинно-следственные связи. Таким образом, связь A → B – это некоторый физический механизм, такой, что на значение B непосредственно влияет
значение A. Данную связь можно интерпретировать как интервенции
(interventions) – присваивание значения некоторой переменной или
нескольким переменным внешним агентом. Например, предположим,
что A обозначает дождевальную установку (OFF/ON), а B представляет
состояние увлажненности травы (FALSE/TRUE). Если трава (B) изначально не увлажнена (not WET), а дождевальная установка включена (ON) в
результате интервенции (внешним агентом), то B изменяет значение
на TRUE.
Как и в обычных байесовских сетях, если существует дуга от A до B
(A является непосредственной причиной B), то A является родителем B,
а B – потомком A. Если рассматривать любую переменную X в причинно-следственной байесовской сети, то Pa(X) – это множество всех родителей переменной X. Кроме того, аналогично байесовским сетям, когда
прямые или непосредственные причины – родители – некоторой переменной известны, то наиболее удаленные причины (или далекие предки) не имеют значения. Например, если известно, что трава увлажнена
(WET), это делает ее скользкой (SLIPPERY), и не важно, как именно трава
стала влажной (кто-то включил дождевальную установку или прошел
дождь).
Причинно-следственные сети представляют более строгие предположения, чем обычные байесовские сети, так как все связи, определяемые структурой сети, должны соответствовать причинно-следственным связям. Таким образом, все родительские узлы Pa(X) конкретной
переменной X соответствуют прямым причинам X. Это означает, что
если для любой из переменных-родителей X или для любого сочетания
переменных-родителей установлено некоторое значение посредством
интервенции, то это окажет воздействие (следствие) на переменную X.
В причинно-следственной байесовской сети переменная, являющаяся
корневым узлом (переменная без родителей), называется экзогенной
(exogenous), а все остальные переменные называются эндогенными
(endogenous).

13.2 Причинно-следственные байесовские сети  319
Простой пример причинно-следственной байесовской сети показан
на рис. 13.2. Здесь представлены следующие причинно-следственные
связи: (i) Дождевальная установка (Sprinkler) является причиной Увлажнения (Wet), (ii) Дождь (Rain) является причиной Увлажнения (Wet),
(iii) Увлажнение (Wet) является причиной Скользкого состояния травы
(Slippery). В этом примере Дождевальная установка (Sprinkler) и Дождь
(Rain) – экзогенные переменные, а Увлажнение (Wet) и Скользкое состоя­
ние травы (Slippery) – эндогенные переменные.
Дождевальная
установка

Дождь

Увлажнение

Скользко

Рис. 13.2. Простой пример причинно-следственной байесовской сети,
которая представляет следующие связи: Дождевальная установка (Sprinkler) –
причина Увлажнения (Wet), Дождь (Rain) – причина Увлажнения (Wet),
а Увлажнение (Wet) – причина скользкого состояния травы (Slippery)
(пример взят из книги Дж. Перла (J. Pearl) [3])

Если P(X) – совместное распределение вероятностей множества переменных X, то Py(X) определяется как распределение, являющееся
результатом установки значений для подмножества переменных Y посредством интервенции. Это можно представить как do(Y = y), где y –
множество постоянных значений. Например, в причинно-следственной байесовской сети на рис. 13.2 при установлении значения для
дождевальной установки значения ON (включена): do(Sprinkler = ON) –
результатом будет распределение PSprinkler=ON(Sprinkler, Rain, Wet, Slippery).
Формальное определение причинно-следственной байесовской сети
может быть приведено в следующей форме [3]:
Причинно-следственная байесовская сеть G – это направленный
ациклический граф на множестве переменных X, совместимый со
всеми распределениями, полученными из пересечений по Y ⊆ X, при
соблю­дении следующих условий:
1. Распределение вероятностей Py(X), полученное в результате интервенции, является совместимым по Маркову с графом G, т. е.
равнозначным произведению условных вероятностей для каж­
дой переменной X ∈ G с учетом родителей этой переменной:
Py(X) = �X (Xi | Pa(Xi)).
i

320

 Глава 13. Графовые причинно-следственные модели

2. Вероятность каждой переменной, являющейся частью интервенции, равна единице для устанавливаемого значения: Py(Xi) = 1,
если Xi = xi согласовано (не противоречит) c Y = y, ∀Xi ∈ Y.
3. Вероятности всех остальных переменных, не являющихся частью
интервенции, равны вероятности каждой отдельной переменной
с учетом ее родителей, и она согласована (не противоречит) с интервенцией: Py(Xi | Pa(Xi)) = P(Xi | Pa(Xi)), ∀Xi ∉ Y.

С учетом приведенного выше определения и в особенности того факта, что вероятность переменных, значения которых установлены в результате интервенции, равна единице (условие 2), совместное распределение вероятностей можно вычислить как усеченную факторизацию
(truncated factorization):



Py(X) = �(Xi | Pa(Xi)),

(13.1)

PPa(X ), W(Xi) = PPa(X )(Xi),

(13.2)

Xi ∉ Y

при условии что все переменные Xi согласованы с интервенцией Y.
Другое следствие приведенного выше определения: после того как
для всех родителей переменной Xi установлены значения в результате
интервенции, установка значения для любой другой переменной W не
влияет на вероятность переменной Xi:


i

i

при условии что W ⋂ (Xi, Pa(Xi)) = ∅.
Рассмотрим еще раз пример, показанный на рис. 13.2. Если трава
увлажнена любым способом do(Wet = TRUE), то на вероятность переменной Slippery (Скользкая) не влияют переменные Rain (Дождь) или
Sprinkler (Дождевальная установка).

13.3 Обоснование причин
Обоснование причин должно выполняться с помощью ответов на причинные запросы из причинно-следственной модели, в частности в нашем случае, из графовых причинно-следственных моделей. Существует
несколько типов причинных запросов, которые можно рассмотреть, и
мы начнем с анализа причинных прогнозов, затем перейдем к контрфактуальному анализу.

13.3.1 Прогноз
Рассмотрим причинно-следственную байесовскую сеть, содержащую
множество переменных: XG = {XC, XE, XO}, где XC – подмножество причин
(causes), XE – подмножество следствий (effects), XO – остальные перемен-

13.3 Обоснование причин  321
ные. Необходимо выполнить причинный запрос в этой модели: каким
будет следствие XE при установке значения XC = xC? То есть нужно получить распределение вероятностей переменной XE как результат интервенции XC = xC:


PC(XE | do(XC = xC)).

(13.3)

Для получения причинного прогноза в причинно-следственной байе­
совской сети G выполняется следующая процедура:
1. Исключаются все входящие стрелки в графе для всех узлов под­
множества XC, чтобы получить измененную причинно-следственную байесовскую сеть Gr.
2. Устанавливаются значения для всех переменных подмножества
XC, XC = xC.
3. Вычисляется итоговое распределение в измененной модели Gr
(с применением методики распространения вероятностей, как в
обычных байесовских сетях).
Например, рассмотрим гипотетическую причинно-следственную
байесовскую сеть, показанную на рис. 13.3а, которая представляет
определенные причинно-следственные знания о сердечном приступе
(stroke). Если необходимо оценить следствие Unhealthy diet (нездорового питания) в переменной Stroke (сердечный приступ), то в соответствии
с описанной выше процедурой исключается связь, направленная от
узла Health consciousness (забота о своем здоровье) к узлу Unhealthy diet
(нездоровое питание), и получается модель, показанная на рис. 13.3б.
Затем необходимо установить для переменной Unhealthy diet (нездоровое питание) значение TRUE (истина) и методом распространения
вероятностей получить распределение вероятностей для переменной
Stroke (сердечный приступ). Если распределение для переменной Stroke
(сердечный приступ) изменяется в зависимости от значения переменной Unhealthy diet (нездоровое питание), то по этой модели можно сделать вывод о влиянии переменной Unhealthy diet (нездоровое питание)
на переменную Stroke (сердечный приступ) (т. е. установить причинно-следственную связь).
Возникает вопрос: когда распределение, полученное в результате
интервенции, равно распределению, полученному в результате наблюдения? В математических терминах это записывается так: P(XE | XC) =
PC(XE | do(XC = xC)). Обе части выражения равны, если XC включает всех
родителей XE и ни одного из своих потомков, учитывая то, что любая
переменная в байесовской сети независима от своих «не-потомков» с
учетом своих родителей. В других случаях равенство не всегда (не обязательно) соблюдается, эти распределения зависят от других условий.

322

 Глава 13. Графовые причинно-следственные модели

а)

б)

Забота о своем
здоровье

Недостаток
физической
активности

Нездоровое
питание

Забота о своем
здоровье

Недостаток
физической
активности

Нездоровое
питание

Лишний вес

Лишний вес

Сердечный
приступ

Сердечный
приступ

Рис. 13.3. Пример причинно-следственного прогноза: а) простая гипотетическая
причинно-следственная байесовская сеть, представляющая некоторые причинноследственные связи для Stroke (сердечный приступ), б) итоговая графовая модель,
полученная из (а) посредством интервенции do(unhealthy-diet = TRUE)

13.3.2 Контрфактуальный анализ
Контрфактуальный анализ – это метод обоснования того, что мы
весьма часто выполняем в нашей повседневной жизни. Например,
рассмотрим причинно-следственную модель на рис. 13.3а. Обычный
вопрос контрфактуального анализа может выглядеть так: если у некоторого человека наблюдается сердечный приступ, то мог бы случиться
этот сердечный приступ (Stroke = TRUE), если бы он проявлял большую
физическую активность (Lack of exercise = FALSE)?
Контрфактуальный анализ включает три основных шага:
1) абдукция (диагностирование, или обратный вывод): изменение
модели посредством ввода в нее нового свидетельства (в рассматриваемом здесь примере: изменение значения Stroke на
unknown (неизвестно));
2) действие: выполнение минимальной интервенции в модели в соответствии с введенным гипотетическим свидетельством (в рассматриваемом здесь примере: присваивание переменной Lack of
exercise значения FALSE и удаление связи от переменной Health
consciousness к переменной Lack of exercise);
3) прогноз: выполнение вероятностного логического вывода в измененной модели и получение вероятности интересующей нас
переменной (или нескольких переменных) (в рассматриваемом
здесь примере: выполнение распространения вероятностей для
оценки PLack-exercise(Stroke | do(Lack-exercise = FALSE))).

13.4 Обучение причинно-следственных моделей  323

13.4 Обучение причинно-следственных
моделей
Обучение причинно-следственных моделей по имеющимся данным
без прямых интервенций создает множество затруднений. Как уже
было отмечено ранее, если обнаруживается некоторая зависимость
между двумя переменными X и Y, то невозможно без дополнительной
информации определить, является ли X причиной Y или же Y является
причиной X. Кроме того, может существовать некоторый другой фактор, который создает зависимость между этими двумя переменными.
Например, будем считать, что на основании имеющихся данных
мы обнаружили, что люди, употребляющие вино, в меньшей степени
подвержены сердечным приступам. Затем мы могли бы прийти к выводу о том, что употребление вина приводит к снижению вероятности
возникновения сердечного приступа (рис. 13.4а). Но может существовать и другая переменная, которая создает эту видимую причинно-следственную связь, известную как скрытая частая причина (latent
common cause). Возможно, что оба явления – употребление вина и
сердечный приступ – необходимо оценивать с точки зрения уровня
доходов конкретного человека, поскольку люди с высоким уровнем
доходов склонны употреблять больше вина, и в то же время вероятность возникновения сердечного приступа у таких людей меньше,
так как им доступно более качественное медицинское обслуживание
(см. рис. 13.4б). Таким образом, сложность обучения причинно-следственных связей заключается в том, как включить в модель все действительно важные факторы.
а)

б)
Употребление
вина

Сердечный
приступ

Доход

Употребление
вина

Сердечный
приступ

Рис. 13.4. Пример сложности, возникающей при обучении
причинно-следственных моделей: а) первоначальная сеть, показывающая
видимую причинно-следственную связь между Употребление вина (Drinking wine)
и Сердечный приступ (Heart Attack), б) другая сеть с (скрытой) частой причиной
Доход (Income), которая описывает зависимость между Употребление
вина (Drinking wine) и Сердечный приступ (Heart Attack)

Разработано несколько алгоритмов обучения причинно-следственных сетей. В общем случае при обучении структуры причинно-следст­
венных сетей используются следующие предположения:

324

 Глава 13. Графовые причинно-следственные модели

• марковское детерминирующее (причинное) условие (Causal
Markov Condition): переменная независима от своих «не-потомков» с учетом ее прямых причин (родителей в графе);
• достоверность (Faithfulness): не существует дополнительных независимостей между переменными в модели, которые не под­
разумеваются марковским детерминирующим (причинным) условием;
• причинная достаточность (Causal Sufficiency): в модели не су­
ществует общих смешанных связей (отношений) наблюдаемых
переменных.
Один из алгоритмов обучения причинно-следственных сетей – Baye­
sian Constraint-Based Casual Discovery (BCCD) [2]. Эта методика является
расширением PC-алгоритма обучения структуры байесовской сети (см.
главу 8), состоящего из двух этапов:
1) сначала рассматривается полностью связанный граф и оценивается надежность каждой причинно-следственной связи X – Y посредством измерения условной независимости между X и Y. Если
пара переменных является условно независимой с надежностью,
превышающей определенное пороговое значение, то удаляется
ребро между этими переменными;
2) оставшиеся причинно-следственные связи (неориентированные
ребра в графе) упорядочиваются в соответствии с их надежностью. Затем ребра в графе ориентируются (определяется их направление), начиная с наиболее надежной связи, на основе проверок условной независимости для троек переменных.
Для оценки надежности причинно-следственной связи R = X → Y этот
алгоритм использует байесовскую оценку:




P(D | MR)P(MR)
P(R | D) = ——————————
,
P(D | M)p(M)

(13.4)

где D – данные, M – все возможные структуры, MR – все структуры, содержащие связь R. Таким образом, P(M) обозначает априорную вероятность структуры M, а P(D |M) – вероятность данных с учетом этой
структуры. Вычисления по формуле 13.4 связаны с большими накладными расходами, поэтому используются приближенные вычисления по
предельному правдоподобию данных с учетом структуры. Кроме того,
обычно ограничивается максимальное количество переменных в сети.
В зависимости от порогового значения надежности полученная в результате сеть может содержать неориентированные ребра —, которые

13.5 Приложения  325
означают, что для определения направления этой связи недостаточно
информации, двунаправленные ребра ↔, обозначающие существование общей смешанной связи. Этот тип структуры называют максимальным родовым графом (подвид смешанного графа) (Maximal ancestral
graph – MAG). Равнозначным классом является частичный родовой граф
(Partial ancestral graph – PAG). В частичном родовом графе существует
три типа ребер: направленные → и ненаправленные —, когда они являются согласованными для всех графов в равнозначном классе, а также
несогласованные ребра, обозначаемые небольшим кружком .
В следующем разделе будет показан частичный родовой граф (PAG),
полученный в результате обучения причинно-следственной модели
для реально используемого приложения.

13.5 Приложения
Существует много практических приложений, в которых причинно-следственные модели оказываются полезными. Ниже перечислены
некоторые области их применения:
• прогнозирование следствий (результатов) определенных интервенций (вмешательств);
• обучение причинно-следственных графовых моделей по имеющимся данным;
• диагностика физических (материальных) систем;
• генерация объяснений (обоснований);
• понимание причинно-следственных выражений.
В следующем подразделе рассматривается практическое приложение для обучения причинно-следственных графовых моделей по имеющимся данным.

13.5.1 Обучение причинно-следственной модели
для синдрома дефицита внимания и гиперактивности
В [4] авторы описывают расширение алгоритма BCCD для объединенного множества дискретных и непрерывных переменных и применение этого расширенного алгоритма к набору данных, содержащему
фенотипическую информацию о детях с синдромом дефицита внимания и гиперактивности (СДВГ) (Attention Deficit Hyperactivity Disorder –
ADHD). Авторы использовалисокращенный набор данных, содержащий
данные по 223 объектам наблюдения, с созданием следующих девяти
переменных для каждого наблюдаемого ребенка:

326

 Глава 13. Графовые причинно-следственные модели

1. Gender – Пол (мужской/женский);
2. Attention deficit score – Числовая оценка дефицита внимания (непрерывная переменная);
3. Hyperactivity/Impulsivity score – Числовая оценка гиперактивнос­
ти/импульсивности (непрерывная переменная);
4. Verbal IQ – Вербальная шкала IQ (непрерывная переменная);
5. Performance IQ – Невербальная (поведенческая) шкала IQ (непрерывная переменная);
6. Full IQ – Общий IQ (непрерывная переменная);
7. Aggressive behavior – Агрессивное поведение (да/нет);
8. Medication status – Стадия лечения (простое, первичное/непрос­
тое, расширенное);
9. Handedness – Ведущая рука (правая/левая).
Учитывая небольшой размер набора данных, авторы включили в модель некоторую дополнительную информацию, в частности в сети нет
переменной, которая может стать причиной Gender. При использовании
значения порога надежности, равного 50 %, была получена сеть, изображенная на рис. 13.5, представленная как частичный родовой граф (PAG).
Пол

›99%

ГА

66%
Ведущая
рука

63%

Агрессия

97%
ДВ

94%
56%

70%

›99%
Лечение

НевербIQ

›99%

›99%

ВербIQ

›99%
Общий IQ

Рис. 13.5. Причинно-следственная модель, полученная из набора
данных ADHD (синдром дефицита внимания и гиперактивности).
Граф представляет полученный в результате PAG, в котором ребра помечены
как → или − для неизменяемых связей и как ○ для изменяемых связей.
Для каждого ребра показана его надежность (в процентах).
(ДВ (AD) – оценка дефицита внимания, ГА (HI) – гиперактивность,
НевербIQ (PerfIQ) – невербальная (поведенческая) шкала IQ, ВербIQ (VerbIQ) –
вербальная шкала IQ, Лечение (Med) – стадия лечения.) Схема основана на [4]

Из этой итоговой сети было выведено несколько интересных причинно-следственных связей, некоторые из которых были уже известны
по результатам более ранних медицинских исследований [4]:
• существует строгая зависимость (следствие) от пола на уровне дефицита внимания;

13.7 Задания и упражнения  327
• уровень дефицита внимания влияет на гиперактивность/импульсивность и на агрессивность поведения;
• ведущая рука (левая) связана с агрессивностью поведения;
• связь между невербальным (поведенческим) IQ, вербальным IQ и
общим IQ объясняется скрытой частой причиной;
• только невербальный (поведенческий) IQ имеет прямую причинно-следственную связь с дефицитом внимания.

13.6 Материалы для дополнительного чтения
Графовые причинно-следственные модели были впервые примене­
ны в генетике [6]. Две подробнейшие книги по графовым причинно-следственным моделям – [3, 5]. Алгоритм BCCD для обучения причинно-следственных графов представлен в [2]. Обзор других методик
обуче­ния причинно-следственных сетей можно найти в [1].

13.7 Задания и упражнения
1. Объяснить различия между ориентированной графовой моделью,
например байесовской сетью, и причинно-следственной моделью.
2. Рассмотреть причинно-следственную байесовскую сеть на рис. 13.2.
Получить несколько другой вариант моделей байесовской сети для
этих четырех переменных, которые не обязательно являются причинно-следственными. Сравнить полученные сети по простоте и
понятности с исходной моделью.
3. Для причинно-следственной байесовской сети, показанной на
рис. 13.3а: а) предполагая, что все переменные являются бинарными,
определить таблицы условных вероятностей на основе собственной
интуиции; б) получить априорную вероятность для всех переменных
методом вероятностного логического вывода; в) с учетом интервенции do(Unhealthy-diet = true) вычислить апостериорную вероятность
переменных Overweight (лишний вес) и Stroke (сердечный приступ).
4. В соответствии с результатами выполнения задания 3 воздействует
ли нездоровое питание (Unhealthy-diet) на переменную Stroke (сердечный приступ)? Почему?
5. Вычислить апостериорную вероятность переменных Overweight
(лишний вес) и Stroke (сердечный приступ) с учетом наблюдения
Unhealthy-diet = true для сети, показанной на рис. 13.3а (используя
параметры из задания 3). Соответствуют ли полученные вероятнос­
ти результатам, полученным при соответствующей интервенции?
Почему?

328

 Глава 13. Графовые причинно-следственные модели

6. Для причинно-следственной байесовской сети, показанной на
рис. 13.3а, рассмотреть вопрос контрфактуального анализа: будет
ли уменьшаться вероятность сердечного приступа (Stroke), если человек обеспечивает здоровое питание (Unhealthy-diet = false)? Выполнить требуемые операции в этой модели (используя параметры
из задания 3) для ответа на этот вопрос.
7. Используя данные примера Golf (глава 8), применить стандартный
PC-алгоритм для обучения структуры байесовской сети. Затем применить алгоритм BCCD, используя оценки надежности для каждой
причинно-следственной связи, чтобы упорядочить эти причинно-следственные связи, и установить пороговое значение, чтобы
определить, имеет ли конкретная связь некоторое направление или
остается ненаправленной. Сравнить структуры, полученные с применением PC-алгоритма и алгоритма BCCD.
8. Для частичного родового графа (PAG), показанного на рис. 13.5, показать все максимальные родовые графы (MAG), входящие в этот PAG.
9. *** Разработать программу, реализующую алгоритм BCCD для дискретных переменных.
10. *** Получить данные из какой-либо реальной предметной области
и использовать программу, разработанную в задании 9, для получения причинно-следственной модели. Изменить пороговое значение надежности и сравнить полученные модели.

Ссылки на источники
1. Aitken, J. S. Learning Bayesian networks: approaches and issues. Knowl.
Eng. Rev. 26 (2), 99–157 (2011).
2. Claassen, T., Heskes, T. A Bayesian approach to constraint based causal
inference. In: Proceedings of Uncertainty in Artificial Intelligence (UAI),
AUAI Press, p. 207–216 (2012).
3. Pearl, J. Causality: Models. Reasoning and Inference. Cambridge University Press, New York (2009).
4. Sokolova, E., Groot, P., Classen, T., Heskes, T. Causal discovery from
databases with discrete and continuous variables. In: Probabilistic
graphical models (PGM). Springer, p. 442–457 (2014).
5. Spirtes, P., Glymour, C., Scheines, R. Causation, Prediction, and Search.
MIT Press, Cambridge (2000).
6. Wright, S. Correlation and causation. J. Agric. Res. 20, 557–585 (1921).

Словарь терминов
Bayesian Classifier – байесовский классификатор – классификатор, который присваивает вероятности различным меткам объектов на основе байесовского правила.
Bayesian network – байесовская сеть – ориентированный циклический
граф, представляющий совместное распределение вероятностей
множества случайных переменных, такого, что каждая переменная
условно независима от своих «не-потомков» с учетом своих родителей в этом графе.
Casual Bayesian Network – причинно-следственная байесовская сеть –
направленный ациклический граф, в котором узлы представляют
случайные переменные, а дуги – причинно-следственные связи.
Casual reasoning – причинно-следственное обоснование – процедура ответа на причинно-следственные запросы в форме причинноследст­венной модели.
Classifier – классификатор – метод или алгоритм присваивания меток
объектам.
Clique – клика – полностью связанное подмножество узлов в графе, которое является максимальным.
Conditional independence – условная независимость – две переменные
являются условно независимыми относительно третьей, если они
становятся независимыми, когда эта третья переменная известна.
Conditional Probability – условная вероятность – вероятность некоторого события, при условии что произошло некоторое другое событие.
Conditional Random Field – условное случайное поле – случайное поле,
в котором все переменные глобально обусловлены наблюдениями.
Decision Tree – дерево (принятия) решений – дерево, представляющее
задачу принятия решений и содержащее три типа узлов: решения,
неопределенные события и результаты.
Directed Acyclic Graph – направленный ациклический граф – ориентированный граф, которые не содержит ориентированных контуров
(ориентированный контур – контур, в котором все ребра в последовательности следуют в направлениях, указанных стрелками).
D-separation – D-разделенность – графовый критерий для определения, являются ли два подмножества переменных условно независимыми относительно третьего подмножества переменных в байесовской сети.

330

 Словарь терминов

Dynamic Bayesian Network – динамическая байесовская сеть – расширение байесовских сетей для моделирования динамических
процессов. ДБС состоит из последовательности интервалов времени, каждый из которых представляет состояние всех переменных в
определенный момент времени.
Expectation-Maximization – EM-алгоритм – статистический метод, используемый для оценки параметров при наличии ненаблюдаемых
переменных.
Graph – граф – графическое представление бинарных связей (отношений) между множеством объектов.
Hidden Markov Model – скрытая марковская модель – марковская цепь,
в которой состояния не являются непосредственно наблюдаемыми.
Independent variables – независимые переменные – две случайные переменные являются независимыми, если известное значение одной
из них не влияет на распределение вероятностей другой переменной.
Influence diagram – диаграмма влияния – графовая модель для решения задач принятия решений. Это расширение байесовских сетей,
которое включает узлы решений и узлы полезности.
Junction tree – дерево сочленений – дерево, в котором каждый узел
соответствует подмножеству переменных вероятностной графовой
модели.
Limited Memory Influence Diagram – диаграмма влияния с ограниченной памятью – диаграмма влияния, в которой переменные, известные во время принятия решения, не обязательно запоминаются для
принятия дальнейших решений.
Markov Blanket – марковское ограждение – множество переменных,
которые делают переменную независимой от всех прочих переменных в вероятностной графовой модели.
Markov Chain – марковская цепь – машина (механизм) состояний, в которой переходы между состояниями являются недетерминированными и соответствуют марковскому свойству.
Markov Decision Process – марковский процесс принятия решений –
графовая модель для последовательного принятия решений, состоя­
щая из конечного множества состояний и действий, в которой состоя­
ния соответствуют марковскому свойству.
Markov Network – марковская сеть – случайное поле, представленное
как неориентированный граф, соответствующий свойству локальности, – каждая переменная в этом поле независима от всех прочих
переменных относительно своих соседей в графе.

Словарь терминов  331
Markov Property – марковское свойство – вероятность следующего (будущего) состояния не зависит от предыдущих состояний (в прошлом)
относительно текущего (настоящего) состояния.
Markov Random Field – марковское случайное поле – марковская сеть.
Multidimensional classifier – многомерный классификатор – классификатор, который может присваивать более одной метки каждому
объекту.
Naïve Bayes Classifier – наивный байесовский классификатор – байесовский классификатор, который предполагает, что все атрибуты являются независимыми относительно переменной класса.
Partially Observable Markov Decision Process – частично наблюдаемый
марковский процесс принятия решений – марковский процесс принятия решений, в котором состояния не являются непосредственно
наблюдаемыми.
Policy – стратегия – функция, отображающая состояния в действия.
Probabilistic Graphical Model – вероятностная графовая модель – компактное представление совместного распределения вероятностей
множества случайных переменных, состоящее из графа и множества
локальных распределений вероятностей.
Probabilistic Inference – вероятностный логический вывод – процедура
вычисления апостериорной вероятности неизвестных переменных в
вероятностной графовой модели с учетом некоторого свидетельства
(подмножества известных переменных или переменных с присвоенными значениями).
Probability – вероятность – функция, которая присваивает действительное число каждому событию (подмножеству пространства состояний) и соответствует определенным аксиомам, известным как
аксиомы теории вероятностей.
Random Field – случайное поле – набор случайных переменных, проиндексированных по их позициям в этом наборе.
Random Variable – случайная переменная – форма отображения пространства состояний в действительные числа.
Rational Agent – рациональный агент – агент, который выбирает решения для максимизации ожидаемой полезности, соответствующей
его предпочтениям.
Relational Probabilistic Graphical Models – реляционные вероятностные графовые модели – расширение вероятностных графовых моделей, которое обладает большей выразительной мощью благодаря
включению некоторого типа реляционного представления (представления связей (отношений)).

332

 Словарь терминов

Sample space – пространство выборок – множество возможных исходов
(результатов) эксперимента.
Temporal Event Network – временнáя сеть событий – байесовская сеть
для моделирования динамических процессов, в которой каждый
узел представляет время возникновения события или изменения состояния некоторой переменной.
Tree – дерево – связный граф, который не содержит простых контуров.

Предметный указатель
A

H

Abduction 177
Atom 296

Hidden Markov model, HMM 106
Hill climbing 208

B

I

Baum-Welch algorithm 114
Bayesian Network augmented Bayesian classifier,
BAN 79
Behavior conflict 285

Influence diagram 254
Intelligent agent 247
Iterated conditional modes, ICM 133

C
Causal Markov Condition 324
Causal Sufficiency 324
Clustering 72
Conditioning 169
Conjunctive query inference 159

D
Decision diagram 158
Decision theory 247
Decision tree 156
Directed acyclic graph, DAG 79. См.
Графнаправленный ациклический
Dseparation 148
Dynamic Bayesian network 222
Dynamic decision network 261
Dynamic influence diagram 261

E
EM-алгоритм 115, 195
Expectation-maximization 115
Expected monetary value, EMV 250
Expected utility 247
Expected utility, EU 249
Explaining away 149

F
Feature selection 81
Finite-state machine 101

J
Junction tree 171

K
Kalman filter 223

L
Laplacian smoothing 192
Likelihood weighting 177
Limited memory influence diagram, LIMID 261
Logic sampling 175
Lottery 248

M
Mapping 151
Markov blanket 150, 182
Markov chain 100, 101
Markov property 100
Maximal ancestral graph, MAG 325
Maximum a posteriori assignment, MAP 159
Maximum a posteriori probability, MAP 132
Maximum likelihood 191
Maximum-likelihood estimator 116
Maximum posterior marginals, MPM 133
Minimal I-map 151
Minimum description length, MDL 199
Most probable explanation, MPE 159, 177

N
Nonparametric bootstrapping 240

334

 Предметный указатель

O

А

Observation variable 223

Абдукция 177
полная 159, 177
частичная
159, 177
P
Алгоритм
Parameter estimation 104
Bayes ball 149
Partial abduction 159, 177
Bayesian Constraint-Based Casual Discovery,
Partial ancestral graph, PAG 325
BCCD 324
Particle filter 224
Forward 110
Perron-Frobenius theorem 105
LIPS 230
Polytree 159, 203
Metropolis 133
Propositional logic 296
PageRank 119
Баума–Велша 114
R
пошаговая процедура 115
Rational agent 247
Витерби 113
Rationality 247
дерева сочленений
Relational probabilistic graphical model, RPGM 295
архитектура Hugin 173
Resource conflict 285
архитектура Шеноя–Шафера
(Shenoy-Shafer) 173
имитации
отжига 133
S
логической
выборки 175
Semi-Naïve Bayesian Classifier, SNBC 81
оценки правдоподобия с весовыми
Simulated annealing, SA 133
коэффициентами 177
SR-грамматика 310
Перла 160
State diagram 102
распространения вероятности 159
State variable 223
с петлями 174
Symbol-relation grammar SR-grammar 310
распространения доверия
с петлями 174
T
распространения доверия (вероятности)
Total abduction 159, 177
в дереве 160
Tree augmented Bayesian classifier, TAN 79
Ребане (Rebane) и Перла (Pearl) 203
Tree-width 173
стохастического поиска 132
стохастической имитации 175
Чоу (Chow) и Лю (Liu) 200
U
Utility theory 247

V
Visual grammar 310
Viterbi algorithm 113

Б
Байесовская оценка 207
Байесовская сеть 147
d-разделенность 148, 149
динамическая 222
базовая сеть 222
марковская модель первого порядка 222
метод аппроксимации на основе
сэмплирования 224

Предметный указатель  335
метод Монте-Карло с использованием
марковских цепей 224
многочастичный фильтр 224
обучение 224
со смешанным состоянием 117
стабильный процесс 223
дискретизация 198
без учителя 198
с учителем 198
динамическая
интервал (квант) времени 222
метод (алгоритм) дерева сочленений 171
метод обусловливания 169
неопределенность параметров 192
неполные данные 194
обучение дерева 201
обучение параметров 191
обучение полидерева 203
обучение структуры 200
использование экспертных знаний 213
представление 147
причинно-следственная
достоверность 324
марковское детерминирующее (причинное)
условие 324
причинная достаточность 324
с временным
 и узлами
диагностика 229
метод самораскрутки (самозагрузки) без
параметров 240
обучение 230
обучение параметров модели 230
обучение структуры модели 230
прогнозирование 229
с линейными гауссовыми переменными 178
структура 148
Байесовская сеть
динамическая
декодирование 224
переменная наблюдения 223
переменная состояния 223
прогнозирование 223
сглаживание 224
фильтация 223
Байесовский информационный критерий 206

В
Валидация информации 180
Вероятностная графовая модель 33
классификация 34
логический вывод 36
обучение 36
общая схема 36
представление 35
реляционная 295
система классификации 295
тип 35
Вероятность
аксиома 43
бета-распределение 192
интерпретация 41
определение 42
распределение Дирихле 193
частная (маргинальная) 50
Визуальная грамматика 310
Вывод с помощью конъюнктивного запроса 158

Г
Грамматика символ-связь 310
Граница апостериорного максимума 132
Граф
взвешенный 58
двудольный 58
изоморфизм 60
контур 59
максимальный родовой 325
направленный ациклический 59, 79
полный 58
простой 58
путь 58
простой 58
элементарный 59
путь Гамильтона 60
связный 59
смешанный 57
цикл 59
цикл Гамильтона 60
частичный родовой 325
эйлеров 60
эйлеров цикл 60

336

 Предметный указатель

Д
Дерево 60
Дерево решений 156, 251
узел результата 252
узел решения 251
узел события 252
Дерево сочленений 171
Диаграмма влияния 254
дуга
вероятностная 254
информационная 255
случайный узел 254
с ограниченной памятью 261
узел полезности 254
обычный 254
сверхценный 254
узел решения 254
информационный 254
Диаграмма решений 158
Диаграмма состояний 102
Динамическая сеть принятия решений 261
Древесная ширина 173

И
Итерационный условный режим 133

К
Классификатор
BAN 79
TAN 79
байесовский 74
дополненный байесовской сетью 79
дополненный деревом 79
наивный, недостатки 78
наивный, преимущества 78
частично наивный 80
минимизация ожидаемой стоимости 74
оценка 73
точность 73
Классификация 72
без учителя 72
с учителем 72
Кластеризация 72

Конечный автомат 101
Корреляция 50

Л
Логика
высказываний 296
атом 296
атомарное высказывание 296
логическая связка 296
логический оператор 296
предикат 298
предикатов
квантор всеобщности 298
первого порядка 298
составное высказывание 296

М
Марковская цепь 100, 101
задача оценки параметров 104
определение 101
свойства 101
сходимость 105
Марковский процесс принятия решений
параллельный 285
конфликт поведения 285
конфликт ресурсов 285
Марковское ограждение 150, 182
Марковское свойство 100, 108, 150
Мультиграф 58

Н
Наиболее вероятное объяснение 111, 159, 177
Наивный байесовский классификатор
недостатки 78
преимущества 78
Независимость
аксиома 151

О
Объяснение извне 149
Отбор признаков 81
Отображение 151
D-отображение (D-map) 151

Предметный указатель  337
I-отображение (I-map) 151
минимальное 151
P-отображение (P-map) 151
Оценка апостериорного максимума 132, 159
Оценка максимального правдоподобия 116,
191, 206

П

принцип максимальной ожидаемой
полезности 249
принцип полезности 249
Теория принятия решений 247
интеллектуальный агент 247
концепция рациональности 247
ожидаемая денежная стоимость 250
ожидаемая полезность 247, 249
полезность в денежных единицах 250
рациональный агент 247

Поиск
восхождением к вершине 208
Поиск с числовой оценкой 204
Ф
Полидерево 61, 159, 203
Правило Байеса 160
Фильтр Калмана 223
Принцип минимальной длины описания 199, 207
Пропозициональная логика 296
Ш

Р
Равномерное представление (вероятностей) 29
Распределение вероятностей
двумерное 49

С
Сглаживание Лапласа 192
Скрытая марковская модель 106
ввода-вывода 117
иерархическая 117
определение 107
параллельная 117
параметрическая 116
свойства 108
связная 117
Скрытая полумарковская модель 118

Т
Теорема Фробениуса–Перрона 105, 119
Теория информации 50
бит 51
перекрестная энтропия 52
условная энтропия 52
энтропия 52
Теория полезности 247
аксиома 248
лотерея 248

Ширина дерева 173

Э
Эвристика для определения порядка исключения
переменных
min-degree 169
min-fill 169

Книги издательства «ДМК ПРЕСС» можно купить оптом и в розницу
в книготорговой компании «Галактика»
(представляет интересы издательств
«ДМК ПРЕСС», «СОЛОН ПРЕСС», «КТК Галактика»).
Адрес: г. Москва, пр. Андропова, 38;
Тел.: +7(499) 782-38-89. Электронная почта: books@alians-kniga.ru.
При оформлении заказа следует указать
адрес (полностью), по которому должны быть высланы книги;
фамилию, имя и отчество получателя.
Желательно также указать свой телефон и электронный адрес
Эти книги вы можете заказать и в интернет-магазине: www.a-planeta.ru.

Луис Энрике Сукар

Вероятностные графовые модели
Принципы и приложения

Главный редактор

Мовчан Д. А.

dmkpress@gmail.com

Перевод с английского
Корректор
Верстка
Дизайн обложки

Снастин А. В.
Синяева Г. И.
Паранская Н. В.
Мовчан А. Г.

Формат 70×1001/16. Печать цифровая.
Усл. печ. л. 27.46. Тираж 200 экз.
Отпечатано в ПАО «Т8 Издательские Технологии»
109316, Москва, Волгоградский проспект, д. 42, корп. 5
Веб-сайт издательства: www.dmkpress.com