Иллюстрированный самоучитель по введению в экспертные системы

         

Обучение в системе ODYSSEUS


Способ обучения, который используется в системе ODYSSEUS, существенно отличается от рассмотренных в главе 20. При разработке этой системы преследовалась цель наделить ее способностью расширять существующую неполную базу знаний, а не включать в базу знаний новые понятия на основании анализа обучающей выборки большого объема. Система обучается, "наблюдая" за тем, как эксперт решает задачу, примерно так, как прилежный ученик постигает таинства мастерства учителя, стоя у него за спиной.

Основной вид действий, которые выполняются экспертом в процессе решения проблемы диагностики, — определение значений разнообразных переменных, т.е. характеристик пациента, таких как температура и т.п. Программа, наблюдая за работой эксперта, расширяет свои знания, пытаясь понять, почему эксперту понадобился ответ на тот или иной вопрос.

Таким образом, концепция процесса обучения в системе ODYSSEUS очень близка к формулированию пояснений. Фактически в контексте работы этой системы смысл термина "пояснение" отличается как от общепринятого, так и от того, какой мы придавали ему в главе 16. В ODYSSEUS пояснение — это вид доказательства, которое несет информацию о том, почему эксперт задает определенный вопрос на конкретном этапе решения проблемы диагноза. Смысл определенного вопроса связан как с текущим состоянием проблемы, так и с той стратегией, которой пользуется эксперт. Поэтому, "уразумев", почему был задан вопрос, программа как бы постигает стратегию действий эксперта.

Если программа располагает исчерпывающими знаниями, она способна сформулировать вопрос (а точнее, высказывание, которое стоит за ним) как логическое следствие текущего состояния проблемы, стратегических знаний, заключенных в метаправилах, знаний о предметной области и одной из текущих целей.

Например, если задан вопрос askuser(temprature), то обратный просмотр приведет нас к ближайшей цели goal (f indout (temperature)).

Но эта цель, в свою очередь, сформирована целью более высокого уровня, например желанием применить определенное правило или произвести разделение гипотез.
Наличие в текущей ситуации такой цели высокого уровня объясняет, почему была сформирована цель более низкого уровня, а следовательно, почему был задан определенный вопрос. Эта обратная цепочка рассуждений от подцелей к целям выполняется обычными средствами языка PROLOG или даже MYCIN, но обратите внимание — эти рассуждения выполняются на метауровне, т.е. на уровне, который определяет, почему программа работает именно так, а не иначе. Применяемая в системе ODYSSEUS стратегия обучения "из-за спины" включает три основные фазы.

  • Определение изъяна в базе знаний. Такой изъян обнаруживает себя, когда не удается сформировать объяснения действиям эксперта, используя описанный выше метод обратного просмотра. Неудача такого рода служит сигналом, что пора приступить к обучению.

  • Формирование предложений для внесения изменения в базу знаний. Если не удалось сформировать доказательство (пояснение в терминологии ODYSSEUS), значит, можно предположить, что в знаниях о предметной области или о состоянии проблемы имеется какой-то изъян. Если это изъян в знаниях о предметной области, можно временно добавить в базу подходящую фразу и посмотреть, будет ли после этого сформировано доказательство. Если же изъян существует в знаниях о состоянии проблемы, программа должна поискать другое доказательство.

  • Внесение изменения в базу знаний. Метод, который используется в системе ODYSSEUS для внесения изменений в базу знаний, называется "процедурой подтверждения принятого решения". Если не вдаваться в детали, то при этом требуется, чтобы разработчик системы сформировал процедуру, которая будет обрабатывать новые правила, определив, например, на сколько сократится количество конкурирующих гипотез в результате применения правила.

    Детали реализации перечисленных фаз выходят за рамки обсуждения в данной книге, но основные принципы довольно очевидны. В применяемой методике экземпляр обучающей выборки представляет собой отдельную пару атрибут—значение, но в процессе сеанса обучения может возникнуть множество таких пар, так как программа пытается объяснить, почему она придает значение каждому из этих экземпляров.


    Если сформировать объяснение не удается, программа предпринимает попытку модифицировать базу знаний.

    Для модификации правил или добавления новых правил в базу знаний программа ODYSSEUS использует также в примитивном виде и метод CBL. Программа располагает библиотекой прецедентов, каждый из которых содержит и соответствующий правильный диагноз. Эту библиотеку программа может использовать для тестирования. Если при тестировании окажется, что сформирован неверный диагноз, программа назначает использованным при этом правилам нечто вроде штрафов.

    Предпосылки правил, которые привели к ошибочному заключению, "ослабляются", т.е. сужается зона их" применения. Если же применение правил подтвердило вынесенный ранее правильный диагноз, то соответствующие предпосылки "усиливаются". В этой процедуре есть много общего с тем методом, который используется в системе Meta-DENDRAL, описанной в главе 20. Конечно, этот метод модификации правил не гарантирует решения проблемы, но он может пригодиться для настройки новых правил.


    Содержание раздела