локальный апостериорный вывод в алгебраических байесовских

advertisement
ЛОКАЛЬНЫЙ АПОСТЕРИОРНЫЙ ВЫВОД В АЛГЕБРАИЧЕСКИХ
БАЙЕСОВСКИХ СЕТЯХ КАК СИСТЕМА МАТРИЧНО-ВЕКТОРНЫХ
ОПЕРАЦИЙ*
Тулупьев А.Л., к.ф.-м.н., доцент
Санкт-Петербургский институт информатики и автоматизации РАН
e-mail: alt@iias.spb.su
Сироткин А.В., м.н.с.
Санкт-Петербургский институт информатики и автоматизации РАН
e-mail: avs@iias.spb.su
1. ВВЕДЕНИЕ
Объектом рассмотрения настоящей работы являются алгебраические байесовские сети (АБС) и
алгоритмы локального апостериорного вывода в них.
Алгебраические байесовские сети представляют собой математическую модель базы фрагментов
знаний, преднозначенной для храниения и обработки данных и знаний с неопределенностью. Парадигма
алгебраических байесовских сетей была предложена В. И. Городецким и активно развивается в настоящее
время. Данная статья посвящена операциям, реализующим локальный апостериорный локиковероятностный вывод в АБС, и их представлению на матрично-векторном языке.
2. ОСНОВНЫЕ ПОНЯТИЯ АБС
Зафиксируем конечное множество атомарных пропозициональных формул (атомов) – алфавит
A   xi i  0 , все дальнейшие операции будут производится над заданным алфавитом. Определим два набора
n 1
«базовых» пропозициональных формул.
Идеал
цепочек
конъюнкций
x x
i1
i2
xik | 0  i1 

(идеал
 ik  n  1, k  n , где xi1 xi2
конъюнктов)
–
это
множество
формул
xik означает конъюнкцию соответствующих переменных.
Знак конъюнкции мы для удобства будем опускать. Каждому из конъюнктов можно сопоставить число
2i1  2i2   2ik – номер (индекс) конъюнкта. Отметим, что индекс над заданным алфавитом, однозначно
определяет конъюнкт.
Дадим определение литерала. Литерал (аргументное место) xi обозначает, что на его месте в
формуле может стоять либо xi , либо его отрицание xi . Тогда множество квантов над алфавитом A   xi i  0
n 1
Q  x0 x1 xn1 . Иными словами, квант – это конъюнкция, которая для любой атомарной переменной
содержит либо ее саму, либо ее отрицание. Зададим нумерацию квантов. Выделим «положительную» часть
кванта (множество положительно означенных переменных) и рассмотрим ее как конъюнкт. Номер этого
конъюнкта и будет номером рассматриваемого кванта.
После введения нумерации квантов и конъюнктов можно определить векторы вероятностей квантов и
конъюнктов:
 1 
 p (q0 ) 




p
(
c
)
p (q1 ) 
1

и Pq  
,
Pc  








 p (q2n 1 ) 
 p(c2n 1 ) 
где ci – конъюнкт номер i , а qi – i -й квант. Появление единицы в первом случае вполне оправдано,
так как согласно определению c0 – пустой конъюнкт, соответствующий тождественной истине.
Мы не будем подробно останавливаться на вопросах задания вероятностей над пропозициональными
формулами, этот вопрос с достаточной детальностью рассмотрен в [5]. Заметим, что по теореме о
совершенной нормальной дизъюнктивной форме любая пропозициональная формула может быть
представлена в виде дизъюнкции конечного числа квантов. Так как при любом зафиксированном
означивании всех переменных x0 , x1 , …, xn 1 никакие два разных кванта не могут быть одновременно
истинны, а, с другой стороны, один из них заведомо истинен, можно рассмотреть множество Q как
множество элементарных событий. Задав вероятность на квантах, можно, в свою очередь, построить
вероятностное пространство, на котором будет определена вероятность любой пропозициональной
* Работа выполнена при финансовой поддержке РФФИ, проект № 09-01-00861-а.
формулы. За более подробным описанием аксиоматики вероятностной логики можно обратиться, например,
к [4, 5].
Согласно [5] cвязь между векторами Pc и Pq может быть выражена формулами:
Pq  I n  Pc ,
(1)
Pc  J n  Pq ,
(2)
и
где n – число атомов, а матрицы I n и J n задаются следующими соотношениями.
 1 1
