3. Этап формализации
На этапе формализации все ключевые понятия и отношения, выявленные на этапе концептуализации, выражаются на некотором формальном языке, выбранном инженером по знаниям. На этом этапе выбираются информационные системы и определяются способы представления всех видов знаний, формализуются основные понятия, определяются способы интерпретации знаний, моделируется работа системы.
Так как цель моей курсовой работы – моделирование экспертной системы, необходимо придумать разработку, используя Microsoft Office Excel и Microsoft Visual Basic.
Все выявленные ранее необходимые знания расположены на листах рабочей книги Excel.
Работа системы будет основана на Байесовской сети доверия – вероятностной модели, представляющей собой множество переменных и их вероятностных зависимостей. Так как цель курсовой работы – создать экспертную систему, я не буду останавливаться на теории Байесовской сети, далее же будет представлен условный план дальнейших действий.
Для того, чтобы приступить к этапу реализации, необходимо подготовить «базу» для работы Байесовской сети, а именно: написать «тройки» вероятностей, включающие номер вопроса, вероятность исхода при ответе «да» на вопрос, вероятность исхода при ответе «нет» на вопрос, определить и обозначить априорную вероятность, вспомнить формулы и так же расположить все на листах рабочей книги Excel. «Тройки» вероятностей составлены для 8 исходов и 10 вопросов. (табл.1)
Таблица 1. «Тройки» вероятностей исходов
|
Народная Музыка |
Шансон |
Джаз |
Электро |
Рок |
Поп |
Рэп |
Классика |
|
1 вопрос |
(1,0.6,0.4) |
(1,0.5,0.5) |
(1,0.4,0.6) |
(1,0.9,0.1) |
(1,0.7,0.3) |
(1,0.9,0.1) |
(1,0.8,0.2) |
(1,0.3,0.7) | |
2 вопрос |
(2,0.2,0.8) |
(2,0.3,0.7) |
(2,0.5,0.5) |
(2,0.9,0.1) |
(2,0.8,0.2) |
(2,0.9,0.1) |
(2,0.8,0.2) |
(2,0.1,0.9) | |
3 вопрос |
(3,0.8,0.2) |
(3,0.3,0.7) |
(3,0.3,0.7) |
(3,0.1,0.9) |
(3,0.2,0.8) |
(3,0.2,0.8) |
(3,0.3,0.7) |
(3,0.9,0.1) | |
4 вопрос |
(4,0.1,0.9) |
(4,0.3,0.7) |
(4,0.5,0.5) |
(4,0.7,0.3) |
(4,0.8,0.2) |
(4,0.9,0.1) |
(4,0.9,0.1) |
(4,0.2,0.8) | |
5 вопрос |
(5,0. 7,0.3) |
(5,0.5,0.5) |
(5,0.8,0.2) |
(5,0.4,0.3) |
(5,0.3,0.7) |
(5,0.3,0.7) |
(5,0.3,0.7) |
(5,0.9,0.1) | |
6 вопрос |
(6,0.5,0.5) |
(6,0.4,0.6) |
(6,0.8,0.2) |
(6,0.2,0.8) |
(6,0.2,0.8) |
(6,0.6,0.4) |
(6,0.7,0.3) |
(6,0.8,0.2) | |
7 вопрос |
(7,0.3,0.7) |
(7,0.5,0.5) |
(7,0.4,0.6) |
(7,0.8,0.2) |
(7,0.9,0.1) |
(7,0.7,0.3) |
(7,0.6,0.4) |
(7,0.2,0.8) | |
8 вопрос |
(8,0.9,0.1) |
(8,0.8,0.2) |
(8,0.7,0.3) |
(8,0.3,0.7) |
(8,0.3,0.7) |
(8,0.6,0.4) |
(8,0.4,0.6) |
(8,0.4,0.6) | |
9 вопрос |
(9,0.6,0.4) |
(9,0.8,0.2) |
(9,0.2,0.8) |
(9,0.2,0.8) |
(9,0.3,0.7) |
(9,0.7,0.3) |
(9,0.9,0.1) |
(9,0.2,0.8) | |
10 вопрос |
(10,0.2,0.8) |
(10,0.9,0.1) |
(10,0.2,0.8) |
(10,0.3,0.7) |
(10,0.4,0.6) |
(10,0.4,0.6) |
(10,0.8,0.2) |
(10,0.3,0.7) |
Далее следует таблица начальных априорных вероятностей для каждого исхода.
Я предполагаю, что пользователь, который проходит ЭС, имеет хотя бы общее представление о том, какой именно жанр музыки ему нравится, поэтому первоначальная вероятность ориентирована на молодеешь, поэтому у жанра Поп и Рэп, она немного выше:
Таблица 2. Таблица априорных вероятностей
|
0,1 |
0,1 |
0,1 |
0,1 |
0,1 |
0,2 |
0,2 |
0,1 |
Так как я являюсь экспертом своей экспертной системы, то имею право поставить априорные вероятности по своему усмотрению.
В дальнейшем код, написанный в Microsoft Visual Basic, будет извлекать необходимую для обработки информацию, чтобы затем экспертная система выбрала гипотезу с наибольшей вероятностью.
Априорная вероятность - вероятность исхода в случае отсутствия дополнительной информации. После первого вопроса, априорная вероятность становится апостериорной, которая в свою очередь дает сравнительной ранжирование всех возможных гипотез.
Формула Байеса, используемая при ответе «да» на вопрос: РАy = Py * P / (Py * P + Pn * (1 - P)); Формула Байеса, используемая при ответе «нет» на вопрос: РАn = (1 - Py) * P / ((1 - Py) * P + (1 - Pn) * (1 - P)). В этих формулах, Py – вероятность исхода при ответе «да», определенная экспертом, Pn – вероятность исхода при ответе «нет», P – априорная вероятность для первого вопроса, и апостериорная вероятность для последующих.
Итак, на рабочем листе Excel создано два листа.
1. Лист1 (Ответы) - лист, на котором будут записаны имена и фамилии, людей проходивших ЭС, ответы которые они давали на заданные вопросы, даты прохождения и результат для каждого пользователя;
2. Лист 2 (Экспертный лист)- этот лист содержит вероятности при ответе «да» на все вопросы при каждом исходе;
Я думаю, что необходимые данные, формулы, информация описаны довольно полно для того, чтобы перейти к следующему этапу.