Метод обучения по индукции.
Среди всех форм обучения необходимо особо выделить обучение на основе выводов по индукции - это обучение с использованием выводов высокого уровня, как и при обучении по аналогии. В процессе этого обучения путем обобщения совокупности имеющихся данных выводятся общие правила. Возможно обучение с преподавателем, когда входные данные задает человек, наблюдающий за состоянием обучающейся системы, и обучение без преподавателя, когда данные поступают в систему случайно. И в том и в другом случае выводы могут быть различными, они имеют и различную степень сложности в зависимости от того, задаются ли только корректные данные или в том числе и некорректные данные и т. п. Так или иначе, обучение этой категории включает открытие новых правил, построение теорий, создание структур и другие действия, причем модель теории или структуры, которые следует создать, заранее не задаются, поэтому их необходимо разработать так, чтобы можно было объяснить все правильные данные и контрпримеры.
Индуктивные выводы возможны в случае, когда представление результата вывода частично определяется из представления входной информации. В последнее время обращают на себя внимание программы генерации программ по образцу с использованием индуктивных выводов.
Как уже было сказано, индуктивный вывод — это вывод из заданных данных объясняющего их общего правила. Например, пусть известно, что есть некоторый многочлен от одной переменной. Давайте посмотрим, как выводится 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, если при показе примеров К последовательность выходных данных, генерируемых М, сходится к некоторому представлению т, а именно: все выходные данные, начиная с некоторого момента времени, совпадают с т, при этом т называют правильным представлением К.. Кроме того, говорят, что множество правил Г позволяет сделать индуктивный вывод, если существует некоторая машина выводов М, которая идентифицирует в пределе любое правило К из множества Г. Обратите внимание на то, что слова «позволяет сделать индуктивный вывод» не имеют смысла для единственного правила, а относятся только к множеству правил.
Обучение по аналогии.
Приобретение новых понятий возможно путем преобразования существующих знаний, похожих на те, которые собираются получить. Это важная функция, которую называют обучением на основе выводов по аналогии или просто обучением по аналогии. В нашей жизни много примеров, когда новые понятия или технические приемы приобретаются с помощью аналогии
Выводы по аналогии - один из важных объектов исследования искусственного интеллекта, наиболее интересные результаты здесь получены П. Уинстоном. Он использует выводы по аналогии, основываясь на следующей гипотезе: «Если две ситуации подобны по нескольким признакам, то они подобны и еще По одному признаку». Подобие двух ситуаций распознается путем обнаружения наилучших совпадений по наиболее важным признакам.
Аналогия—это метод выводов, при которых обнаруживается подобие между несколькими заданными объектами; благодаря переносу фактов и знаний, справедливых для одних объектов, на основе этого подобия на совсем другие объекты либо определяется. способ решения задач, либо предсказываются неизвестные факты и знания. Следовательно, когда человек сталкивается с неизвестной задачей, он на первых порах использует этот естественный метод вывода.