Метод обучения по индукции.

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

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

Как уже было сказано, индуктивный вывод — это вы­вод из заданных данных объясняющего их общего правила. Например, пусть известно, что есть некото­рый многочлен от одной переменной. Давайте посмот­рим, как выводится f(х), если последовательно за­даются в качестве данных пары значений (0, f(0)), (1, f(1)), .... Вначале задается (0, 1), и естественно, что есть смысл вывести постоянную функцию f(х)=1. Затем задается (1, 1), эта пара удовлетворяет предложенной функции f{х)= 1. Следовательно в этот момент нет необходимости менять вывод. Наконец, задается (2, 3), что плохо согласуется с нашим выводом, поэтому откажемся от пего и после несколь­ких проб и ошибок выведем новую функцию f(х)==х2—х+1, которая удовлетворяет всем задан­ным до сих пор фактам (0, 1), (1, 1), (2,3). Далее мы убедимся, что эта же функция удовлетворяет фактам (3, 7), (4, 13), (5, 21) ..., поэтому нет необ­ходимости менять этот вывод. Таким образом, из последовательности пар переменная-функция можно вывести многочлен второй степени. Грубо говоря, такой метод вывода можно назвать индуктивным.

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

Для точного определения индуктивного вывода необходимо уточнить:

1) множество правил—объ­ектов вывода,

2) метод представления правил,

3) способ показа примеров,

4) метод вывода и

5) критерий правильности вывода.

В качестве правил—объектов вывода—можно рассматривать главным образом индуктивные функ­ции, формальные языки, программы и т. п. Кроме того, эти правила могут быть представлены в виде машины Тьюринга для вычисления функций, грам­матики языков, операторов Пролога и другим спо­собом. Машина Тьюринга—это математическая модель компьютера, ее в принципе можно считать про­граммой. В случае когда объектом вывода является формальный язык, он сам определяет правила, а его грамматика — метод представления правил, поэтому говорят о грамматическом выводе.

Для показа примеров функции f можно использо­вать последовательность пар (х,f(х)) входных и вы­ходных значений так, как указано выше, последовательность действий машины Тьюринга, вычисляющей и другие данные. Задание машине выводов пары входных и выходных значений (х, f(х)) функции f соответствует заданию системе автоматического син­теза программ входных значений х и выходных зна­чений f(х), которые должны быть получены програм­мой вычисления f в ответ на х. В этом смысле авто­матический синтез программ по примерам также можно считать индуктивным выводом функции f. Формальные языки — это множество слов; поэтому, например, для языка L можно рассматривать _ва типа слов, принадлежащих и не принадлежащих этому языку. Первые назовем положительными, а вторые — отрицательными данными. Другими слова­ми, есть два способа показа примеров формального языка: с помощью положительных и отрицательных данных. Когда объектом служат сами программы, тогда то же самое можно говорить о функциях языка Лисп, но для Пролога показ примеров осуществляется в виде фактов. Например, (3>4, истина), (2<=1, ложь). В этом случае положительным данным соот­ветствуют данные с атрибутом «истина», а отрица­тельным — данные с атрибутом «ложь».

Вывод реализуется благодаря неограниченному повторению основного процесса

запрос входных данных -> предположение -> выходные данные.

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

Учитывая, что индуктивный вывод, как уже было отмечено, это неограниченно продолжающийся про­цесс, критерием правильности вывода, как правило, считают понятие идентификации в пределе. Это поня­тие введено Голдом, оно используется почти всегда в теории индуктивных выводов. Говорят, что машина вывода М идентифицирует в пределе правилоR, если при показе примеров К последовательность выходных данных, генерируемых М, сходится к некоторому представлению т, а именно: все выходные данные, на­чиная с некоторого момента времени, совпадают с т, при этом т называют правильным представлением К.. Кроме того, говорят, что множество правил Г позво­ляет сделать индуктивный вывод, если существует некоторая машина выводов М, которая идентифици­рует в пределе любое правило К из множества Г. Обратите внимание на то, что слова «позволяет сде­лать индуктивный вывод» не имеют смысла для един­ственного правила, а относятся только к множеству правил.

Обучение по аналогии.

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

Выводы по аналогии - один из важных объектов исследования искусственного интеллекта, наиболее интересные результаты здесь получены П. Уинстоном. Он использует выводы по аналогии, основываясь на следующей гипотезе: «Если две ситуации подобны по нескольким признакам, то они подобны и еще По одному признаку». Подобие двух ситуаций распознается путем обнаружения наилучших совпадений по наиболее важным признакам.

Аналогия—это метод выводов, при которых обнару­живается подобие между несколькими заданными объектами; благодаря переносу фактов и знаний, справедливых для одних объектов, на основе этого подобия на совсем другие объекты либо определяется. способ решения задач, либо предсказываются неиз­вестные факты и знания. Следовательно, когда чело­век сталкивается с неизвестной задачей, он на первых порах использует этот естественный метод вывода.

Наши рекомендации