Алгоритмы обучения экспертных систем
Изложим теперь алгоритмы обучения экспертной системы в общем виде. Алгоритм обучения для системы, принимающей решения по максимальной вероятности, выглядит следующим образом:
1. Провести наблюдения на объекте, который должен быть классифицирован и получить .
2. Вычислить значение (4.7):
для каждой категории. На первом шаге все bi для всех категорий и, следовательно, все y равны 0, однако следует сохранить этот этап и на первом шаге для единообразия алгоритма.
3. Найти такую категорию k, для которой yk имеет наибольшее значение.
4. Если такая категория есть и объект действительно к ней принадлежит, то такая классификация корректна. Перейти к п. 6.
5. Если указанная попытка не удалась, то проводим следующую модификацию: bik = bik + xi для той категории k, куда, согласно классификации, должен был попасть объект; bir = bir + xi для всех категорий r, в которые данный объект не должен был попасть, но для которых yr ³ yk.
6. Провести очередное наблюдение на объекте и перейти к п. 2.
Система считается обученной, если процент правильных классификаций удовлетворяет пользователя либо если новые примеры для обучения перестают влиять на точность классификации.
Алгоритм обучения правил системы, принимающей решения по наименьшему расстоянию, будет следующим:
1. Провести наблюдения на объекте, который должен быть классифицирован, и получить .
2. Вычислить значение
(4.8)
для каждой категории, где Midij – среднее значение для j гипотезы, а хi max j и хi min j – соответственно максимальное и минимальное значение. На первом шаге все средние, максимальные и минимальные значения для всех категорий равны 0 (если не принимают какие-то отличные от 0 значения в соответствии с опытом разработчика) и, следовательно, все yj равны 0, однако этот этап сохраняется и на первом шаге для единообразия алгоритма.
3. Найти такую категорию (гипотезу) k, для которой yk имеет наименьшее значение.
4. Если такая категория есть и объект действительно к ней принадлежит, то такая классификация проведена успешно. Корректировка проводится одинаково как в случае успешной, так и в случае неуспешной классификации. Нk – категория, которая имела место на объекте в данном испытании. Пусть Nk – число корректировок категории Нk (начальное значение Nk равно 1). Тогда
. (4.9)
5. Провести очередное наблюдение на объекте и перейти к п. 2.
Система считается обученной, если процент правильных классификаций удовлетворяет пользователя либо если новые примеры для обучения перестают влиять на точность классификации.
Рассмотрим подробнее методику обучения экспертной системы. Для периода обучения можно выделить несколько этапов. На первом этапе определяется набор гипотез технического состояния системы и параметров, основываясь на которых система будет выносить заключение о вероятности той или иной гипотезы. Набору гипотез и параметров следует уделить особое внимание, поскольку в процессе обучения ни то ни другое нельзя изменять. В общем случае будем руководствоваться следующими соображениями. Поскольку мы создаем экспертную систему для диагностики, то в качестве предельного случая следует задать набор гипотез, совпадающих с полным набором всех возможных как однократных, так и кратных неисправностей. Как правило, такой полный перечень гипотез на практике неосуществим, поэтому в качестве оптимального варианта примем набор гипотез, совпадающий с полным набором всех возможных однократных неисправностей блоков системы.
При выборе списка параметров, по которым экспертная система будет выносить решение о наличии той или иной неисправности, следует учесть, что для сложной технической системы, особенно при наличии в ней аналоговых узлов, очень трудно заранее предсказать, какие именно параметры дадут экспертной системе возможность составить правильное заключение. Поэтому в список параметров следует вводить возможно большее их количество, при этом желательно в качестве параметров экспертной системы принимать не только значения физических характеристик диагностируемой системы, но и соотношения между ними. Процесс выбора параметров экспертной системы неформализуем, однако именно от него в первую очередь зависит успешный исход всего проекта.
После того как закончен этап выбора гипотез и параметров, следует этап обучения экспертной системы. На этапе обучения система устанавливает для себя правила, которыми она будет руководствоваться в рабочем режиме. Понятно, что при большом количестве гипотез количество наблюдений, которые необходимы системе для выведения правил, неограниченно растет. Для ускорения процесса обучения можно воспользоваться двумя способами.
Первый способ заключается в построении модели, математической или физической, что позволит вводить неисправности не в естественном темпе их появления в системе, а непосредственно одну за другой. Если модель построить не удается, но диагностируемая система позволяет временно выводить себя из рабочего режима и вносить требуемые неисправности, то время обучения также может быть сокращено.
Алгоритм обучения утверждает, что система считается обученной, если процент правильных классификаций удовлетворяет пользователя либо если новые примеры для обучения перестают влиять на точность классификации. Очевидно, что второй вариант является менее желательным, но в этом случае следует определить, какая же вероятность правильного ответа была достигнута.
Для определения момента конца обучения воспользуемся аппаратом математической статистики.
Пусть событие А – это правильный ответ экспертной системы. Будем оценивать вероятность p события А по его частоте p* в n независимых опытах. Величина Х будет принимать значение 1, если событие появилось (экспертная система дала правильный ответ), и 0 в противном случае.
Частота события находится по следующей формуле:
. (4.10)
В качестве точечной оценки для неизвестной вероятности p разумно принимать частоту p*.При этом возникает вопрос о построении доверительного интервала для вероятности p.
Для вероятности p доверительный интервал Ib = (p1, p2), где b – вероятность того, что истинная вероятность попадет в указанный интервал.
Выбор формулы для подсчета доверительного интервала зависит от n. Если число опытов не превосходит 100, то p1 и p2 находятся по следующим формулам:
; (4.11)
, (4.12)
где tb – коэффициент Стьюдента, взятый из таблицы для заданного b.
Для больших n (порядка сотен) можно пользоваться следующими формулами:
, (4.13)
. (4.14)
Приведем значения коэффициентов Стьюдента в зависимости от заданной вероятности (табл. 4.3).
Таблица 4.3
b | tb | b | tb | b | tb | b | tb |
0,80 | 1,282 | 0,86 | 1,475 | 0,91 | 1,694 | 0,97 | 2,169 |
0,81 | 1,310 | 0,87 | 1,513 | 0,92 | 1,750 | 0,98 | 2,325 |
0,82 | 1,340 | 0,88 | 1,554 | 0,93 | 1,810 | 0,99 | 2,576 |
0,83 | 1,371 | 0,89 | 1,597 | 0,94 | 1,880 | 0,9973 | 3,000 |
0,84 | 1,404 | 0,90 | 1,643 | 0,95 | 1,960 | 0,999 | 3,290 |
0,85 | 1,439 | 0,96 | 2,053 |
Из всего вышеприведенного следует общий алгоритм обучения экспертной системы:
1. В качестве исходных данных к проекту задаемся вероятностью правильного ответа экспертной системы и доверительной вероятностью.
2. Определяем набор гипотез и параметров экспертной системы. Если это возможно, строим модель диагностируемой системы.
3. Проводим очередное испытание экспертной системы: предъявляем текущий набор параметров и получаем выбранную экспертной системой гипотезу.
4. В соответствии с методом обучения экспертная система проводит модификацию правил.
5. Увеличивая количество испытаний n на единицу, с учетом общей частоты правильных ответов находим p1 и p2. Если p1 выше заданной вероятности правильного ответа, считаем, что процесс обучения закончен, если нет, переходим к п. 3. Однако возможно возникновение такой ситуации, когда новые примеры перестали влиять на точность классификации. Это значит, что принятый на этапе 2 набор параметров не является удачным. Следует его расширить, а возможно, и ввести в систему новые датчики, т.е. вернуться к п. 2.
Для улучшения набора параметров логично воспользоваться информацией, накопленной экспертной системой в процессе обучения. Фактически экспертная система формирует таблицу функций неисправностей (табл. 4.4).
Таблица 4.4
Параметр | Н1 | Н2 | … | НN |
р11 | р12 | р1N | ||
р21 | р22 | р2N | ||
… | ||||
М | рМ1 | рМ2 | рМN |
В этой таблице рij обозначает значение параметра i при наличии гипотезы Нj. Анализ этой таблицы позволит выявить гипотезы, которые экспертная система не в состоянии различить. Для таких гипотез значения столбцов таблицы функций неисправностей будут совпадать. Следовательно, разумно дополнить экспертную систему новыми параметрами, которые помогут снять это совпадение.
Предположим, что процесс обучения экспертной системы завершился успешно и вероятность правильного ответа превышает заданную. Однако мы уже видели, что вероятность правильного ответа все равно никогда не достигнет единицы. Следовательно, в большинстве случаев будет разумно выдавать не одну подозреваемую неисправность, для которой вероятность возникновения наиболее велика, а несколько подозреваемых неисправностей с наибольшими вероятностями.
Таким образом, мы приходим к нечеткому множеству неисправностей N, характеристическая функция mА(х) для которых будет представлять собой вероятность того, что на данный момент времени в системе имеется именно данная неисправность, т.е. в нечеткое множество будут входить принятые гипотезы со своими коэффициентами принадлежности к множеству всех возможных гипотез:
.
В соответствии с математическим аппаратом значения рi должны находиться на интервале (0;1). Покажем, как преобразовать значения гипотез в вероятности для обоих методов построения правил экспертной системой:
1. Для экспертной системы, ориентированной на максимальную вероятность, имеем набор значений yk. В случае если среди полученных значений имеются отрицательные, складываем полученные значения с yk min. Затем делим эти коэффициенты на их общую сумму.
2. Для экспертной системы, принимающей решения на основании выбора по наименьшему расстоянию, методика определения коэффициентов характеристической функции будет иная, поскольку, чем меньше подсчитанное значение гипотезы, тем более она вероятна. В соответствии с алгоритмом здесь отрицательные значения yk не могут быть получены.
Далее делим значения для гипотез на сумму значений гипотез:
. (4.15)
После этого преобразуем полученные значения по формуле
. (4.16)
Таким образом, нечеткое множество подозреваемых неисправностей может быть сформировано для обоих вариантов построения экспертной системы.
Поскольку имеется два способа построения решающих правил для экспертной системы, невозможно заранее предсказать, какой из них окажется лучшим. Однако если есть возможность довольно точно заранее оценить средние значения параметров, то можно ожидать, что система, обучаемая по средним значениям, станет работоспособной быстрее.
В общем случае целесообразно построить оба варианта системы, а после обучения выбрать ту, которая лучше себя ведет.
Рассмотрим оба принципа обучения на конкретном примере экспертной системы технического диагностирования (ЭСТД) такого сложного объекта, как АСУ ТП «интеллектуального здания», в состав которой входят персональные компьютеры, интеллектуальные датчики, исполнительные устройства автоматики, регуляторы и т.д. Подобная ЭСТД сможет принимать решения об исправности или неисправности тех или иных узлов АСУ ТП.
4.4.5. АСУ «интеллектуальным зданием»
Современное офисное здание должно способствовать продуктивной деятельности организации за счет эффективного управления целым комплексом подсистем информационного и инженерного обеспечения.
В основу идеологии «интеллектуального здания» заложено максимальное использование возможностей современных средств информационных технологий с целью повышения экономичности, безопасности, а также надежностных, эксплуатационных и экономических показателей жизнедеятельности здания.
К информационному и техническому обеспечению современного административно-производственного здания, предназначенного для обеспечения деятельности предприятия со сложным производственным процессом, предъявляются повышенные требования.
Система автоматизации управления (интеллектуализации) зданием может быть отнесена к классу интегрированных диспетчерских систем. На пульт диспетчера (оператора здания) поступает в необходимой форме информация о состоянии различного оборудования и подсистем здания. На основании анализа информации оператор выполняет необходимые действия, сведения о направленности и содержании которых он получает с экрана пульта. Наряду с этим оператору могут быть предоставлены широкие возможности для контроля за выделенным множеством параметров жизнеобеспечения здания, а также необходимые функции управления.
Помимо функций контроля и управления система должна обеспечивать формирование в необходимой форме отчетов, статистик, а также интегрированных показателей жизнедеятельности здания (энергопотребление и т.д.).
Топологическая структура системы представлена на рис. 4.52. Она включает в себя ряд подсистем, а также источники информации о состоянии отдельных элементов здания.
Рис. 4.52. Топологическая структура АСУ ТП «интеллектуального здания»
В качестве примера для демонстрации методики построения самообучаемой экспертной системы возьмем подсистему горячего водоснабжения этажа, связанную по кольцу сетью с центром управления здания (рис. 4.53).
Рис. 4.53. Структурная схема подсистемы горячего водоснабжения этажа
Для каждого помещения этажа на трубопроводе установлены показывающие датчики давления, температуры и водосчетчик.
Кроме того, общими для всех этажей являются два водоподогревателя I и II ступеней, пять насосов, регулятор температуры (РТ) и связанный с ним датчик температуры (ДТ). Неизрасходованная потребителем горячая вода поступает на вход водоподогревателя второй ступени.
Подсистема контролирует температуру горячей воды на выходе водоподогревателя второй ступени и давление горячей воды в циркуляционном трубопроводе.
Управление происходит следующим образом. Если температура ниже нормы, то необходимо увеличить расход сетевой воды во второй ступени, если выше нормы, то уменьшить расход. Если при проделанных операциях температура горячей воды не станет нормальной, то подается сигнал аварии.
Применительно к АСУ ТП xi – это совокупность параметров системы, полученных при замере этих параметров в какой-либо конкретный момент времени, bi – это заложенные в экспертную систему на основании опыта или гипотетических заключений коэффициенты для вычисления окончательного решения.
Отсюда видно, что основная сложность при разработке экспертной системы – определение коэффициентов bi. Достаточно часто невозможно предварительно с помощью математических методов промоделировать работу системы и определить, какими будут параметры при отказе исследуемого узла. В этом случае существует возможность построения обучаемой экспертной системы, когда система по известным xi и y сама определяет bi.
4.4.6. Система, принимающая решения по максимальной вероятности
Для большей наглядности обучающий алгоритм будем иллюстрировать на выделенных узлах подсистемы горячего водоснабжения АСУ ТП, структурная схема которых приведена на рис. 4.54.
Рис. 4.54. Структурная схема узла подсистемы горячего водоснабжения
Горячая вода поступает в два помещения, при этом на трубопроводах установлены для первого помещения водосчетчик 1, датчик температуры 2 и датчик давления 5, для второго помещения водосчетчик 3, датчик температуры 4 и датчик давления 6. Показания всех счетчиков выведены на пульт оператора. В системе здания присутствуют общие водонагреватели, насосы, а также регулятор температуры и связанный с ним датчик температуры. Поскольку температура и расход воды непосредственно связаны алгоритмом управления, контролировать показания водосчетчиков и датчиков температуры на этаже можно по показаниям общего датчика температуры и расхода воды.
Предположим, что может произойти отказ одного любого из датчиков 1, 2, 3 и 4 (чтобы не усложнять пример). Тогда при выявлении неполадок в системе горячего водоснабжения следует выбрать одну из четырех гипотез:
Н1 – неисправен водосчетчик 1;
Н2 – неисправен датчик температуры 2;
Н3 – неисправен водосчетчик 3;
Н4 – неисправен датчик температуры 4.
Опираться мы будем на следующую систему наблюдений:
Х1 – совпало ли показание датчика температуры 2 с показаниями общего датчика температуры, откорректированного по расходу воды?
Х2 – совпало ли показание датчика температуры 4 с показаниями общего датчика температуры, откорректированного по расходу воды?
Х3 – совпало ли показание водосчетчика 1 с показаниями общего датчика температуры, откорректированного по расходу воды?
Х4 – совпало ли показание водосчетчика 2 с показаниями общего датчика температуры, откорректированного по расходу воды?
Х5 – соответствуют ли показания водосчетчиков общему расходу воды в системе?
Значением наблюдения будет 1, если ответ на соответствующий вопрос утвердительный, и 0, если ответ отрицательный.
Эти 5 чисел (М = 5) и будут выступать как хi в формуле (4.7). Относительно коэффициентов bi сложно что-либо сказать на начальном этапе обучения, поэтому их принимают равными нулю.
Напомним алгоритм выработки правил (рис. 4.55).
Проиллюстрируем данный алгоритм обучения на примере.
Пусть неисправен водосчетчик 1 (однако нам пока неизвестно, что имела место именно эта неисправность). Тогда (предположительно, а в процессе обучения реальной системы значения замеров будут известны точно)
Х1 = 0; Х2 = 1; Х3 = 0; Х4 = 1; Х5 = 1.
Вычисляем y для каждой гипотезы:
Н1: y1 = b11x1 + b21x2 + b31x3 + b41x4 + b51x5 = 0;
Н2: y2 = b12x1 + b22x2 + b32x3 + b42x4 + b52x5 = 0;
Н3: y3 = b13x1 + b23x2 + b33x3 + b43x4 + b53x5 = 0;
Н4: y4 = b14x1+ b24x2 + b34x3 + b44x4+ b54x5 = 0.
Рис. 4.55. Алгоритм выработки правил для системы, принимающей решения по максимальной вероятности
Так как все y одинаковы, неисправность проклассифицировать нельзя. Поэтому ремонтной бригадой проводятся работы по обнаружению причины неисправности (и естественно, ее устранению). После этого мы узнаем, какая из гипотез оказалась правильной, и можем передать это знание экспертной системе. В соответствии с алгоритмом для той категории, в которую должен был попасть объект (категория Н1), проводится модификация коэффициентов b:
b11 = b11 + x1 = 0; b21 = b21 + x2 = 1;
b31 = b31 + x3 = 0; b41 = b41 + x4 = 1;
b51 = b51 + x5 = 1.
Для тех категорий, в которые объект не должен был попасть, но у которых yk больше, чем y правильной категории или равен ему (в данном случае, это категории Н2, Н3 и Н4), проводится другая модификация коэффициентов b.
Для категории Н2: b12 = b12 – x1 = 0; b22 = b22 – x2 = –1; b32 = b32 – x3 = 0; b42 = b42 – x4 = –1; b52 = b52 – x5 = –1.
Для категории Н3: b13 = b13 – x1 = 0; b23 = b23 – x2 = –1; b33 = b33 – x3 = 0; b43 = b43 – x4 = –1; b53 = b53 – x5 = –1.
Для категории Н4: b14 = b14 – x1 = 0; b24 = b24 – x2 = –1; b34 = b34 – x3 = 0; b44 = b44 – x4 = –1; b54 = b54 – x5 = –1.
Первый шаг закончен.
Возникла очередная неисправность – начался второй шаг обучения.
Снова вычисляем y для каждой гипотезы с новыми коэффициентами. Пусть на этот раз неисправен датчик температуры 2. Тогда результаты наблюдений будут (предположительно) следующими:
Х1 = 0; Х2 = 1; Х3 = 0; Х4 = 1; Х5 = 0.
Для Н1 y1 = 0 × 0 + 1 × 1 + 0 × 0 + 1 × 1 + 1 × 0 = 2;
Для Н2 y2 = 0 × 0 + (–1) × 1 + 0 × 0 + (–1) × 1 + (–1) × 0 = –2;
Для Н3 y3 = 0 × 0 + (–1) × 1 + 0 × 0 + (–1) × 1 + (–1) × 0 = –2;
Для Н4 y4 = 0 × 0 + (–1) × 1 + 0 × 0 + (–1) × 1 + (–1) × 0 = –2.
Получено максимальное значение y для гипотезы Н1, а должно быть – для гипотезы Н2. Объект снова не попал в нужную категорию, и модификацию коэффициентов приходится повторить.
Для категории Н2: b12 = b12 + x1 = 0 + 0 = 0; b22 = b22 + x2 = (–1) + 1 = 0; b32 = b32 + x3 = 0 + 0 = 0; b42 = b42 + x4 = (–1) + 1 = 0; b52 = b52 + x5 = (–1) + 0 = = –1.
Для категории Н1: b11 = b11– x1 = 0 – 0 = 0; b21 = b21 – x2 = 1 – 1 = 0; b31 = = b31 – x3 = 0 – 0 = 0; b41 = b41 – x4 = 1 – 1 = 0; b51 = b51 – x5 = 1 – 0 = 1.
Для категории Н3: b13 = b13 – x1 = 0 – 0 = 0; b23 = b23 – x2 = (–1) –1 = –2; b33 = b33 – x3 = 0 – 0 = 0; b43 = b43 – x4 = (–1) – 1 = –2; b53 = b53 – x5 = (–1) – 0 = = –1.
Для категории Н4: b14 = b14 – x1 = 0 – 0 = 0; b24 = b24 – x2 = (–1) –1 = –2; b34 = b34 – x3 = 0 – 0 = 0; b44 = b44 – x4 = (–1) – 1 = –2; b54 = b54 – x5 = (–1) – 0 = = –1;
Второй шаг окончен.
Теперь сделаем третий шаг. Очередная неисправность снова оказалась неисправностью водосчетчика 1. В этом случае, как уже упоминалось,
Х1 = 0; Х2 = 1; Х3 = 0; Х4 = 1; Х5 = 1.
Подсчитаем значения y для всех гипотез, используя последние модификации коэффициентов b.
Для Н1: y1 = 0 × 0 + 0 × 1 + 0 × 0 + 0 × 1 + 1 × 1 = 1;
Для Н2: y2 = 0 × 0 + 0 × 1 + 0 × 0 + 0 × 1 + (–1) × 1 = –1;
Для Н3: y3 = 0 × 0 + (–2) × 1 + 0 × 0 + (–2) × 1 + (–1) × 1 = –5;
Для Н4: y4 = 0 × 0 + (–2) × 1 + 0 × 0 + (–2) × 1 + (–1) × 1 = –5.
Наибольшее значение y1 указывает на гипотезу Н1, что является правильным результатом. Поэтому модификация коэффициентов не проводится.
Пусть для нашей экспертной системы заданная вероятность правильного ответа – 0,7 с 90%-м доверительным интервалом. Предположим, что мы провели 100 шагов обучения. Подсчитаем, с какой вероятностью мы можем доверять решениям экспертной системы. Пусть экспертная система дала правильный ответ в 78 случаях из 100. Тогда p* =0,78. Определим 90%-й доверительный интервал для вероятности правильного ответа экспертной системы. Просчитаем по формулам (4.11), (4.12) (поскольку n = = 100) p1 и p2:
p1 = 0,705; p2 = 0,840; Ib = (0,705; 0,840).
Таким образом, с вероятностью 0,9 вероятность правильного ответа экспертной системы будет находиться в границах от 0,705 до 0,840. Пусть для нашей экспертной системы заданная вероятность правильного ответа – 0,7. Следовательно, на данном шаге обучение может быть закончено.
Получим нечеткое множество неисправностей для текущего шага работы экспертной системы, где коэффициенты принадлежности определяют вероятность появления данной гипотезы. Фактически, нам надо для каждой гипотезы определить ее коэффициент принадлежности:
1. На данном шаге были получены следующие значения: Н1 = 1; Н2 = = –1; Н3 = –5; Н4 = –5.
2. Складываем полученные значения с Нmin. Получаем следующие коэффициенты: Н1 = 6; Н2 = 4; Н3 = 0; Н4 = 0.
3. Затем делим эти коэффициенты на их общую сумму. В данном случае .
Следовательно, получим вероятности появления каждой гипотезы на текущем шаге, т.е. коэффициенты принадлежности каждой гипотезы к множеству возможных неисправностей АСУ ТП:
p1 = 0,6; p2 = 0,4; p3 = 0; p4 = 0.
Тогда нечеткое множество гипотез о возможных неисправностях АСУ ТП для диагностики системы будет выглядеть следующим образом:
N = {(Н1/0,6), (Н2/0,4), (Н3/0), (Н4/0)},
т.е. гипотеза Н1 имеет место с вероятностью 0,6; гипотеза Н2 – с вероятностью 0,4; гипотеза Н3 – с вероятностью 0; гипотеза Н4 также с вероятностью 0.