Главная arrow книги arrow Копия Глава 19. Применение знаний в обучении arrow Индуктивное логическое программирование
Индуктивное логическое программирование

В индуктивном логическом программировании (Inductive Logic Programming — ILP) объединяются индуктивные методы с мощными представлениями в логике первого порядка, и оно в основном сосредоточивается на представлении теорий в виде логических программ. Это научное направление получило широкую известность по трем причинам. Во-первых, индуктивное логическое программирование лежит в основе строгого подхода к решению общих задач индуктивного обучения на основе базы знаний. Во-вторых, в рамках этого направления созданы полные алгоритмы логического вывода общих теорий в логике первого порядка с использованием примеров; это означает, что данные алгоритмы могут успешно применяться для обучения в тех проблемных областях, в которых использование алгоритмов на основе атрибутов связано с определенными затруднениями. В качестве соответствующего примера можно привести применение методов ILP в изучении того, как сворачиваются белковые структуры (рис. 19.7). Трехмерную конфигурацию молекулы белка невозможно представить с помощью какого-либо приемлемого способа в виде множества атрибутов, поскольку конфигурация молекулы неявно обусловлена связями между объектами, а не атрибутами отдельного объекта. Одним из языков, подходящих для описания таких связей, является логика первого порядка. В-третьих, с помощью методов индуктивного логического программирования могут вырабатываться гипотезы, которые являются (относительно) простыми для восприятия людьми. Например, перевод на естественный язык правила, приведенного в подписи к рис. 19.7, может уточняться и подвергаться критике биологами, которые работают в данной области. Это означает, что системы индуктивного логического программирования могут участвовать в научном цикле экспериментирования, выработки гипотез, обсуждения и опровержения. Такое участие невозможно при использовании таких систем, которые вырабатывают классификаторы в виде "черных ящиков", например нейронных сетей.

Рис. 19.7. Пример решения задачи обучения: положительный и отрицательный примеры применения понятия "восходящей и нисходящей связки из четырех спиралей" в проблемной области сворачивания белка (а), (б). Пример каждой структуры кодируется в виде логического выражения, состоящего примерно из 100 конъюнктов, такого как На основании этих описаний и таких классификаций, как Fold(Four-Helical-Up-And-Down-Bundle,D2mhr), система индуктивного логического программирования Progol [1098] сформировала по методу обучения следующее правило:

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

Белок Ρ относится к классу методов сворачивания "связка из четырех восходящих и нисходящих спиралей", если он включает длинную спираль h1 во второй структурной позиции между позициями 1 и 3 и если спираль h1 находится рядом со второй спиралью