[ n 1]
[n ]
I1  
 , I n  I1  I n 1  I1  I1  I1 ;
0
1


 1 1
[ n 1]
[ n]
J1  
 , J n  J1  J n 1  J1  J1  J1 .
0
1


Здесь  означает кронекерово (тензорное) произведение матриц. I n – это кронекерова степень
матрицы I1 , т.е. I n  I1[ n ] [1].
При n , равном двум, матрицы будут выглядеть следующим образом:
 1 1 1 1 


0
1 0 1
I 2  I1  I1  
,
0 0
1 1


1
0 0 0
 1 1 1 1


0 1 0 1
J 2  J1  J1  
.
 0 0 1 1


 0 0 0 1
3. ФРАГМЕНТ ЗНАНИЙ И ЕГО НЕПРОТИВОРЕЧИВОСТЬ
Фрагмент знаний (ФЗ) АБС представляет с собой идеал конъюнктов с оценками их истинности.
Оценки истинности конъюнктов могут быть либо скалярные, то есть представимые в виде p(ci )  pi ,
где pi – конкретные числа, либо интервальные, т.е. представлены в виде pi  p(ci )  pi .
В случае скалярных оценок оценки вероятностей конъюнктов удобно представить в виде вектора Pc .
Вопрос проверки непротиворечивости будет звучать так: существует ли распределение вероятностей,
такое,что набор оценок Pc , действительно соответствует вероятностям истинности конъюнктов. Как
показано [5], для ответа на данный вопрос достаточно проверить выполняется ли условие
I n  Pc  0 .
Здесь 0 – это вектор, состоящий из нулей, а неравенство векторов следует рассматривать как систему
неравенств соответствующих элементов векторов.
Интервальные оценки удобно записать в виде векторов отдельно нижних оценок – P - и отдельно
верхних – P + .
Мы говорим, что подобные оценки непротиворечивы, если:
i :1  i  2n  1  : P- [i]    P + [i]
Pc :  P-  Pc  P +  &  Pc [i]    &  I n  Pc  0  .
Здесь запись вида Pc [i ] означает i -й элемент вектора Pc . Если выразить словами, то для любой
оценки любого конъюнкта (кроме нулевого, оценка для которого всегда единица), лежащей в границах
определенных векторами P - и P + , существует совокупность оценок вероятностей всех остальных
конъюнктов, лежащих в границах, определенных P - и P + , и задающих непротиворечивый фрагмент знаний
со скалярными оценками.
В случае интервальх оценок вопрос не только в том, что непротиворечивы они или нет, но и если
противоречивы, то можно ли их сузить до непротиворечивых. Решения этих двух вопросов взаимосвязаны.
Для проверки непротиворечивости необходимо решить серию задач линейного программирования (ЗЛП)
[3]. Переменными данных задач будут точечные вероятности Pc , а ограничения будут двух типов:
P -  Pc  P + и I n  Pc  0 . Осталось определить только целевые функции. Целевыми функциями будут
максимизация и минимизация Pc [i ] для каждого i :1  i  2n 1 . Решение этой серии ЗЛП позволяет
определить, непротиворечив ли ФЗ; в этом случае все ЗЛП будут разрешимы и соответствующие
максимумы и минимумы совпадают с заданными границами. Если хотя бы одна из ЗЛП дала результат,
отличный от заданных границ, то соответствующие максимумы и минимумы дадут наибольший по
включению набор интервальных оценок, задающий непротиворечивый ФЗ и лежащий в указанных
границах. А если хоть одна из ЗЛП оказалась неразрешима, то, значит, такого сужения не существует, а
фрагмент знаний противоречив.
4. ДЕТЕРМИНИРОВАННОЕ СВИДЕТЕЛЬСТВО
Выделяют две задачи апостериорного вывода.
Решением первой задачи апостериорного вывода во фрагменте знаний является оценка вероятности
появления свидетельства при заданных оценках.
Решением второй задачи апостериорного вывода во фрагменте знаний является оценка условных
вероятностей всех конъюнктов АБС относительно поступившего свидетельства.
Детерминированным свидетельством в теории АБС называют такое свидетельство, которое
сообщает нам о том, что некоторый набор атомов положительно означен, а некоторый – отрицательно.
Детерминированные свидетельства удобно представить в виде конъюнкта положительно означенных атомов
и конъюнкта отрицательно означенных. Ниже приведен пример двух свидетельств:
x1 ;   2;0  000102 ;000002 ,
x2 ; x1 x3  4;9  001002 ;010102 .
Конъюнктам положительно и отрицательно означенных атомов удобно сопоставить индексы,
которые однозначно определят свидетельство над заданным набором атомов.
Опишем решение первой задачи апостериорного вывода для детерминированного свидетельства над
фрагментом знаний. Свидетельство можно представить как пропозициональную формулу. Обозначим
i; j
формулу,
соответствующую
свидетельству
через
например:
i; j
f ,
10;5
10102 ;1012
f
f
 x3 x1 x2 x0  x0 x1 x2 x3 . Вычисление вероятности произвольной пропозициональной
