Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

дбс1 1

766 views

Published on

dynamic bayesian network, particle filter algorithm

Published in: Technology
  • Be the first to comment

  • Be the first to like this

дбс1 1

  1. 1. Динамические байесовские сети и их приложения. Смирнова Н.В. ИПУ РАН, 2011 1
  2. 2. Определение БС - 1БС – графическая вероятностная модель A P(a)  0.5 P(b|a)  0.9 B P(b|a)  0.3A, B булевские (принимают значения из {true, false}(могут быть непрерывными, дискретными) 2
  3. 3. Используемые обозначения - 1 P( A true) P(a) P( A false) P(a)Априорная вероятность всех возможных значенийсл. величины: P( A) - вектор, P( A)  P(a), P(a)  3
  4. 4. Используемые обозначения - 2P( A, B,C) - вектор, полное совместное распределениеслучайных величин A, B,CP( A, B,C)  P(a,b,c),P(a,b,c),..., P(a,b,c) P( A|B)  P(a |b), P(a |b), P(a |b), P(a |b)  4
  5. 5. Определение вероятности, используемое в байесовских сетях-1 Классический подход: P(d |s)  P(d ,s) P(s)D  «пациент болеет бронхитом»S  «у пациента есть одышка»P(d ,s), P(s) - такая информация обычно недоступна. 5
  6. 6. Определение вероятности,используемое в байесовских сетях-2Объективная Субъективная частота вероятностьn независимых оценкииспытаний, совместного n появления событий 6
  7. 7. Определение вероятности,используемое в байесовских сетях-3 P(d )  0.3 Dболеет бронхитом P(s|d )  0.9 P(s|d )  0.3 S жалуется на одышку P(d | s)  P(d ,s) P(d ,s) P(d ,s) P(d , s)  P(s|d )P(d ) P(d , s)  P(s |d )P(d ) 7
  8. 8. Эффект «оттеснения других объяснений»-1P(a)  0.7 P(b)  0.3 A B бронхит туберкулез С P(c|a,b)  0.9 кашель P(c|a,b)  0.4 P(c|a,b)  0.7 P(c|a,b)  0.1
  9. 9. Эффект «оттеснения других объяснений»-2 A B бронхит туберкулез С кашельЭффект: формальная записьP(a|c)  0.903 P(a|b,c)  0.84 P(b|c)  0.382 P(b|a,c)  0.355Неформальная запись:Известно: одышка, бронхит, тогда P(туберкулез)Известно: одышка, туберкулез, тогда P(бронхит)
  10. 10. Эффект «оттеснения других объяснений»-3 P(a|c)  P(a,c) P(a,c) P(a,c)P(a,c)   P( A,B,C)  P(a,b,c)  P(a,b,c) A a, B,C cP(a,b,c)  P(a)P(b)P(c|a,b)P(a,b,c)  0.189, P(a,b,c)  0.343 (Расчеты кP(a,c)  0.532 предыдущемуP(a,b,c)  0.036, P(a,b,c)  0.021 примеру)P(a,c)  0.057P(a|c)  0.532  0.903 0.5320.057
  11. 11. Эффект «оттеснения других объяснений»-4 P(b|c)  P(b,c) P(b,c) P(b,c)P(b,c)   P( A,B,C)  P(a,b,c)  P(a,b,c) A, B b,C cP(a,b,c)  P(a)P(b)P(c|a,b)P(a,b,c)  0.189, P(a,b,c)  0.036 (Расчеты кP(b,c)  0.225 предыдущемуP(a,b,c)  0.343, P(a,b,c)  0.021 примеру)P(b,c)  0.364P(b|c)  0.225  0.382 0.2250.364
  12. 12. Эффект «оттеснения других объяснений»-5 P(b|a,c)  P(b,a,c) P(b,a,c) P(b,a,c)P(b,a,c)  0.189, P(b,a,c)  0.343P(b|a,c)  0.189  0.355 0.1890.343 (Расчеты кP(a|b,c)  P(a,b,c) предыдущему P(a,b,c) P(a,b,c) примеру)P(a|b,c)  0.189  0.84 0.1890.036
  13. 13. Определение ДБС-1ДБС определяется как БС следующего вида: Последовательность скрытых X0 X1 Xn состояний, … изменяющихся с течением времени E1 En Каждое состояние зависит только от предыдущегоX t - скрытые, Каждое состояние характеризуется скрытыми иEt - наблюдаемые наблюдаемыми переменными переменные
  14. 14. Определение ДБС-2. Пример «с зонтиком» Охранник никогда не выходит на улицу. По утрам охранник видит директора (иногда с зонтиком) Какова вероятность дождя на улице?Xt Raint 1 Raint Raint 1 …Et Umbrellat 1 Umbrellat Umbrellat 1 Далее будет использоваться обозначение: X1,..., X t X1 : t , x1,..., xt x1 : t
  15. 15. Определение ДБС-3. Задаваемые параметры X0 X1 Xn … E1 En Параметры: P( X 0) P( X t | X t 1) «модель перехода» P(Et | X t ) «модель наблюдения»
  16. 16. Определение ДБС-4. Пример «с зонтиком»P(R  r)  0.5 0 P(R  r | R  r)  0.7 t t 1 R0 R1 P(R  r | R  r)  0.3 t t 1 U1 P(U  u| R  r)  0.9 t t P(U  u| R  r)  0.2 t t
  17. 17. Основные формулывероятностного вывода в ДБС(1) P( A| B)  P( A,B) (опр. усл. вер.) P(B)(2) P(B)   P( Ai )P(B| A ) n (ф-ла полн. вер.) i i 1 P( X 0), P( X t | X t 1), P( X t | Et ), (параметры ДБС)P( X t | X 0 : t 1)  P( X t | X t 1), (предположения)P(Et | X 0 : t , E0 : t 1)  P(Et | X t ), t(3) P( X 0, X1,..., E1,..., Et )  P( X 0) P( X i| X i 1)P(Ei| X i ) 17 i 1
  18. 18. Основные задачи вероятностного вывода в ДБС-1 (1) Фильтрация (текущий контроль): P( X t |e1 : t ) # вероятность дождя сегодня, если даны все результаты наблюдений за директором (2) Предсказание: P( X t k |e1 : t ), k  0 # вероятность дождя через несколько дней, если даны все результаты наблюдений за директором 18
  19. 19. Основные задачи вероятностного вывода в ДБС-2 (3) Сглаживание (ретроспективный анализ): P( X k |e1 : t ), 0 k t # вероятность того, что дождь шел в прошлую среду, если даны все результаты наблюдений за директором (4) Наиболее правдоподобное объяснение: arg max P( X 1 : t |e1 : t ) X1 : t # если директор приходил с зонтиком первые три дня, а в четвертый – без зонтика, найти погоду в каждый из прошедших дней 19
  20. 20. Вероятностный вывод в ДБС. 1 способ (неэффективный) Воспринимать ДБС как обыкновенную БС: X X X P( X 2 | E1 : 2) ? 0 1 2 P(x2 |e1,e2)  P(x2,e1,e2) P(x2,e1,e2) P(x2,e1,e2) E1 E2 (опр. усл. вер. + прием «нормализация»)P(x2,e1,e2)  P(x0, x1, x2,e1,e2)  P(x0, x1, x2,e1,e2)  P(x 0 , x1, x2,e1,e2)  P(x 0 , x1, x2,e1,e2) (ф-ла полн. вер.)P(x0, x1, x2,e1,e2)  P(x0)P(x1 | x0)P(e1 | x1)P(x2 | x1)P(e2 | x2) (декомп.)
  21. 21. Вероятностный вывод в ДБС. 2 способ (эффективный)-1Два вида шагов:1. проектирование распределения вероятностей предыдущего состояния от t к t+1(используется P( X t | X t 1) )2. Обновление распределения вероятностей текущегосостояния Xt(используется P(Et | X t ) ) P( X t | X t 1)В памяти хранится только: P(Et | X t ) Et
  22. 22. Вероятностный вывод в ДБС. 2 способ (эффективный)-2Продолжая «пример с зонтиком»: пусть было R0Получили: конкретное значение U1 циклДостраиваем: (1) : P(Rt  r)   P(Rt |Rt 1)P(Rt 1) R0 R1 Rt 1,Rt r (2) : P(Rt  r |Ut )  P(Rt r,Ut ) (1) P(Rt r,Ut ) P(Rt r,Ut ) U1 P(Rt  r,Ut )  P(Ut | Rt  r)P(Rt  r) (2) Получили: R1 Ждем U 2...
  23. 23. Вероятностный вывод в ДБС. Алгоритм фильтрации частиц-1 Дано: X - случайная величина с областью значения{x1,..., xn}Операция сэмплирования sample( X ): xk ,1 k  nВыбор xk осуществляется с помощью P( X  xi ) (P( xi )) xi 1 2 3 # P( X  xi ) 0.3 0.6 0.1
  24. 24. Вероятностный вывод в ДБС. Алгоритм фильтрации частиц-2Возможный способ осуществления sample( X ): P( x1) P( x ) P( x3) (1) 2 0 p1 1 p2 (2) генерируется случайное число s[0, 1]   x1 , если s[0, p1)  (3)  sample( X )  x2 , если s[ p1, p2 )        x3 , если s[ p2 , p3]
  25. 25. Вероятностный вывод в ДБС. Алгоритм фильтрации частиц-3 Результатом sample(BN ) является совокупность конкретных значений всех узлов байесовской сети R0 R1 # sample(BN ) {R0  r, R1  r, U1  u} Реализация sample(BN ): U1 последовательное применение sample( X ) к каждому узлу сети в топологическом порядкеДля наблюдаемых переменных берется наблюденноезначение
  26. 26. Вероятностный вывод в ДБС. Алгоритм фильтрации частиц-4Операция Weighted  sample(BN ) возвращает: :-совокупность конкретных значений (выборку) БС,-вес выборки (насколько согласуется с наблюдениями) P( x )  0.3 # Пусть известно наблюдение X1 1 X 2  x2 и получена выборка P( x | x )  0.8 2 1 а) {x1, x2}, тогда вес выборки X2 P( x | x )  0.7 2 1 W  P( x2 | x1)  0.8 б) { x1, x2}, тогда вес выборки W  P( x2 | x1)  0.7
  27. 27. Вероятностный вывод в ДБС. Алгоритм фильтрации частиц-5Теперь объяснение всего алгоритма фильтрации на«примере с зонтиком» P(R1 |U1  u)  ? R0 R1 Шаг 1. С помощью Weighted  sample(BN ) формируем N взвешенных выборок U ДБС (пусть N=10 для наглядности) 1 # S1 {R0  r, R1  r, U1  u}, W (S1)  P(U1  u | R1  r) S1 {R0  r, R1  r, U1  u}, W (S1)  P(U1  u |R1  r) S1 {R0  r, R1  r, U1  u}, W (S1)  P(U1  u |R1  r) …
  28. 28. Вероятностный вывод в ДБС.Алгоритм фильтрации частиц-6 S1 {R0  r, R1  r, U1  u}, W (S1)  P(U1  u | R1  r) S2 {R0  r, R1  r, U1  u}, W (S2)  P(U1  u | R1  r) S3 {R0  r, R1  r, U1  u}, W (S3)  P(U1  u | R1  r) S4 {R0  r, R1  r, U1  u}, W (S4)  P(U1  u | R1  r) S5 {R0  r, R1  r, U1  u}, W (S5)  P(U1  u | R1  r) S6 {R0  r, R1  r, U1  u}, W (S6)  P(U1  u | R1  r) S7 {R0  r, R1  r, U1  u}, W (S7)  P(U1  u | R1  r) S8 {R0  r, R1  r, U1  u}, W (S8)  P(U1  u | R1  r) S9 {R0  r, R1  r, U1  u}, W (S9)  P(U1  u | R1  r) S10 {R0  r, R1  r, U1  u}, W (S10)  P(U1  u | R1  r)
  29. 29. Вероятностный вывод в ДБС. Алгоритм фильтрации частиц-76 выборок типа S1 {R0  r, R1  r, U1  u} с весом 0.1(веса см. по таблицам условных вероятностей)2 выборки типа S2 {R0  r, R1  r, U1  u} с весом 0.82 выборки типа S3 {R0  r, R1  r, U1  u} с весом 0.8Далее формируем случайную величину S : si #S1 #S2 #S3 P(S  s1)  0.16 P(S  si ) 0.16 0.42 0.42 0.1620.820.8
  30. 30. Вероятностный вывод в ДБС. Алгоритм фильтрации частиц-8N раз применяем операцию сэмплирования к S: si #S1 #S2 #S3 P(S  si ) 0.16 0.42 0.42Получаем (например): 1 выборка типа S1 3 выборки типа S2 6 выборок типа S3
  31. 31. Вероятностный вывод в ДБС. Алгоритм фильтрации частиц-9Теперь можем вычислить ответы на поставленныевопросы.Имеем: 1 выборка типа S1 S1 {R0  r, R1  r, U1  u} 3 выборки типа S2 S2 {R0  r, R1  r, U1  u} 6 выборок типа S3 S3 {R0  r, R1  r, U1  u} P(R1  r |U1  u)  N (выборок, где R1r) N (выборок) P(R1  r |U1  u)  1 , P(R1  r |U1  u)  36  9 10 10 10
  32. 32. Вероятностный вывод в ДБС. Алгоритм фильтрации частиц-10 Шаги алгоритма:1. формируется N взвешенных выборок ДБС2. на основе этих данных составляется случайная величина S, значениями которой являются ссылки на сгенерированные типы выборок3. N раз Sample(S) – получаем N «новых» выборок4. с помощью простой формулы на «новых» выборках вычисляем ответы на интересующие нас вопросы
  33. 33. Применение ДБС-1. Задача локализации робота.
  34. 34. Применение ДБС-2. Задача локализации робота.Два основных вопроса:1) Как представлять состояние робота(требуется много памяти или нет?)2)Что представляют собой «модели наблюдения»и «модели перехода»?2): не хранятся в памяти в виде таблиц.Рассчитываются по формулам!1) см. далее.
  35. 35. Применение ДБС-3. Задача локализации робота.0.0 0.1 0.0 Состояние робота представляется с помощью частиц0.0 0.0 0.20.0 0.2 0.5 Частица: ( x, y): P( X  x,Y  y)  0 В памяти компьютера: (1,2), (2,3), (2,3), (3,2), (3,2), (3,3), (3,3), (3,3), (3,3), (3,3)
  36. 36. Применение ДБС-4. Задача локализации робота.Частицы передвигаются согласно модели перехода
  37. 37. Применение ДБС-5. Задача локализации робота.Частицы взвешиваются согласно модели наблюдений
  38. 38. Применение ДБС-6. Задача локализации робота.Генерируются новые частицы с помощью операциисэмплирования:(у новых частицвеса все равны 1) Наиболее вероятное местоположение робота
  39. 39. Спасибо завнимание! 39
  40. 40. Инф. источники:Большое количество слайдов/Рассел, Норвиг «Искусственный интеллект: современный подход»Слайд 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 andTemporal Filtering (Thrun, Norvig)

×