Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Байесовы технологии. Их реализация в программной среде Hugin и применение в операционном риск-менеджменте. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
Для завершения топологии ДВ необходимо определить функцию полезно-
Табл. 2.4. P(Sick' | Sick, Treat)
Treat=«treat»
Treat=«not»
Sick=«sick»
Sick=«not»
Sick=«sick»
Sick=«not»
Sick'= «sick»
0.20
0.01
0.99
0.02
Sick'= «not»
0.80
0.99
0.01
0.98
Табл. 2.5. P(Dry' | Dry)
Dry=«dry»
Dry=«not»
Dry'= «dry»
0.60
0.05
Dry'= «not»
0.40
0.95
Dry'=«dry»
Dry'=«not»
Sick'=«sick»
Sick'= «not»
Sick'=«sick»
Sick'=«not»
Loses'= «yes»
0.95
0.85
0.90
0.02
Loses'= «no»
0.05
0.15
0.10
0.98
сти, которая позволит вычислить ожидаемую полезность от принятия каждой альтернативы решения. Для этого в рассматриваемую ДВ следует добавить узел полезности Стоимость (Cost) и узел полезности Урожайность (Harv5). Узел по­лезности Стоимость отражает стоимость обработки, а узел Урожайность – до­ход от сбора урожая. Связь от узла Болеет' до узла Урожайность указывает, что урожайность дерева зависит от его состояния.
На рис. 2.13 показано качественное представление рассматриваемой ДВ.
Рис. 2.13
ДВ необходимо дополнить ТУВ каждого случайного узла (табл. 2.4-2.6; ТУВ узлов Болеет, Засохло, Облетело заданы в табл. 2.1-2.3, соответственно) и таблицами полезности каждого узла полезности (табл. 2.7-2.8).
Табл. 2.6. P(Loses' | Sick', Dry')
5
от анг. harvest: урожай
21
Табл. 2.7. U6(Harv)
Sick'=«sick»
Sick'= «not»
3000
20000
Табл. 2.8. U(Cost)
Treat="treat"
Treat="not"
-8000
0
Таблицы полезности являются, по сути, функциями стоимости. Данные табл. 2.7 необходимо интерпретировать следующим образом: если на момент сбора урожая дерево здорово (Болеет'=«нет»), то получаемый от урожая доход равен 20000 $, в противоположном случае (Болеет'=«болеет») доход – 3000 $. Данные табл. 2.8 показывают, что стоимость обработки дерева равна 8000 $.
2.5. Объектно-ориентированные сети
Здесь под объектно-ориентированной сетью (ООС) понимается сеть (БС или ДВ), которая содержит, помимо обычных узлов, узлы-экземпляры (instance nodes). Узлом-экземпляром, по сути, является подсеть (subnet), которая в тер­минах объектно-ориентированного программирования называется классом
(class).
ООС следует рассматривать как иерархическое описание проблемной об­ласти. Из-за понятных трудностей одновременного охвата всех структурных элементов области исследователи часто мыслят систему в терминах иерархии абстракций. Использование узлов-экземпляров дает возможность моделировать сети на различных уровнях абстракции.
Рассмотрим ДБС, моделирующую область двух болезней за три периода времени, которые могут сопровождаться различными симптомами (рис. 2.14).
6
«U» – от анг.utility: полезность
Рис. 2.14
22
Каждая подсеть, соответствующая k-му периоду времени, содержит четыре узла: D1_k, D2_k, S1_ k, S2_k, где D1_ k (disease 1_k) и D2_k (disease 2_k) пред­ставляют две болезни в k-ый период времени, а S1_k (symptom 1_k) и S2_k (symptom 2_k) – симптомы этих болезней. Связь между узлами Di_kDi_k+1 обусловлена тем, что наличие/отсутствие i-ой болезни в момент времени k
(Di_k) оказывает влияние на ее наличие/отсутствие в момент времени k+1 (Di_k+1) и т.д.
Так как все три подсети, представленные на рис. 2.14, качественно иден­тичны друг другу (т.е., с точки зрения, их архитектуры), то данную ДБС можно представить в виде ООС с узлом-экземпляром, отражающим состояние про­блемной области в каждый период времени.
23
3. Реализация байесовых технологий в программной среде Hugin
Программная среда Hugin позволяет моделировать системы поддержки принятия решений в областях, для которых характерна неопределенность, с помощью байесовых технологий. Разработчиком данного продукта является датская компания Hugin Expert (www.hugin.com), созданная в 1989 г. В настоя­щее время Hugin в своей деятельности используют более 500 коммерческих компаний и научно-исследовательских центров в более чем 25 странах мира.
3.1. Байесовы сети в Hugin
Главное окно Hugin содержит строку меню, строку инструментов и панель сети (рис. 3.1). Инструменты для создания топологии БС доступны в режиме редактирования7.
Рис. 3.1
Для того чтобы в БС добавить узел, необходимо:
выбрать инструмент, соответствующий типу данного узла в строке ин-
струментов (рис. 3.2);
щелкнуть в пустом поле панели сети.
Рис. 3.2. Инструменты: «Дискретный случайный узел», «Непрерывный
случайный узел», «Свойства узла», «Связь» (слева направо).
Каждому узлу БС должно быть задано имя. Для этого следует:
выделить узел левой кнопкой мыши; выбрать инструмент «Свойства узла» (Node properties) в строке инстру-
ментов (рис. 3.2);
в появившемся окне в поле «Имя» (Name) вкладки «Узел» (Node) ввести
имя узла (рис. 3.3).
7
Помимо режима редактирования в Hugin используется также режим управления, который позволяет ра-
ботать с построенной сетью.
24
Рис. 3.3
Следует заметить, что имя узла может содержать латинские буквы «a»-«z» и «A»-«Z», цифры «0»-«9», знак подчеркивания «_». Первым знаком имени уз­ла может быть только буква.
Для добавления связей между узлами БС необходимо:
выбрать инструмент «Связь» (Link tool) в строке инструментов (рис.
3.2);
переместить стрелку от одного узла к другому в зависимости от направ- ления связи.
На рис. 3.4 показано качественное представление БС описанного выше примера «Яблоня» (подраздел 2.1) в среде Hugin.
Рис. 3.4
25
Далее необходимо установить возможные состояния узлов БС. Это осуще­ствляется во вкладке «Состояния» (States) диалогового окна «Свойства узла» (рис. 3.3).
Для создания ТУВ узла следует выделить его левой кнопкой мыши, а пра-
вой – вызвать меню узла (рис. 3.5), в котором выбрать пункт «Открыть табли­цы» (Open Tables).
Рис. 3.5
В поле появившейся таблицы необходимо ввести значение вероятности на­хождения данной переменной в данном состоянии.
На рис. 3.6 показано окно сети примера «Яблоня» с ТУВ узла Облетело (значения условных вероятностей взято из подраздела 2.1).
Рис. 3.6
26
Компиляция сети
После создания топологии сети и задания ТУВ узлов необходимо осущест­вить ее компиляцию.
Компилятор Hugin проверяет сеть на наличие следующих ошибок:
циклов (в сети не должно быть направленных циклов); для каждой конфигурации состояний родителей узла сумма вероятно-
стей всех состояний узла-потомка должна равняться 1. Если ТУВ содержит ко­лонку, сумма вероятностей в которой отлична от 1, то компилятор автоматиче­ски нормализует ее значения. Это свойство можно использовать при заполне­нии ТУВ. Например, если известно, что из наблюдаемых 13527 деревьев 1678 больны, а остальные – нет, то в поле состояния «болеет» следует записать 1678, а в поле состояния «нет» – 11849. Компилятор вычислит непосредственно зна­чения вероятностей.
Компиляция сети осуществляется путем нажатия кнопки «Перейти в ре-
жим управления» (Switch to run mode) (рис. 3.7).
Рис. 3.7
В режиме управления окно сети разделено на две панели: левая панель – панель списка узлов, правая панель – панель сети (рис. 3.8).
Рис. 3.8
27
Логический вывод в байесовых сетях
Логический вывод в БС означает вычисление условных вероятностей од-
них переменных при наличии информации (свидетельств) о других. Для рас­пространения вероятности в сети используется теорема Байеса (подраздел 2.1).
Процедура пересчета вероятности состояний переменных при поступлении новой информации в БС называется «обновлением доверия» (belief updating). Определение наиболее вероятного глобального распределения состояний всех случайных переменных при определенном свидетельстве известно как «пере-
смотр доверия» (belief revision).
Логический вывод в Hugin осуществляется в режиме управления сетью.
Предположим, что в рассматриваемом примере «Яблоня», становится из­вестно, что дерево облетело. Определим вероятность того, что это произошло вследствие болезни дерева. Для этого необходимо после создания и компиля­ции сети:
ввести свидетельство о том, что дерево облетело, дважды щелкнув на
поле состояния «да» узла Облетело в панели списка узлов сети;
распространить свидетельство, нажав кнопку «Распространение Суммы»
(Sum-propagate normal) в строке инструментов (рис. 3.9).
Рис. 3.9.
В результате в панели списка узлов появятся обновленные вероятности со-
стояний переменных при данном свидетельстве (рис. 3.10). При распростране­нии суммы в левом нижнем углу главного окна также отображается вероят­ность введенного свидетельства (P(evidance)= ).
Рис. 3.10
28
Таким образом, согласно полученным данным вероятность того, что дере-
во облетело в результате болезни 󰇛󰇜 
0.4940.
Аналитическое решение
Для упрощения записи введем следующие обозначения:
S – узел Болеет; D – узел Засохло; L – узел Облетело; t – «истинное» состояние узла, т.е. состояние «болеет» узла Болеет, со-
стояние «засохло» узла Засохло, состояние «да» узла Облетело;
f «ложное» состояние узла, т.е. состояние «нет» узлов Болеет, Засохло,
Облетело.
Вероятность того, что дерево облетело в результате болезни, вычисляется
по формуле Байеса (формула 2.1):
P(L = t × S = t)
P󰇛S = tL = t󰇜=
P(L = t)
Из теоремы об умножении вероятностей зависимых переменных (формула
1.1):
P󰇛L = t × S = t󰇜=
P(S = t) × P(D = i)
i=t,f
× P(L = t|S = t, D = i)
По формуле полной вероятности (формула 2.2):
P󰇛L = t󰇜=
 
P(S = i) × P(D = j)
i=t,fj=t,f
× P(L = t|S = i, D = j)8
Таким образом,
P󰇛L = t × S = t󰇜= 0.9 × 0.1 × 0.9 + 0.1 × 0.1 × 0.95 = 0.0905
P󰇛L = t󰇜= 0.9 × 0.1 × 0.9 + 0.1 × 0.1 × 0.95 + 0.9 × 0.9 × 0.02 + 0.1 × 0.9 ×
× 0.85 = 0.1832
0.0905
P󰇛S = tL = t󰇜=
= 0.4939
0.1832
8
Порядок следования переменных при вычислении полной вероятности может быть любым. Однако це-
лесообразно выбирать такой порядок, при котором условные вероятности максимально редуцируются, т.е. от переменных-предков к переменным-потомкам.
29
Вероятность того, что дерево не болеет, но оно облетело равна:
P󰇛S = fL = t P󰇛S = fL = t
󰇜
= 1 P
󰇜
= 1 0.4939 = 0.5061
󰇛
S = tL = t󰇜
Вероятности состояний узла Засохло при свидетельстве, что дерево обле-
тело рассчитываются аналогично:
P(L = t × D = t)
P󰇛D = tL = t󰇜=
P(L = t)
P󰇛L = t × D = t󰇜= 0.1 × 0.1 × 0.95 + 0.1 × 0.9 × 0.85 = 0.086 P󰇛L = t󰇜= 0.1832
0.086
P󰇛D = tL = t󰇜=
= 0.4694
0.1832
P󰇛D = fL = t
󰇜
= 1 0.4694 = 0.5306
Согласно полученным результатам (рис. 3.10), наиболее вероятное состоя­ние узлов Болеет и Засохло при данном свидетельстве – «нет».
P (S=f|L=t)=0.5061
P (D=f|L=t)=0.5306
Это может заставить полагать, что наиболее вероятная комбинация их со­стояний – (Болеет=«нет», Засохло= «нет»). Однако это заключение неверно.
Для того чтобы найти наиболее вероятную комбинацию состояний узлов в
Hugin, необходимо использовать инструмент «Распространение максимума» (Max-propagate normal) (рис. 3.11) вместо «Распространение суммы» (рис. 3.9).
Рис. 3.11
Рис. 3.12
30
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]