формулы — это задача априорного вывода. С априорным выводом в общем случае можно ознакомиться,
i; j
например, в [3]. Здесь же мы решим ее для конкретного вида формул f
. Пусть задан ФЗ с точечными
оценками истинности, тогда вероятность p( f
i; j
) может быть легко вычислена как
 p(q
qk Q
k
f
i; j
) . Здесь
играет роль важная особенность квантов, состоящая в том, что конъюнкция кванта с любой
пропозициональной формулой – это либо сам квант, если он входит в СДНФ данной формулы, либо ложь.
i; j
То есть нам остается лишь определить, какие кванты входят в СДНФ f
, а какие – нет. Пользуясь
побитовыми логическими операциями можно записать как:
q , если (k & i  i )  ((k ) & j  j );
i; j
(3)
qk  f
 k
false, иначе.
В этой формуле и далее по тексту & обозначает побитовое «и», а  – побитовое отрицание.
Перейдем теперь ко второй задаче апостериорного вывода. Вначале рассмотрим фрагмент знаний с
точечными оценками истинности, то есть нам задан вектор Pc . На его основе, по формуле (1) можно
построить вектор Pq  I n  Pc . Заметим, что полученный вектор Pq содержит в себе информацию о
вероятностях всех квантов над нашим алфавитом. Будем строить вектор условных вероятностей
относительно нашего свидетельства i; j . Согласно определению условной вероятности
i; j
p(qk | f
Вероятности p( f
i; j
) и p(qk f
Введем обозначение Pq
i; j
i; j
) p( f
i; j
)  p(qk f
i; j
).
(4)
) мы уже научились вычислять выше. Запишем (4) в виде векторов:
 p (q0 | f i ; j ) 
 p (q0 f i ; j ) 




 p(q1 | f i ; j ) 
 p(q1 f i ; j ) 
i; j
(5)

 p( f )  
.




 p(q | f i ; j ) 
 p(q f i; j ) 

2n 1


2n 1

i; j
i; j
 p(q0 | f ) 
 p(q0 f ) 




i; j
 p(q1 | f ) 
 p(q1 f i ; j ) 
i; j

 . Запишем,что 
  H  Pq . Тогда (5)




 p(q | f i ; j ) 
 p(q f i ; j ) 

2n 1


2n 1

принимает вид
i; j
Pq
Теперь нам необходимо описать структуру матрицы H
i; j
p( f
i; j
)H
i; j
 Pq .
. Основываясь на (3) получаем.
(6)
 (k , l ), (k & i  i )  (k & j  j );
[k , l ]  
(7)
иначе.
 0,
Матрица H i ; j имеет очень четкую структуру и может быть записана с использованием тензорного
(кронекерова) произведения следующим образом:
i; j
i; j
i; j
i; j
(8)
H  Hn1  Hn2   H0 .
H
i; j
0 0
 1 0
 1 0
i; j

Если ввести обозначения H   
, H 
,H 
 , то матрица H n1 может быть
 0 1
 0 1
0 0
вычислена следующим образом:
H  , если l -тый бит i единица;

i; j
H l   H  , если l -тый бит j единица;
(9)
 H , иначе.

