Сборник задач (лабораторный практикум)
Лабораторная работа №1
Разработка простой базы знаний
Для выполнения этого задания вначале ознакомимся с форматомбазы знаний, применяемым в программы «Малая Экспертная Система» v2.0
Программа представляет собой простую экспертную систему, использующую байесовскую систему логического вывода. Она предназначена для проведения консультации с пользователем в какой-либо прикладной области (на которую настроена загруженная база знаний) с целью определения вероятностей возможных исходов и использует для этого оценку правдоподобности некоторых предпосылок, получаемую от пользователя.
Вероятность осуществления некой гипотезы H при наличии определенных подтверждающих свидетельств E вычисляется на основе априорной вероятности этой гипотезы без подтверждающих свидетельств и вероятностей осуществления свидетельств при условиях, что гипотеза верна или неверна.
Значения P(E/H) и P(E/неH), подставленные в теорему Байеса, позволяют вычислить апостериорную вероятность исхода, т.е. вероятность, скорректированную в соответствии с ответом пользователя на данный вопрос:
P(H/E) = P(E/H) * P(H)/(P(E/H) * P(H) + P(E/неH) * P(неH))
или
P апостериорная = Py * P/(Py * P + Pn * (1 – P))
Описание формата базы знаний
База знаний представляет собой текстовый файл, включающий три секции со следующей структурой:
---
Описание базы знаний, имя автора, комментарий и т.п.
|
|
(можно в несколько строк, общая длина которых не должна превышать 10.000 символов; данная секция заканчивается после первой пустой строки)
Свидетельство № 0 (любой текст (не более 1000 символов), заканчивающийся переносом строки)
Свидетельство № 1
Свидетельство № 2
...
Свидетельство № N (после последнего свидетельства следует одна пустая строка, и вторая секция заканчивается)
Исход № 0, P [ , i, Py, Pn ]
Исход № 1, P [ , i, Py, Pn ]
Исход № 2, P [ , i, Py, Pn ]
...
Исход № M, P [ , i, Py, Pn ]
---
Смысл первых двух секции вполне понятен из приведенной схемы.
Последняя секция требует более подробного рассмотрения. В ней перечисляются правила вывода: каждое задается в отдельной строке; перечисление заканчивается с концом файла.
В начале описания правила вывода задается исход, вероятность которого меняется в соответствии с данным правилом. Это текст, включающий любые символы, кроме запятых. После запятой указывается априорная вероятность данного исхода (P), т.е. вероятность исхода в случае отсутствия дополнительной информации.
После этого через запятую идет ряд повторяющихся полей из трех элементов.
Первый элемент (i) – это номер соответствующего вопроса (симптома, свидетельства). Следующие два элемента ( Py = P(E/H) и Pn = P(E/неH) ) – соответственно вероятности получения ответа «Да» на этот вопрос, если возможный исход верен и неверен.
|
|
Эти данные указываются для каждого вопроса, связанного с данным исходом.
Например:
Грипп, 0.01, 1,0.9,0.01, 2,1,0.01, 3,0,0.01
Здесь сказано: существует априорная вероятность P(H) = 0.01 того, что любой наугад взятый человек болеет гриппом.
Допустим, программа задает вопрос 1 (симптом 1). Для него имеем запись (запись «2,1,0.01»). Тогда мы имеем P(E/H) = 0.9 и P(E/неH) = 0.01, а это означает, что если у пациента грипп, то он в девяти случаях из десяти ответит «Да» на этот вопрос, а если у него нет гриппа, он ответит «Да» лишь в одном случае из ста (т.е. данный симптом встречается довольно редко при других болезнях (исходах)). Очевидно, ответ «Да» подтверждает гипотезу о том, что у него грипп. Ответ «Нет» позволяет предположить, что человек гриппом не болеет.
Для второго симптома имеем запись «2,1,0.01». В этом случае P(E/H) = 1, т.е. если у человека грипп, то этот симптом обязательно должен присутствовать. Соответствующий симптом может иметь место и при отсутствии гриппа (P(E/неH) = 0.01), но это маловероятно.
Вопрос 3 (запись «3,0,0.01») исключает грипп при ответе «Да», потому что Р(Е/Н) = 0. Это может быть вопрос вроде следующего: «Наблюдается ли у Вас данное состояние на протяжении большей части жизни?» – или что-нибудь вроде этого.
|
|
Нужно хорошо подумать, а иногда и провести исследование, чтобы установить обоснованные значения для этих вероятностей.
Описанную конструкцию можно представить в виде логического умозаключения, где вопрос занимает место посылки, а исход – заключения:
Если утверждение <текст вопроса> верно, то утверждение <текст исхода> также верно (с вероятностью P(E/H)).
Задания
1. Создать простую базу знаний «Ты геймер?», решающей задачу классификации (с четкой логикой).
В этой БЗ будет 2 равновероятных исхода: «геймер» и «не геймер».
Априорные вероятности обоих исходов равны 0.5 (P(H) = 0.5), т.е. гипотезы, что наугад выбранный человек является или не является геймером, равновероятны (при этом сумма априорных вероятностей равна 1, т.е. в базе знаний приведены все возможные исходы).
Каждое утверждение четко относит испытуемого к одной из этих категорий, т.е. если для первого вопроса для исхода «геймер» будет запись 1,1,0, то для исхода «не геймер» запись будет 1,0,1.Таким образом, Py и Pn для каждого вопроса равны либо 1, либо 0, при этом во втором правиле эти значения инвертируются (относительно первого правила). Это приводит к тому, что максимально уверенный ответ («Точно да» или «Точно нет») на любой вопрос однозначно классифицирует пользователя как геймера или не геймера (см. таблицу 1).
|
|
(Примечание: не следует указывать Py и Pn равными друг другу, т.к. это означает, что данное свидетельство не влияет на вероятность исхода, т.е. бессмысленно его упоминать).
Представим правила, используемые ЭС «Ты геймер?», в виде таблицы.
Таблица 1
№ п/п | Утверждение / Вопрос | Заключение / Исход | |
геймер | не геймер | ||
1. | Ты играешь в компьютерные игры по 6 и более часов в сутки | 1 | 0 |
2. | Ты бросаешь все дела ради новой игры | 1 | 0 |
3. | От 3D-action игр у тебя кружится голова | 0 | 1 |
4. | Ты ни за что не потащишь свой компьютер к другу для организации соревнований по сети | 0 | 1 |
5. | Ты в основном тратишь деньги или на новый игровой диск или на апгрейд компьютера | 1 | 0 |
6. | Ты не пользуешься "мышью" в 3D-action играх | 0 | 1 |
В форматебазы знаний, применяемом в программе «Малая Экспертная Система» v2.0 данные таблицы будут записаны в виде вопросов и исходов, приведенных ниже.
Дата добавления: 2018-02-18; просмотров: 1420; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!