дбс1 1
DESCRIPTION
dynamic bayesian network, particle filter algorithmTRANSCRIPT
Динамические байесовские сети и
их приложения.
Смирнова Н.В.
ИПУ РАН, 2011 1
Определение БС - 1
БС – графическая вероятностная модель
A, B булевские (принимают значения из {true, false}
(могут быть непрерывными, дискретными) 2
A
B
( ) 0.5P a
( | ) 0.9P b a
( | ) 0.3aP b
Используемые обозначения - 1
( )P A true ( )P a
( )P A false ( )P a
( ) ( ), ( )aP A P a P
( )P A - вектор,
3
Априорная вероятность всех возможных значений
сл. величины:
Используемые обозначения - 2
- вектор, полное совместное распределение ( , , )P A B C
случайных величин , ,A B C
( , , ) ( , , ), ( , , ),..., ( , , )c a b cP A B C P a b c P a b P
|( | ) ( | ), ( | ), ( | ), ( )a b a bP A B P a b P b P a P
4
Определение вероятности, используемое в байесовских сетях-1
«пациент болеет бронхитом»
( , )( )
( | ) P d sP s
P d s
5
D
S«у пациента есть одышка»
( , ), ( )P d s P s - такая информация обычно недоступна.
Классический подход:
Определение вероятности, используемое в байесовских сетях-2
независимых
6
n
nиспытаний,
Объективная
частота
оценки
совместного
появления событий
Субъективная
вероятность
Определение вероятности, используемое в байесовских сетях-3
7
D
S
( ) 0.3P d
( | ) 0.9P s d
( | ) 0.3dP s
болеет бронхитом
жалуется на одышку
( , )( | )( , ) ( , )
P d sP d sP d s P d s
( , ) ( | ) ( )P d s P s d P d ( , ) ( | ) ( )P d s P s d P d
Эффект
«оттеснения других объяснений»-1
A
( ) 0.7P a
0.9( | , )P c a b
, 0.4( | )a bP c
бронхит
B
туберкулез
С
кашель
( ) 0.3P b
0.7( | , )bP c a
, 0.1( | )a bP c
Эффект
«оттеснения других объяснений»-2
9
A бронхит
B
туберкулез
С
кашель
( | ) 0.903P a c ( | ) 0.382P b c ( | , ) 0.355P b a c ( | , ) 0.84P a b c
Эффект: формальная запись
Неформальная запись:
Известно: одышка, бронхит, тогда P(туберкулез)
Известно: одышка, туберкулез, тогда P(бронхит)
Эффект
«оттеснения других объяснений»-3
10
, ,
( , ) ( , , ) ( , , ) ( , , )A a B C c
P a c P A B C P a b c P a b c
( , ) 0.532P a c
( , , ) 0.189, ( , , ) 0.343P a b c P a b c
( , , ) ( ) ( ) ( | , )P a b c P a P b P c a b
( , )( | )( , ) ( , )
P a cP a cP a c P a c
( , , ) 0.036, ( , , ) 0.021P a b c P a b c
( , ) 0.057P a c
0.532( | ) 0.9030.532 0.057
P a c
(Расчеты к
предыдущему
примеру)
Эффект
«оттеснения других объяснений»-4
11
, ,
( , ) ( , , ) ( , , ) ( , , )A B b C c
P b c P A B C P a b c P a b c
( , ) 0.225P b c
( , , ) 0.189, ( , , ) 0.036P a b c P a b c
( , , ) ( ) ( ) ( | , )P a b c P a P b P c a b
( , )( | )( , ) ( , )
P b cP b cP b c P b c
( , , ) 0.343, ( , , ) 0.021P a b c P a b c
( , ) 0.364P b c
0.225( | ) 0.3820.225 0.364
P b c
(Расчеты к
предыдущему
примеру)
Эффект
«оттеснения других объяснений»-5
12
( , , ) 0.189, ( , , ) 0.343P b a c P b a c
( , , )( | , )( , , ) ( , , )
P b a cP b a cP b a c P b a c
0.189( | , ) 0.3550.189 0.343
P b a c
(Расчеты к
предыдущему
примеру)
( , , )( | , )( , , ) ( , , )
P a b cP a b cP a b c P a b c
0.189( | , ) 0.840.189 0.036
P a b c
Определение ДБС-1 ДБС определяется как БС следующего вида:
… 0X
1X
nX
1E
nE
Последовательность скрытых
состояний, изменяющихся с течением
времени
Каждое состояние зависит только
от предыдущего
Каждое состояние
характеризуется скрытыми и
наблюдаемыми переменными
tX - скрытые,
tE - наблюдаемые
переменные
Определение ДБС-2. Пример «с
зонтиком» Охранник никогда не выходит на улицу.
По утрам охранник видит директора (иногда с зонтиком)
Какова вероятность дождя на улице?
1tRain
1tUmbrella
tX
tE
… tRain
tUmbrella
1tRain
1tUmbrella
Далее будет использоваться обозначение:
,...,1 t
X X ,1 : t
X ,...,1 t
x x 1 : t
x
Определение ДБС-3. Задаваемые
параметры
… 0X
1X
nX
1E
nE
Параметры:
0( )P X
1)( |
t tP X X
( | )t t
P E X
«модель перехода»
«модель наблюдения»
Определение ДБС-4. Пример «с
зонтиком»
0R
1R
1U
0( ) 0.5rP R
1( | ) 0.7
t tr rP R R
1( | ) 0.3
t tr rP R R
( | ) 0.9t t
u rP U R
( | ) 0.2t t
u rP U R
Основные формулы
вероятностного вывода в ДБС
( , )( )
( | ) P A BP B
P A B
1
( ) ( | )( )n
i ii
P A P B AP B
(1)
(2)
(опр. усл. вер.)
(ф-ла полн. вер.)
17
0( ),P X
1,( | )
t tP X X
( | ),
t tP X E
0 : 1 1( | ) ( | ),
t t t tP X X P X X
0 : 0 : 1,( | ) ( | ),
t t t t tP E X E P E X
(параметры ДБС)
(предположения)
0 1 1 0, ,..., ,...,
11
( ) ( ) ( | ) ( | )t
t
i i i ii
P X X E E P X P X X P E X
(3)
Основные задачи вероятностного
вывода в ДБС-1
1 : |( )
t teP X(1)
# вероятность дождя сегодня, если даны все
результаты наблюдений за директором
Фильтрация (текущий контроль):
18
1 : |( ), 0
t k teP X k
(2)
# вероятность дождя через несколько дней,
если даны все результаты наблюдений за
директором
Предсказание:
Основные задачи вероятностного
вывода в ДБС-2
1 : |( ), 0
k teP X k t
(3)
# вероятность того, что дождь шел в прошлую
среду, если даны все результаты наблюдений
за директором
Сглаживание (ретроспективный анализ):
19
1 : 1 :
1 : t
arg max |( )t t
X
eP X
(4)
# если директор приходил с зонтиком первые
три дня, а в четвертый – без зонтика, найти
погоду в каждый из прошедших дней
Наиболее правдоподобное объяснение:
Вероятностный вывод в ДБС. 1
способ (неэффективный)
Воспринимать ДБС как обыкновенную БС:
2 1 : 2( | ) ?P X E
2 1 22 1 2
22 1 2 1 2
( , , )( | , )
( , , ) ( , , )
P x e eP x e e
P x e e P x e e
0X
1X
2X
1E
2E
(опр. усл. вер.
+
прием «нормализация»)
, , , , , , , , , ,2 1 2 0 1 2 1 2 0 2 1 2 1 2 1 21 0
( , ) ( , ) ( , ) ( , )P x e e P x x x e e P x x x e e P x x x e e
, , ,2 1 20 1
( , )P x x x e e (ф-ла полн. вер.)
, , , | | | |0 1 2 1 2 0 1 0 1 1 2 1 2 2
( , ) ( ) ( ) ( ) ( ) ( )P x x x e e P x P x x P e x P x x P e x (декомп.)
Вероятностный вывод в ДБС. 2
способ (эффективный)-1
Два вида шагов:
1. проектирование распределения вероятностей
предыдущего состояния от t к t+1
(используется )
2. Обновление распределения вероятностей текущего
состояния
(используется )
В памяти хранится только:
1( | )
t tP X X
( | )t t
P E X tX
tE
1( | )
t tP X X
( | )t t
P E X
Вероятностный вывод в ДБС. 2
способ (эффективный)-2
Продолжая «пример с зонтиком»: пусть было
Получили: конкретное значение
0
R1
R
1U
(1)
(2)
(1) : 1 1
1
( | ) ( ),
( )t t t t
t t
P R R P RrR R r
P R
(2) : ( , )|
( , ) ( , )( )
t tt t
t t t t
P R r Ur
P R r U P R r UP R U
1U
0R
Достраиваем:
, |( ) ( ) ( )t t t t t
r r rPP R U P U R R
Получили: Ждем 1R
2...U
цикл
Дано: - случайная величина с областью значения
Вероятностный вывод в ДБС.
Алгоритм фильтрации частиц-1
Операция сэмплирования : ( )sample X
X
1,...,{ }
nx x
,1k
x k n
Выбор осуществляется с помощью k
x ( ) ( ( ))i i
P X x P x
ix
( )i
P X x
1 2 3
0.3 0.6 0.1#
Вероятностный вывод в ДБС.
Алгоритм фильтрации частиц-2
0 1
1( )P x
2( )P x 3
( )P x
Возможный способ осуществления :
генерируется случайное число
( )sample X
[0, 1]s
(1)
(2)
(3) 1
2
3
, 1
, 1 2
, 2 3
если [0, )
( ) если [ , )
если [ , ]
x s p
sample X x s p p
x s p p
1p
2p
Результатом является совокупность
конкретных значений всех узлов байесовской сети
Вероятностный вывод в ДБС.
Алгоритм фильтрации частиц-3
( )sample BN
0R
1R
1U
# 0 1 1( ) { , , }sample BN R r R r U u
последовательное применение
к каждому узлу сети
в топологическом порядке
Реализация :
( )sample X
Для наблюдаемых переменных берется наблюденное
значение
( )sample BN
а)
возвращает:
Вероятностный вывод в ДБС.
Алгоритм фильтрации частиц-4
1X
2X
-совокупность конкретных значений (выборку) БС,
-вес выборки (насколько согласуется с наблюдениями)
1( ) 0.3P x
2 1( | ) 0.8P x x
2 1( | ) 0.7xP x
Операция : ( )Weighted sample BN
Пусть известно наблюдение
1 2{ , },x x тогда вес выборки
2 1( | ) 0.8W P x x
#
2 2X x и получена выборка
б) 1 2{ , },x x тогда вес выборки
2 1( | ) 0.7W P x x
Вероятностный вывод в ДБС.
Алгоритм фильтрации частиц-5
Теперь объяснение всего алгоритма фильтрации на
«примере с зонтиком»
0R
1R
1U
1 1( | ) ?P R U u
Шаг 1. С помощью
формируем N взвешенных выборок
ДБС (пусть N=10 для наглядности)
( )Weighted sample BN
1 0 1 1 1 1 1{ , , }, ( ) ( | )S R r R r U u W S P U u R r
1 0 1 1 1 1 1{ , , }, ( ) ( | )S R r R r U u W S P U u R r
1 0 1 1 1 1 1{ , , }, ( ) ( | )S R r R r U u W S P U u R r
…
#
Вероятностный вывод в ДБС.
Алгоритм фильтрации частиц-6
1 0 1 1 1 1 1{ , , }, ( ) ( | )S R r R r U u W S P U u R r
2 0 1 1 2 1 1{ , , }, ( ) ( | )S R r R r U u W S P U u R r
3 0 1 1 3 1 1{ , , }, ( ) ( | )S R r R r U u W S P U u R r
4 0 1 1 4 1 1{ , , }, ( ) ( | )S R r R r U u W S P U u R r
5 0 1 1 5 1 1{ , , }, ( ) ( | )S R r R r U u W S P U u R r
6 0 1 1 6 1 1{ , , }, ( ) ( | )S R r R r U u W S P U u R r
7 0 1 1 7 1 1{ , , }, ( ) ( | )S R r R r U u W S P U u R r
8 0 1 1 8 1 1{ , , }, ( ) ( | )S R r R r U u W S P U u R r
10 0 1 1 10 1 1{ , , }, ( ) ( | )S R r R r U u W S P U u R r
9 0 1 1 9 1 1{ , , }, ( ) ( | )S R r R r U u W S P U u R r
6 выборок типа с весом 0.1
(веса см. по таблицам условных вероятностей)
2 выборки типа с весом 0.8
2 выборки типа с весом 0.8
Вероятностный вывод в ДБС.
Алгоритм фильтрации частиц-7
1 0 1 1{ , , }S R r R r U u
2 0 1 1{ , , }S R r R r U u
3 0 1 1{ , , }S R r R r U u
Далее формируем случайную величину : S
is
( )i
P S s
1#S
0.16 0.42 0.42
2#S
3#S
1
0.1 6( )0.1 6 2 0.8 2 0.8
P S s
Вероятностный вывод в ДБС.
Алгоритм фильтрации частиц-8
N раз применяем операцию сэмплирования к : S
is
( )i
P S s
1#S
0.16 0.42 0.42
2#S
3#S
Получаем (например):
1 выборка типа
3 выборки типа
6 выборок типа
1S
2S
3S
Вероятностный вывод в ДБС.
Алгоритм фильтрации частиц-9
Теперь можем вычислить ответы на поставленные
вопросы.
Имеем: 1 выборка типа
3 выборки типа
6 выборок типа
1S
2S
3S
1 0 1 1{ , , }S R r R r U u
2 0 1 1{ , , }S R r R r U u
3 0 1 1{ , , }S R r R r U u
11
1
(выборок, где )( | )
(выборок)
N R rP R r U u
N
1 11 1
1 3 6 9( | ) , ( | )10 10 10
P R r U u P R r U u
Вероятностный вывод в ДБС.
Алгоритм фильтрации частиц-10
Шаги алгоритма:
1. формируется N взвешенных выборок ДБС
2. на основе этих данных составляется случайная
величина S, значениями которой являются ссылки на
сгенерированные типы выборок
3. N раз Sample(S) – получаем N «новых» выборок
4. с помощью простой формулы на «новых» выборках
вычисляем ответы на интересующие нас вопросы
Применение ДБС-1. Задача
локализации робота.
Применение ДБС-2. Задача
локализации робота.
Два основных вопроса:
1) Как представлять состояние робота
(требуется много памяти или нет?)
2)Что представляют собой «модели наблюдения»
и «модели перехода»?
2): не хранятся в памяти в виде таблиц.
Рассчитываются по формулам!
1) см. далее.
Применение ДБС-3. Задача
локализации робота.
0.0 0.1
0.0 0.0
0.0
0.2
0.0 0.2 0.5
Состояние робота представляется с
помощью частиц
Частица: ( , ): ( , ) 0x y P X x Y y
В памяти компьютера:
(1,2),
(2,3), (2,3),
(3,2), (3,2),
(3,3), (3,3), (3,3), (3,3), (3,3)
Применение ДБС-4. Задача
локализации робота. Частицы передвигаются согласно модели перехода
Применение ДБС-5. Задача
локализации робота. Частицы взвешиваются согласно модели наблюдений
Применение ДБС-6. Задача
локализации робота. Генерируются новые частицы с помощью операции
сэмплирования:
(у новых частиц
веса все равны 1)
Наиболее
вероятное
местоположение
робота
Спасибо за
внимание!
39
Инф. источники:
Большое количество слайдов/
Рассел, Норвиг «Искусственный интеллект: современный подход»
Слайд 5-8,9/
http://sapr.mgsu.ru/biblio/ex-syst/Glava9/Index4.htm
Слайд 24/
Д. Кнут. Том 2. Глава 3
Слайды 33, 35-38/
CS 221: Artificial Intelligence. Lecture 5: Hidden Markov Models and
Temporal Filtering (Thrun, Norvig)