В формуле (6) используются условные (слева) и маргинальные (справа) вероятности квантов. Но мы
знаем, что вероятности на квантах выражаются через вероятности на конъюнктах по формуле (1).
i; j
Обозначим верктор условных вероятностей на конъюнктах через Pc
и проведем замену по формуле (1),
чтобы получить:
i; j
i; j
i; j
I n  Pc p( f )  H  I n  Pc .
Домножив обе части слева на J n , получаем:
i; j
i; j
i; j
(10)
Pc p( f )  J n  H  I n  Pc .
Вспомним, что все приведенные в вышестоящей формуле матрицы могут быть представлены в виде
произведений Кронекера, которое в свою очередь обладает следующим свойством [1]:
(A1  B1 )  (A2  B2 )  (A1  A2 )  (B1  B2 ) .
Воспользовавшись этим свойством, получаем:
i; j
i; j
i; j
i; j
Pc p( f )  (J1  Hn1  I1 )   (J1  H1  I1 )  Pc .
Рассмотрим матрицы Tl
аналогии с H
i; j
n1
i; j
 J1  Hl
можно выразить Tl
i; j
i; j
i; j
 I1 и построенную на их основе T  Tn1 
i; j
 T1
i; j
:
Tl
i; j
T  , если l -тый бит i единица;

 T  , если l -тый бит j единица;
 T , иначе.

 0 1
 1 0
 1 1 

И соответственно: T   
, T 
, T  
.
 0 1
 0 1
0 0
Применив новое обозначение к (10), получаем:
i; j
i; j
i; j
Pc p( f )  T  Pc .
Заметим, что если вычислить T
i; j
(T
i; j
нулевой
элемент
(T
i; j
(11)
 Pc , то нет необходимости отдельно вычислять p( f
связанно с тем, что по определению Pc
следовательно,
. По
i; j
[0] – нулевой элемент вектора Pc
 Pc )[0]
равен
в
точности
p( f
i; j
i; j
i; j
) . Это
– равен единице, а,
).
Предполагая,
что
 Pc )[0]  0 , получаем:
i; j

T
i; j
 Pc
