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

Методы обучения в системе ODYSSEUS

Методы обучения, которые рассматривались в главе 20 (пространство версий и IDЗ), иногда называют методами, основанными на подобии (similarity-based). Реализация обучения на основе этих методов требует обработки больших объемов информации – позитивных и негативных примеров, – из которой извлекаются характерные свойства нового концепта.

Альтернативой таким методам являются методы, основанные на пояснениях (explanation-based), которые позволяют выполнить обобщение на основе единственного обучающего экземпляра. Это становится возможным, поскольку в таких методах процессом обобщения "руководят" знания, специфические для конкретной предметной области. Обучение, основанное на пояснениях, является дедуктивным или аналитическим, а не эмпирическим или индуктивным [Bergadano and Gunetti, 1996]. Иными словами, при такой методике описание нового концепта формируется в результате анализа предъявленного экземпляра в свете имеющихся фоновых знаний.

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

Ниже будут более подробно рассмотрены методика обучения на основе пояснений и возможность использования прецедентов для машинного обучения.

Термином обобщение на основе пояснений (EBGexplanation-based generalization) обозначается независимый от, предметной области метод использования знаний, специфических для предметной области, для контроля процесса обобщения по единственному обучающему экземпляру.

Использование метода EBG предполагает, что система располагает следующей информацией:

  • позитивным экземпляром обучающей выборки;
  • теорией предметной области;
  • определением концепта, который система должна "изучить".

Для формализации этих идей обычно используется язык логического программирования (см. главу 8). В частности, концепт, как правило, представляется в форме предиката, который характеризует то подмножество пространства объектов, которое нас интересует. Например, предикат сuр(Х) может представлять понятие "cuphood" (чашкообразность), которое определено в стиле языка PROLOG как сосуд малого объема (small), обладающий свойствами open (открытый), stable (устойчивый).

Напомним, что выражение: а:-b.,читается как "а истинно, если b истинно".

Тогда: cup(X):- small(X), stable(X), open(X).

Знания о предметной области должны включать описания условий, выполнение которых необходимо для того, чтобы объект можно было считать "устойчивым" (stable), например указано, что объект должен иметь плоское дно, определение свойства "открытый" (open) – например, объект должен иметь вогнутую форму, причем центр кривизны должен быть расположен выше основания.

В качестве экземпляра обучающей выборки укажем объект с плоским дном вогнутой формы, диаметр которого не превышает нескольких дюймов. Экземпляр должен "сопровождаться" пояснением, что указанные свойства вполне достаточны для представления понятия "cuphood". Образец обычно описывается некоторым количеством фундаментальных литералов (ground literals), например:

color(red, obj) .diameter(4, obj).
flat(bottom, obj) .concave(top, obj).

Эти литералы представляют определенный объект obj красного цвета (red) с плоским дном (flat bottom), вогнутый, причем центр кривизны располагается сверху (concave top). Знания о предметной области, представленные ниже, позволяют распознать этот экземпляр как представляющий концепт сир:

small(X): – diameter(Y, X), Y < 5.
stable(X): – flat(bottom, X).
open(X): – concave(top, X).

Обратите внимание – то, что объект obj является чашкой, логически следует из этого фрагмента знаний. Наше пояснение, почему obj является чашкой, фактически есть доказательство. Этим завершается фаза пояснений в EBG.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.