Тема 5. Тестирование двухуровневой модели
Теоретическая часть
Вероятности значений входной переменной низшего уровня определяются путём последовательного использования формулы Байеса для учёта информации о состоянии каждой входной переменной. Формула Байеса позволяет перейти от вероятности p(Ai) события Ai к вероятности p(Ai /Bgh) события Ai при условии, что имеет место событие Bgh. В нашем случае p(Ai /Bgh) — вероятность i‑го значения выходной переменной при условии, что имеет место h‑е значение входной переменной xg; n — число возможных значений выходной переменной; p(Bgh /Ai), p(Bgh /Aj) — вероятность h‑го значения входной переменной xg при условии i‑го (j‑го) значения выходной переменной; p(Ai), p(Aj) — вероятность i‑го (j‑го) значения выходной переменной.
Рассмотрим использование формулы Байеса на упрощённом примере, в котором каждая переменная имеет по два дискретных значения, а входных переменных две. Положим, что вероятности значений выходной переменной x0 до получения информации о входных переменных отличаются лишь немного: p(x0=1)=0,55, p(x0=2)=0,45. Заданы следующие условные вероятности (вертикальную черту следует читать как «при условии, что»):
¨ p(x1=1|x0=1) = 0,5;
¨ p(x1=2|x0=1) = 0,5;
¨ p(x1=1|x0=2) = 0,2;
¨ p(x1=2|x0=2) = 0,8;
¨ p(x2=1|x0=1) = 0,1;
¨ p(x2=2|x0=1) = 0,9;
¨ p(x2=1|x0=2) = 0,8;
¨ p(x2=2|x0=2) = 0,2.
Положим, что поступила информация о значении второй входной переменной: x2=1. Согласно формуле вероятность события x0=1|x2=1 составит
Вероятность события x0=2|x2=1 составит
Как и следует, сумма этих двух вероятностей равна единице.
Теперь положим, что в дополнение к уже имеющейся информации о второй переменной поступила информация ещё и о первой: x1=2. Согласно формуле вероятность события x0=1|(x2=1 U x1=2) равна
Вероятность события x0=2|(x2=1 U x1=2) составит
Как и следует, сумма этих двух вероятностей равна единице.
Итак, если энтропия переменной x0 до получения информации составляла –0,45·log2 0,45 – 0,55·log2 0,55 = 0,9928 бит, то после получения первого сигнала она стала равна 0,5643 бит, а после второго сократилась до 0,4267 бит.
На практике поступление новой информации может не только снижать, но и увеличивать энтропию.
В общем случае для определения вероятности i‑го значения выходной переменной формулу Байеса применяют ровно столько раз, сколько имеется известных значений входных переменных.
Вероятности значений выходных переменных более высоких уровней при заданных значениях переменных низшего уровня определяются по формуле средней взвешенной, где B — сочетание значений входных переменных низшего уровня; Di — сочетание значений входных переменных данного уровня; p(Ck /B) — вероятность k‑го значения выходной переменной при условии, что имеет место сочетание B; p(Ck /Di) — вероятность k‑го значения выходной переменной при условии, что имеет место сочетание Di (эта вероятность определяется последовательным применением формулы Байеса); p(Di /B) — вероятность сочетания Di при условии, что имеет место сочетание B (равна произведению вероятностей вошедших в сочетание Di значений переменных данного уровня при условии, что имеет место сочетание B), m — число сочетаний значений входных переменных данного уровня.
Рассмотрим числовой пример применения этой формулы. Пусть в вышеприведённом примере информация об x1 не поступила, и для её оценивания была использована модель второго уровня, которая дала следующие результаты: p(x1=1)=0,3, p(x1=2)=0,7. Тогда в соответствии с формулой нам следует определить величину
p(x0=1|(x2=1 U x1=1))·0,3 + p(x0=1|(x2=1 U x1=2))·0,7
Второе слагаемое, как следует из расчётов величины p(x0=1|(x2=1 U x1=2)), проведённых выше, составляет 0,0871·0,7. Для первого слагаемого нужно заново вычислить p(x0=1|(x2=1 U x1=1)) по формуле Байеса, пользуясь уже определённым ранее значением p(x0=1|x2=1). Получим 0,2763. Окончательно имеем 0,0871·0,7+0,2763·0,3, то есть 0,1439.
Аналогичным образом получим оценку вероятности для второго значения переменной x0, то есть величину
p(x0=2|(x2=1 U x1=1))·0,3 + p(x0=2|(x2=1 U x1=2))·0,7.
Она составит 0,8561. Сумма вероятностей всех возможных значений переменной (в данном случае двух) равна единице — иное означало бы, что в расчётах допущена ошибка.
Библиографический список
Искусственный интеллект: Справочник: в 3 книгах / Под ред. Э.В. Попова. М., 1990.
Нейлор К. Экспертные системы: принципы работы и примеры. М., 1987.
Построение экспертных систем / Под ред. Ф. Хейеса-Рота. М., 1987.
Численные методы / Н.С. Бахвалов, Н.П. Жидков, Г.М. Кобельков. 4‑е изд. М.: БИНОМ. Лаборатория знаний, 2006.
Практическая часть
Аудиторные занятия: 4 часа.
Самостоятельная работа: 4 часа или 8 часов (см. ниже).
Цель работы
Приобрести практические навыки применения алгоритмов вычисления вероятностей значений выходной переменной системы, описанной средствами формализма условных вероятностей.
Закрепить теоретические знания по темам «метод моделирования», «свобода систем».
Приборы и материалы
Отчёты о выполнении предыдущих лабораторных работ; ПЭВМ, табличные процессоры, трансляторы алгоритмических языков.
Задание
1. Разработать программное средство для определения вероятностей значений выходной переменной модели.
2. Определить вероятности значений выходной переменной и математическое ожидание её величины для десяти различных комбинаций значений входных переменных.
3. Дать оценку энтропии, снимаемой с выходной переменной поступающей информацией.
Методические указания по выполнению задания
Комбинации значений входных переменных формируются студентами самостоятельно. При этом должны выполняться следующие требования:
¨ среди комбинаций должны быть такие, по которым отсутствуют данные по входной переменной первого уровня и по всем соответствующим ей входным переменным второго уровня;
¨ не менее чем в половине вариантов должны использоваться данные о значениях переменных второго уровня;
¨ не менее чем в двух вариантах должны использоваться данные всех переменных второго уровня;
¨ варианты, в которых данные о значениях переменных второго уровня не используются, должны быть обязательно;
¨ для каждой входной переменной первого уровня должен найтись вариант, в котором она принимает любое из возможных для неё дискретных значений.
По результатам расчётов определяются:
¨ распределение вероятностей выходной переменной первого уровня;
¨ её математическое ожидание (для числовых переменных);
¨ её энтропия после получения информации о значениях входных переменных и размер снятой энтропии.
Математическое ожидание определяется:
¨ для переменных, приведённых к дискретному виду, — по формуле
где Q — число квантилей, pi — оценка вероятности i‑го дискретного значения переменной с учётом поступившей информации о входных переменных; f(x) — функция плотности распределения вероятностей данной переменной, xi–1 и xi — нижняя и верхняя границы квартили i;
¨ для остальных дискретных переменных — как сумма произведений их возможных значений на соответствующие оценки вероятностей, полученные с учётом поступившей информации о входных переменных.
Доказательство корректности расчётов, выполненных программой, производится посредством аннотированных расчётов по одному из вариантов, в котором используется наименьшее количество входных переменных второго уровня (рекомендуемое количество — одна), выполненных в электронных таблицах или вручную.
Если рабочей программой курса на выполение практического задания по данной теме выделено 2 часа, преподаватель не проверяет качество программных компонентов, разработанных для решения задачи, а только корректность расчётов.
Если рабочей программой курса на выполение практического задания по данной теме выделено 8 часов, к программному средству для выполнения расчётов согласно заданию к данной теме предъявляются следующие требования:
¨ оно должно принимать значение входных переменных как в дискретной форме (номер квантили), так и в непрерывной, с присущей данной переменной единицей измерения, за исключением тех переменных, которые являются дискретными по своей природе, если таковые имеются в модели;
¨ отсутствие данных о значении каких-либо переменных не должно препятствовать выполнению вычислений и их корректности;
¨ интерфейс пользователя должен предотвращать ввод данных по входным переменным второго уровня, если введено значение соответствующей переменной первого уровня;
¨ если значение входной переменной первого уровня неизвестно, но известны соответствующие значения переменных второго уровня (хотя бы одной), программой должны отображаться вероятности каждого дискретного значения входной переменной первого уровня, оценённые при помощи формулы Байеса;
¨ исполнение программы не должно сопровождаться ошибками, приводящими к её аварийному завершению или зависанию.
Требования к отчёту
Отчёты о выполнении практического задания составляются индивидуально. Объём каждого отчёта не должен превышать 3 страниц (не считая приложений).
В каждом отчёте должны присутствовать:
¨ значения входных переменных, для которых определяются вероятности значений выходной переменной;
¨ вероятности значений выходной переменной и её математическое ожидание, определённые составителем;
¨ доказательства корректности вычислений;
¨ результаты оценки энтропии, снимаемой с выходной переменной поступившей информацией;
¨ наименования инструментальных средств, использованных для выполнения расчётов;
¨ исходные тексты тех фрагментов программ для выполнения расчётов согласно заданию, которые разработаны составителем отчёта;
¨ список использованной литературы.
Если на выполнение самостоятельной работы выделяется 8 часов самостоятельной работы, неотъемлемой частью отчёта является исполняемый файл или дистрибутив, предоставленный преподавателю на съёмном носителе данных (возвращаемом студенту) либо посредством электронных коммуникаций.
ПРИЛОЖЕНИЯ