(11')
.
(T  Pc )[0]
Полученная формула дает нам точное выражение для апос-териорной вероятности элементов ФЗ при
поступившем свидетельстве, если исходные оценки были скалярные (т.е. оценки вероятности конъюнктов
имели вид Pc [i]  pi , где pi – числа из интервала [0;1] ), а свидетельства – детерминированные. Если оценки
были не скалярные, а интервальные, то нам потребуется решать серию ЗЛП [5].
Пусть задан ФЗ с оценками P - и P + , тогда опишем ЗЛП для получения апостериорной вероятности
на элементах ФЗ. Если записать все в явном виде, то получаемые задачи не будут задачами линейного
программирования, а будут относиться к классу так называемых задач дробно-линейного
программирования. В [2] показано как в общем случае задачи дробно-линейного программирования можно
свести к задачам линейного программирования. Здесь мы построим конкретный (частный) случай
подобного сведения.
Pc
i; j
Рассмотрим новую переменную  
1
p( f
i; j
)
. Очевидно, что   1 . Произведем замену переменных –
введем вектор d   Pc , тогда (11') принимает вид
i; j
i; j
(12)
Pc  T  d .
Формула (12) – линейная, следовательно можно построить серию задач линейного
i; j
программирования. Нам потребуется найти максимум и минимум для каждого элемента вектора Pc ,
кроме нулевого. Нулевой же элемент даст нам дополнительное ограничение вида
i; j
(T  d)[0]  1 .
Кроме того, будут ограничения, следующие из аксиоматики вероятностной логики [5]:
In  d  0 ,
и ограничения, следующие из предметной области [5]:
d[i ]   P + [i] и  P - [i ]  d[i] .
Решив предложенную серию ЗЛП, мы получим решение второй задачи линейного программирования.
5. СТОХАСТИЧЕСКОЕ И НЕОПРЕДЕЛЕННОЕ СВИДЕТЕЛЬСТВА
Стохастическим свидетельством в теории АБС называется свидетельство, задающее единственное
распределение на некотором подфрагменте знаний, то есть представимое в виде фрагмента знаний с
точечными оценками. Неопределенным свидетельством в теории АБС называется свидетельство, заданное в
виде фрагмента знаний с интервальными оценками, где фрагментом знаний является некоторый
подфрагмент исходного. Такое свидетельство задает семейство распределений вероятностей.
Поясним подход к обработке этих свидетельств на частном при-мере. В общем виде обработка таких
свидетельств рассмотрена в [4, 5].
Пусть задан некоторый фрагмент знаний с точечными оценками Pc . И пусть задан подфрагмент с
точечными непротиворечивыми оценками. Для примера возьмем подфрагмент, построенный над x0 , x1 .
Для него нам заданы апостериорные оценки p a ( x0 ) , p a ( x1 ) и p a ( x0 x1 ) . На их основе можно вычислить
p a ( x0 x1 ) , p a ( x0 x1 ) , p a ( x0 x1 ) и p a ( x0 x1 ) . Будем считать решением второй задачи апостерионого вывода
сумму:
p(ci | x0 x1 ) p a ( x0 x1 )  p(ci | x0 x1 ) p a ( x0 x1 ) 
(13)
 p(ci | x0 x1 ) p a ( x0 x1 )  p(ci | x0 x1 ) p a ( x0 x1 ).
ci – i -й конъюнкт.
Вычислять p(ci | x0 x1 ) мы научились в предыдущем разделе. Таким образом, для решения второй
задачи апостериорного вывода нам требуется сначала решить ее для серии детерминированных
свидетельств, а потом просуммировать результаты с весами, соответствующими апостериорной вероятности
этих свидетельств. Если оценки в исходном ФЗ были интервальными, то для вычисления точных
апостериорных оценок требуется находить максимум и минимум формулы, аналогичной формуле (13).
Данная задача сложна и на данный момент неизвестно, можно ли свести ее к задачам линейного
программирования. Наилучшим с точки зрения вычислительной сложности на данный момент считается
приближение, когда для каждого детерминированного свидетельства строится апостериорная оценка
элементов ФЗ, а потом эти интервальные оценки суммируются с весами свидетельств. Такой способ
позволяет получить непротиворечивую оценку, которая содержит настоящую оценку.
В случае если поступило недетерминированное свидетельство, мы решаем задачу в несколько этапов.
Первый этап состоит в вычислении результатов для детерминированных свидетельств. А второй – в
решенни ЗЛП, где переменными являются апостериорные оценки, такие как p a ( x0 x1 ) , а в качестве
коэффицентов p(ci | x0 x1 ) в формуле (13) мы рассматриваем минимальные (при поиске минимума) и
максимальные (при поиске максимума) значения p(ci | x0 x1 ) , вычисленные на первом этапе.
5. ЗАКЛЮЧЕНИЕ
В работе приведено матрично-векторное описание процессов апостериорного вывода в ФЗ АБС.
Изложение на матрично-векторном языке позволяет упростить ряд формализаций, необходимых при
переносе теоретического материала на «практику», в частности, при создании программных комплексов,
использующих алегбраические байесовские сети как базу знаний с вероятностной неопределенностью.
Кроме того, матрично-векторное представление позволяет формализовать постановку задачи логиковероятностного вывода в степени, достаточной для корректного решения вопросов оценки сложности
необходимых вычислений.
Литература
1.
Беллман Р. Введение в теорию матриц. – М.: Наука, Гл. редакция физико-математической литературы, 1969.
2.
3.
4.
5.
Гавурин М.К., Малоземов В.Н. Экстремальные задачи с линейными ограничениями: учебное пособие. – Л.: Изд-во
ЛГУ, 1984.
Сироткин А.В., Тулупьев А.Л. Локальный априорный вывод в алгебраических байесовских сетях: комплекс
основных алгоритмов // Труды СПИИРАН. Вып. 5. – СПб.: Наука, 2007. – С.100-111.
Тулупьев А. Л. Алгебраические байесовские сети: локальный логико-вероятностный вывод. – СПб: СПбГУ;
Анатолия. 2007.
Тулупьев А. Л., Николенко С. И., Сироткин А. В. Байесовские сети: логико-вероятностный подход. – СПб.: Наука,
2006.
Download