Вступление к машинному обучению ранний вариант пре

ВСТУПЛЕНИЕ
К
МАШИННОМУ ОБУЧЕНИЮ
РАННИЙ ВАРИАНТ ПРЕДЛАГАЕМОГО
УЧЕБНИКА
Нильсон Нильс Дж.
Лаборатория робототехники
Факультет компьютерных наук
Стэнфордский университет
Стэнфорд, Калифорния 94305
электронная почта: nilsson@cs.stanford.edu
3 ноября 1998 г.
Авторское право c 2005 г. Нильс Й. Нильссон
Данный материал не может быть скопирован, воспроизведен или распространен без
письменного разрешения правообладателя.
1 Предварительная информация
1.1 Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
1.1.1 Что такое машинное обучение? . . . . . . . . . . . . . . . . .1
1.1.2 Источники машинного обучения . . . . . . . . . . . . . .3
1.1.3 Разновидности машинного обучения . . . . . . . . . . . . . . . .4
1.2 Функции ввода-вывода при обучении . . . . . . . . . . . . . . . . . .5
1.2.1 Типы обучения . . . . . . . . . . . . . . . . . . . . . .5
1.2.2 Входные векторы . . . . . . . . . . . . . . . . . . . . . . . . .7
1.2.3 Результаты . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
1.2.4 Режимы тренировок . . . . . . . . . . . . . . . . . . . . . . .8
1.2.5 Шум . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
1.2.6 Оценка успеваемости . . . . . . . . . . . . . . . . . . .9
1.3 Обучение требует предвзятости . . . . . . . . . . . . . . . . . . . . . . . .9
1.4 Примеры заявок \выборок\ . . . . . . . . . . . . . . . . . . . . . . . . .11
1.5 Источники . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
1.6 Библиографические и исторические примечания . . . . . . . . . . . . . .13
2 Логические функции 15
2.1 Представительство . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.1 Булева алгебра . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.2 Схематические представления . . . . . . . . . . . . . . . 16
2.2 Классы булевых функций . . . . . . . . . . . . . . . . . . . . 17
2.2.1 Условия и оговорки \предложения\ . . . . . . . . . . . . . . . . . . . . . . 17
2.2.2 Функции DNF . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2.3 Функции CNF . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2.4 Списки решений . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2.5 Функции симметрии и голосования . . . . . . . . . . . . . . 23
2.2.6 Линейно разделяемые функции . . . . . . . . . . . . . . . . 23
2.3 Краткое изложение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.4 Библиографические и исторические замечания . . . . . . . . . . . . . . 25
3 Использование пространств версий для обучения  27
3.1 Пробелы в версиях и границы ошибок . . . . . . . . . . . . . . . . 27
3.2 Графы версий . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.3 Обучение как поиск в пространстве версий . . . . . . . . . . . . . . . 32
3.4 Метод исключения кандидатов . . . . . . . . . . . . . . . . 32
3.5 Библиографические и исторические замечания . . . . . . . . . . . . . . 34
4 Нейронные сети 35
4.1 Пороговые логические единицы . . . . . . . . . . . . . . . . . . . . . . . . 35
4.1.1 Определения и геометрия . . . . . . . . . . . . . . . . . . 35
4.1.2 Частные случаи линейно разделимых функций . . . . . . . 37
4.1.3 Обучение TLU по исправлению ошибок . . . . . . . . . . . . . 38
4.1.4 Весовое пространство . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.1.5 Процедура Видроу-Хоффа . . . . . . . . . . . . . . . . . 42
4.1.6 Обучение TLU на нелинейно разделяемых обучающих множествах 44
4.2 Линейные машины . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.3 Сети TLU . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.3.1 Мотивация и примеры . . . . . . . . . . . . . . . . . . 46
4.3.2 Мадалины . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.3.3 Кусочно-линейные вычислительные машины . . . . . . . . . . . . . . . . . . 50
4.3.4 Каскадные сети . . . . . . . . . . . . . . . . . . . . . . 51
4.4 Обучение сетей прямой связи с помощью обратного распространения . . . . . . . 52
4.4.1 Обозначения . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.4.2 Метод обратного распространения . . . . . . . . . . . . . . . . 53
4.4.3 Вычисление изменений веса в конечном слое . . . . . . 56
4.4.4 Вычисление изменений веса в промежуточных слоях 58
4.4.5 Варианты обратного распространения . . . . . . . . . . . . . . . . . . . 59
4.4.6 Применение: Управление микроавтобусом . . . . . . . . . . . . . . . 60
4.5 Взаимодействие между нейронной сетью и методами, основанными на знаниях 61
4.6 Библиографические и исторические замечания . . . . . . . . . . . . . . 61
5 Статистическое обучение  63
5.1 Использование статистической теории принятия решений . . . . . . . . . . . . . . . . . . 63
5.1.1 Предпосылки и общий метод . . . . . . . . . . . . . . 63
5.1.2 Гауссовы (или нормальные) распределения . . . . . . . . . . . . 65
5.1.3 Условно независимые двоичные компоненты . . . . . . . 68
5.2 Обучение сетей убеждений \уверений\. . . . . . . . . . . . . . . . . . . . . . 70
5.3 Методы поиска ближайших соседей . . . . . . . . . . . . . . . . . . . . . . 70
5.4 Библиографические и исторические замечания . . . . . . . . . . . . . . 72
6 Схемы принятия решений 73
6.1 Определения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
6.2 Контролируемое изучение одномерных схем принятия решений . . . . . . . . . 74
6.2.1 Выбор типа испытания . . . . . . . . . . . . . . . . . . 75
6.2.2 Использование метода уменьшения неопределенности для выбора испытаний . . . . . . 75
6.2.3 Недвоичные атрибуты . . . . . . . . . . . . . . . . . . . . 79
6.3 Сети, эквивалентные деревьям принятия решений . . . . . . . . . . . . . . . 79
6.4 Переоснащение и оценка . . . . . . . . . . . . . . . . . . . . . 80
6.4.1 Переоснащение . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.4.2 Методы проверки . . . . . . . . . . . . . . . . . . . . . 81
6.4.3 Предотвращение переобучения в деревьях принятия решений . . . . . . . . . . . 82
6.4.4 Методы с минимальной длиной описания . . . . . . . . . . . 83
6.4.5 Шум в данных . . . . . . . . . . . . . . . . . . . . . . . . . 84
6.5 Проблема реплицированных поддеревьев . . . . . . . . . . . . . . . . 84
6.6 Проблема отсутствующих атрибутов . . . . . . . . . . . . . . . . . 86
6.7 Сравнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
6.8 Библиографические и исторические замечания . . . . . . . . . . . . . . 87
7 Индуктивное логическое программирование 89
7.1 Обозначения и определения . . . . . . . . . . . . . . . . . . . . . . . 90
7.2 Общий алгоритм ILP . . . . . . . . . . . . . . . . . . . . . . 91
7.3 Пример . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
7.4 Запуск рекурсивных программ . . . . . . . . . . . . . . . . . . . . 98
7.5 Выбор литералов для добавления . . . . . . . . . . . . . . . . . . . . . . 100
7.6 Взаимосвязи между ILP и построением дерева решений . . . . . 101
7.7 Библиографические и исторические замечания . . . . . . . . . . . . . . 104
8 Теория компьютерного обучения 107
8.1 Обозначения и допущения для теории обучения PAC . . . . . . . . 107
8.2 Обучение PAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
8.2.1 Основная теорема . . . . . . . . . . . . . . . . . 109
8.2.2 Примеры . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
8.2.3 Некоторые классы, пригодные для изучения с помощью PAC . . . . . . . . . . . 112
8.3 Измерение Вапника-Червоненкиса . . . . . . . . . . . . . . . . 113
8.3.1 Линейные дихотомии . . . . . . . . . . . . . . . . . . . . . . 113
8.3.2 Емкость . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
8.3.3 Более общий результат по емкости . . . . . . . . . . . . . . 116
8.3.4 Некоторые факты и предположения о венчурном капитале . 117
8.4 Измерение VC и изучение PAC . . . . . . . . . . . . . . . . . 118
8.5 Библиографические и исторические замечания . . . . . . . . . . . . . . 118
Раздел 9 Обучение без присмотра 119
9.1 Что такое обучение без присмотра? . . . . . . . . . . . . . . . . . . 119
9.2 Методы кластеризации . . . . . . . . . . . . . . . . . . . . . . . . . . 120
9.2.1 Метод, основанный на евклидовом расстоянии . . . . . . . . . . 120
9.2.2 Метод, основанный на вероятностях . . . . . . . . . . . . . . 124
9.3Методы иерархической кластеризации . . . . . . . . . . . . . . . . . . 125
9.3.1 Метод, основанный на евклидовом расстоянии . . . . . . . . . . 125
9.3.2 Метод, основанный на вероятностях . . . . . . . . . . . . . . 126
9.4 Библиографические и исторические замечания . . . . . . . . . . . . . . 130
10 Обучение с учетом временных различий 131
10.1 Временные закономерности и проблемы прогнозирования . . . . . . . . . . . . 131
10.2 Контролируемые методы и методы с временной разницей . . . . . . . . . . . 131
10.3 Поэтапное вычисление (;W)i . . . . . . . . . . . . . . 134
10.4 Эксперимент с использованием методов TD . . . . . . . . . . . . . . . . . 135
10.5 Теоретические результаты . . . . . . . . . . . . . . . . . . . . . . . . . . 138
10.6 Обновление веса внутри последовательности . . . . . . . . . . . . . . . . . . 138
10.7 Пример применения: TD-gammon . . . . . . . . . . . . . . . 140
10.8 Библиографические и исторические замечания . . . . . . . . . . . . . . 141
11 Обучение с отсроченным подкреплением 143
11.1 Общая проблема . . . . . . . . . . . . . . . . . . . . . . . . 143
11.2 Пример . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
11.3 Временное дисконтирование и оптимальная политика . . . . . . . . . . . . 145
11.4 Q-Обучение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
11.5 Обсуждение, ограничения и расширения Q-обучения . . . . . . 150
11.5.1 Наглядный пример . . . . . . . . . . . . . . . . . . . 150
11.5.2 Использование случайных действий. . . . . . . . . . . . . . . . . . . 152
11.5.3 Обобщение на основе входных данных . . . . . . . . . . . . . . . . . . 153
11.5.4 Частично наблюдаемые состояния . . . . . . . . . . . . . . . . . 154
11.5.5 Проблемы с масштабированием . . . . . . . . . . . . . . . . . . . . . . . 154
11.6 Библиографические и исторические замечания . . . . . . . . . . . . . . 155
12 Обучение, основанное на объяснениях 157
12.1 Дедуктивное обучение . . . . . . . . . . . . . . . . . . . . . . . . . . 157
12.2 Теории предметной области . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
12.3 Пример . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

12.4 Оцениваемые предикаты . . . . . . . . . . . . . . . . . . . . . . . . . 162
12.5 Более общие доказательства . . . . . . . . . . . . . . . . . . . . . . . . . 164
12.6 Полезность EBL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
12.7 Приложения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
12.7.1 Макрооператоры при планировании . . . . . . . . . . . . . . . . 164
12.7.2 Обучение знаний о поиске и контроле . . . . . . . . . . . . 167
12.8 Библиографические и исторические замечания . . . . . . . . . . . . . . 168
Пролог
Эти заметки находятся в процессе оформления в виде учебника. Работа над ними еще не завершена, и автор просит студентов и других читателей внести в них исправления, высказать критические замечания и предложения. Хотя я постарался устранить ошибки, некоторые из них, несомненно, остаются — предостережение лектора. Многие типографские неточности, несомненно, сохранятся до окончательного варианта. Еще предстоит добавить дополнительные материалы. Пожалуйста, сообщите в разделе "Мои планы по дополнениям и напоминаниям" о своих предложениях по темам, которые слишком важны, чтобы их не учитывать. Другие заметки на полях. Я надеюсь, что будущие версии будут охватывать сети Хопфилда, сети Элмана и другие современные сети, радиальные базисные функции, грамматику и автоматное обучение, генетические алгоритмы и байесовские сети. . . . Я также собираю упражнения и предложения по проектам, которые появятся в будущих версиях.
Мое намерение состоит в том, чтобы найти золотую середину между теоретическим учебником и учебником, ориентированным на приложения. Книга посвящена важным идеям машинного обучения. Я не привожу доказательств многих из сформулированных мной теорем, но я привожу аргументы в пользу правдоподобия и ссылки на формальные доказательства. И, я я не рассматриваю многие вопросы, которые имели бы практическое значение в приложениях; эта книга не является руководством по практике машинного обучения. Вместо этого моя цель - дать читателю достаточную подготовку, чтобы сделать доступной обширную литературу по машинному обучению.
Студенты, слушающие мои курсы по машинному обучению в Стэнфорде, уже высказали несколько полезных предложений, как и мой коллега Пэт Лэнгли и мои ассистенты Рон Кохави, Карл Пфлегер, Роберт Аллен и Лиз Гетур.
IX глава 1
Предварительные замечания
1.1 Введение
1.1.1 Что такое машинное обучение?
Обучение, как и интеллект, охватывает такой широкий спектр процессов, что его трудно точно определить. Словарное определение включает такие фразы, как “ приобретать знания, понимание или умение в результате изучения, инструктажа или приобретения опыта” и “изменение поведенческих тенденций в результате приобретения опыта”. Зоологи и психологи изучают процесс обучения у животных и человека. В этой книге мы сосредоточимся на машинном обучении. Существует несколько параллелей между обучением на животных и на машинах. Безусловно, многие методы машинного обучения основаны на усилиях психологов по уточнению своих теорий обучения животных и человека с помощью компьютерных моделей. Представляется также вероятным, что концепции и методы, изучаемые исследователями в области машинного обучения, могут пролить свет на некоторые аспекты биологического обучения.
Что касается машин, то в очень широком смысле мы могли бы сказать, что машина учится всякий раз, когда она изменяет свою структуру, программу или данные (на основе своих входных данных или в ответ на внешнюю информацию) таким образом, что ее ожидаемая производительность в будущем улучшается. Некоторые из этих изменений, такие как добавление записи к базе данных, удобно вписываются в сферу других дисциплин и не обязательно лучше поняты для того, чтобы называться обучением. Но, например, когда производительность машины для распознавания речи улучшается после прослушивания нескольких образцов речи человека, мы считаем вполне оправданным в этом случае говорить, что машина научилась.
Машинное обучение обычно относится к изменениям в системах, которые выполняют задачи, связанные с искусственным интеллектом (ИИ). Такие задачи включают распознавание, диагностику, планирование, управление роботами, прогнозирование и т.д. “Изменения” могут быть либо усовершенствования уже работающих систем или первичный синтез новых систем.  Чтобы быть немного более точным, мы покажем архитектуру типичного ИИ
12
ГЛАВА 1. ПРЕДВАРИТЕЛЬНЫЕ УСЛОВИЯ
“агент” на рис. 1.1. Этот агент воспринимает и моделирует свое окружение и выполняет соответствующие действия, возможно, предвидя их последствия. Изменения, внесенные в любой из компонентов, показанных на рисунке, могут считаться обучением.  В зависимости от того, какая подсистема подвергается изменениям, могут использоваться различные механизмы обучения. В этой книге мы рассмотрим несколько различных методов обучения.

Сенсорные сигналы
Цели
Восприятие
Модель
Планирование и Рассуждения
Действие Вычисление
Действия
Рисунок 1.1: Система искусственного интеллекта
Кто-то может спросить: “Почему машины должны учиться? Почему бы, в первую очередь, не спроектировать машины так, чтобы они работали так, как требуется?” Существует несколько причин, по которым машинное обучение важно. Конечно, мы уже упоминали, что достижение машинного обучения может помочь нам понять, как учатся животные и люди. Но есть и важные технические причины. Некоторые из них - это:
• Некоторые задачи не могут быть четко определены иначе, как на примере; то есть мы могли бы быть возможность задания пар ввода-вывода, но не четкая взаимосвязь между входными данными и желаемыми выходными данными. Мы хотели бы, чтобы машины могли настраивать свою внутреннюю структуру для получения правильных выходных данных для большого количества выборочных входных данных и, таким образом, соответствующим образом ограничивать свои функции ввода/вывода, чтобы приблизить соотношение, подразумеваемое в примерах.
• Возможно, что среди больших массивов данных скрыты важные взаимосвязи. Для извлечения этих взаимосвязей часто используются методы машинного обучения (интеллектуальный анализ данных).
1.1. ВВЕДЕНИЕ
3

• Люди-проектировщики часто создают машины, которые работают не так хорошо, как хотелось бы, в тех условиях, в которых они используются. На самом деле, некоторые характеристики рабочей среды могут быть не полностью известны во время проектирования. Методы машинного обучения могут быть использованы для улучшения существующих конструкций машин на рабочем месте.
• Объем доступных знаний о некоторых задачах может быть слишком велик для явного кодирования людьми. Машины, которые постепенно усваивают эти знания, возможно, смогут зафиксировать их больше, чем люди захотели бы записать.
• Окружающая среда меняется с течением времени. Машины, способные адаптироваться к изменяющейся среде, уменьшат необходимость в постоянном перепроектировании.
• Люди постоянно открывают новые знания о задачах. Словарный запас меняется. В мире постоянно происходят новые события. Продолжать перепроектировать системы искусственного интеллекта в соответствии с новыми знаниями нецелесообразно, но методы машинного обучения могли бы многое из этого отследить.
1.1.2 Источники машинного обучения
В настоящее время работа в области машинного обучения ведется из нескольких источников. Эти различные- каждая из этих традиций привносит свои методы и различный словарный запас, которые в настоящее время объединяются в более единую дисциплину. Вот краткий список некоторых отдельных дисциплин, которые внесли свой вклад в машинное обучение; более подробная информация будет представлена в соответствующих главах:
• Статистика: Давняя проблема в статистике заключается в том, как наилучшим образом использовать выборки, полученные из неизвестных распределений вероятности, чтобы помочь решить, из какого распределения будет получена новая выборка. Связанная с этим проблема заключается в том, как оценить значение неизвестной функции в новой точке с учетом значения этой функции в нескольких точках выборки. Статистические методы для решения этих задач можно рассматривать как примеры машинного обучения, поскольку правила принятия решений и оценки зависят от совокупности выборок, взятых из проблемной среды. Далее в книге мы рассмотрим некоторые из статистических методов. Подробную информацию о статистической теории, лежащей в основе этих методов, можно найти в учебниках по статистике, таких как [Anderson, 1958].
• Модели мозга: Нелинейные элементы со взвешенными входными данными были предложены в качестве простых моделей биологических нейронов. Сети из этих элементов были изучены несколькими исследователями, включая [McCulloch & Pitts, 1943, Hebb, 1949, Rosenblatt, 1958] и, совсем недавно, [Gluck & Rumelhart, 1989, Sejnowski, Koch, & Churchland, 1988]. Специалистов по моделированию мозга интересует, насколько близко эти сети приближены к процессам обучения [4]
ГЛАВА 1. ПРЕДВАРИТЕЛЬНЫЕ СВЕДЕНИЯ
живого мозга. Мы увидим, что несколько важных методов машинного обучения основаны на сетях из нелинейных элементов, которые часто называют нейронные сети. Работы, вдохновленные этой школой, иногда называют коннекционизмом, вычислениями в стиле мозга или субсимвольной обработкой.
• Теория адаптивного управления: теоретики управления изучают проблему управления процессом, имеющим неизвестные параметры, которые необходимо оценить во время работы. Часто параметры меняются во время работы, и процесс управления должен отслеживать эти изменения. Некоторые аспекты управления роботом, основанные на сенсорных данных, представляют собой примеры проблем такого рода. Введение см. в [Bollinger & Duffie, 1988].
• Психологические модели: психологи изучали, как люди справляются с различными учебными задачами. Одним из первых примеров является сеть EPAM, позволяющая запоминать и извлекать один член пары слов, когда задан другой [Feigenbaum, 1961]. Связанная с этим работа привела к появлению ряда ранних методов дерева принятия решений [Hunt, Marin, & Stone, 1966] и семантической сети [Anderson & Bower, 1973]. На более поздние работы такого рода повлияли исследования в области искусственного интеллекта, которые мы представим.
Некоторые работы в области обучения с подкреплением можно отнести к усилиям по моделированию, как стимулы вознаграждения влияют на обучение животных целенаправленному поведению [Sutton & Barto, 1987]. Обучение с подкреплением — важная ема в исследованиях машинного обучения.
• Искусственный интеллект: С самого начала исследования ИИ были связаны с машинным обучением. Сэмюэл разработал известную раннюю программу, которая обучала параметры функции для оценки положения доски в игре в шашки [Samuel, 1959]. Исследователи искусственного интеллекта также исследовали роль аналогий в обучении [Carbonell, 1983] и то, как они помогают- конкретные действия и решения могут основываться на предыдущих показательных случаях [Колоднер, 1993]. Недавняя работа была направлена на поиск правил для экспертных систем с использованием методов дерева решений [Quinlan, 1990] и индуктивного логического программирования [Muggleton, 1991, Lavra; & D;eroski, 1994]. Другой темой было сохранение и обобщение результатов решения задач с использованием обучения, основанного на объяснении [DeJong & Mooney, 1986, Laird и др., 1986, Minton, 1988, Etzioni, 1993].
• Эволюционные модели: В природе не только отдельные животные учатся работать лучше, но и виды эволюционируют, чтобы лучше приспособиться к своим индивидуальным нишам. Поскольку в компьютерных системах различие между эволюцией и обучением может быть размыто, в качестве методов обучения для повышения производительности компьютерных программ были предложены методы, моделирующие определенные аспекты биологической эволюции. Генетические алгоритмы [Holland, 1975] и генетическое программирование [Koza, 1992, Koza, 1994] являются наиболее известными вычислительными технологиями для эволюции.
1.2. ИЗУЧЕНИЕ ФУНКЦИЙ ВВОДА-ВЫВОДА
1.1.3 Разновидности машинного обучения 5
Перпендикулярным вопросу об историческом источнике любой методики обучения является более важный вопрос о том, чему следует научиться. В этой книге мы исходим из того, что предметом изучения является своего рода вычислительная структура. Мы рассмотрим множество различных вычислительных структур:
• Функции
• Логические программы и наборы правил
• Конечные автоматы
• Грамматики
• Системы решения задач
Мы представим методы как для синтеза этих структур на примерах, так и для изменения существующих структур. В последнем случае изменение в исходную структуру  должно быть предназначено просто для повышения эффективности вычислений, а не для расширения охвата ситуаций, с которыми она может справиться. Большую часть терминологии, которую мы будем использовать на протяжении всей книги, лучше всего использовать при обсуждении проблемы обучения функций, и мы сначала обратимся к этому вопросу.
1.2 Изучение функций ввода-вывода
Мы используем рис. 1.2, чтобы помочь определить некоторые термины, используемые при описании задачи изучения функции. Представьте, что существует функция f, и задача учащегося - угадать, что это такое. Наша гипотеза о функции, которая должна быть обучена обозначается через h. И f, и h являются функциями входных данных, выраженных вектором X = (x1 , x2 , . . . , xi , . . . , xn ), которые имеют n компонентов. Мы считаем, что h реализуется устройством, которое имеет X в качестве входных данных и h(X) в качестве выходных данных. Сами по себе f и h могут быть векторнозначными. Мы предполагаем априори, что гипотетическая функция h выбрана из класса функций H. Иногда мы знаем, что f также принадлежит к этому классу или подмножеству этого класса. Мы выбираем h на основе обучающего набора ; из m примеров входных векторов. Многие важные детали зависят от характера предположений, сделанных в отношении всех этих объектов.
1.2.1 Типы обучения
Есть две основные ситуации, в которых мы хотим изучить ту или иную функцию. В одном из них, называемом обучением под наблюдением, мы знаем (иногда лишь приблизительно) значения f для m выборок в обучающем наборе, ;. Мы предполагаем, что если мы сможем найти гипотезу h, которая хорошо согласуется с f для членов ;, то эта гипотеза будет хорошим предположением для f, особенно если ; велико.
6
ГЛАВА 1. ПРЕДВАРИТЕЛЬНЫЕ СВЕДЕНИЯ

Обучающий набор:
Рисунок 1.2: Функция ввода-вывода
Подгонка кривой - это простой пример контролируемого обучения функции. Предположим, что нам даны значения двумерной функции f в четырех точках выборки, показанных сплошными кружками на рис. 1.3. Мы хотим сопоставить эти четыре точки с функцией h, полученной из набора функций второй степени. Мы показываем двумерную параболическую поверхность над плоскостью x1, x2, которая соответствует точкам. Эта параболическая функция h является нашей гипотезой о функции f, которая создала четыре выборки. В этом случае h = f для четырех выборок, но нам требуется не иметь точных совпадений.
В другой ситуации, называемой обучением без контроля, мы просто получаем обучающий набор векторов без значений функций для них. Проблема в этом случае, как правило, заключается в том, чтобы разбить обучающий набор на подмножества, ;1 , . . . , ;R , каким- либо подходящим образом. (Мы все еще можем рассматривать проблему как задачу обучения функции; значением функции является название подмножества, к которому относится входной вектор.) Методы обучения без контроля находят применение в таксономических задачах, в которых требуется найти способы классификации данных по значимым категориям.
Мы также опишем методы, которые являются промежуточными между контролируемым и неконтролируемым обучением.
Возможно, мы пытаемся либо найти новую функцию h, либо модифицировать существующую. Интересным частным случаем является изменение существующей функции на эквивалентную, более эффективную в вычислительном отношении. Этот тип обучения иногда называют ускоренным обучением. Очень простой пример ускоренного обучения включает в себя процессы дедукции. Из формул A ; B и B ; C мы можем вывести C, если нам дано A. В результате этого дедуктивного процесса мы можем создать формула A ; C — новая формула, но в ней больше нет ограничений
1.2. ИЗУЧЕНИЕ ФУНКЦИЙ ВВОДА-ВЫВОДА
пример f-значения
Рисунок 1.3: Поверхность, которая соответствует четырем точкам
которые могут быть получены из формул, которые у нас были ранее. Но с помощью этой новой формулы мы можем получить C быстрее, учитывая A, чем мы могли бы сделать раньше. Мы можем противопоставить ускоренное обучение методам, создающим действительно новые функции, которые могут дать другие результаты после завершения обучения. обучения, чем они занимались раньше. Мы говорим, что последние методы предполагают индуктивное обучение. В отличие от дедукции, здесь нет правильных выводов — только полезные .
1.2.2 Входные векторы
Поскольку методы машинного обучения основаны на множестве различных традиций, его терминология изобилует синонимами, и мы будем использовать большинство из них в этой книге. Например, входной вектор называется по-разному. Вот некоторые из них: входной вектор, вектор-шаблон, вектор-объект, образец \выборка\, пример и экземпляр \шанс\. Компоненты xi входного вектора по-разному называются объектами, атрибуты, входные переменные и компоненты.
Значения компонентов могут быть трех основных типов. Это могут быть вещественные числа, дискретные числа или категориальные значения. В качестве примера, иллюстрирующего категориальные значения, информация о студенте может быть представлена значениями атрибутов класс, специальность, пол, консультант. Тогда конкретный студент будет представлен таким вектором, как: (второкурсник, история, мужчина, Хиггинс). Кроме того, категориальные значения могут быть упорядочены (как в {малый \ small\, средний \medium\, большой \large\}) или неупорядочены (как в только что приведенном примере). Конечно, возможны комбинации значений всех этих типов.
Во всех случаях входные данные можно представить в неупорядоченном виде, указав имена атрибутов вместе с их значениями. Векторная форма предполагает, что атрибуты упорядочены и задаются неявно с помощью формы. В качестве примера представления значений атрибутов мы могли бы использовать: (специальность: история, пол: мужчина,8 лет
ГЛАВА 1. ПРЕДВАРИТЕЛЬНЫЕ ЗАНЯТИЯ
класс: второкурсник, консультант: Хиггинс, возраст: 19 лет). Мы будем использовать
исключительно векторную форму.
Важная специализация использует логические значения, которые можно рассматривать как частный случай либо дискретных чисел (1,0), либо категориальных переменных (истина\ True\, ложь \ False\).
1.2.3 Выходы
Результатом может быть действительное число, и в этом случае процесс, реализующий функцию h, называется вычислителем  функции, а результат называется выходным значением или оценкой \гипотезой\.
В качестве альтернативы, результатом может быть категориальное значение, и в этом случае pro-Выходы Результатом может быть действительное число, и в этом случае процесс, реализующий функцию h, называется вычислителем функции, а результат называется выходным значением или оценкой. Альтернативно, выходные данные могут быть категориальным значением, и в этом случае процесс, реализующий h, по-разному называется классификатором, распознавателем или категоризатором, а сами выходные данные называются меткой, классом, категорией или решением. Классификаторы находят применение в ряде задач распознавания, например, при распознавании символов, напечатанных от руки. Входными данными в этом случае являются некоторые подходящие представление печатного символа, и классификатор сопоставляет эти входные данные с одной из, скажем, 64 категорий.
Также возможны векторнозначные выходные данные, компонентами которых являются действительные числа или категориальные значения.
Важным частным случаем являются логические выходные значения. В этом случае обучающий шаблон, имеющий значение 1, называется положительным экземпляром, а обучающая выборка, имеющая значение 0, называется отрицательным экземпляром. Если входные данные также имеют значение Boolean, классификатор реализует логическую функцию. Мы довольно подробно изучаем логический случай, поскольку он позволяет нам сделать важные общие выводы в упрощенной настройке. Изучение логической функции иногда называется концепцией обучения, а функция называется концепцией.
1.2.4 Режимы обучения
Существует несколько способов использования обучающего набора ; для получения гипотетической функции. В пакетном методе доступен весь обучающий набор, который используется сразу для вычисления функции, h. В варианте этого метода весь обучающий набор используется для итеративной модификации текущей гипотезы до тех пор, пока не будет получена приемлемая гипотеза. В отличие от этого, в инкрементальном методе мы выбираем по одному элементу из обучающего набора и используем только этот экземпляр для изменения текущей гипотезы. Затем выбирается другой элемент из обучающего набора и т.д. Метод выбора может быть случайным (с заменой) или он может циклически проходить через обучающий набор. Если весь обучающий набор становится доступным по одному участнику за раз, мы могли бы также использовать поэтапный метод — выбирать и использовать участников обучающего набора по мере их поступления. (В качестве альтернативы, на любом этапе все доступные на данный момент участники обучающего набора могут быть использованы в “пакетном” процессе.) Использование элементов обучающего набора по мере их поступления называется онлайн-методом. Онлайн-методы могут быть использованы, например, когда
1.3. ОБУЧЕНИЕ ТРЕБУЕТ СМЕЩЕНИЯ 9
следующий обучающий пример - это некоторая функция текущей гипотезы и предыдущего примера, как это было бы, если бы классификатор использовался для принятия решения о следующем действии робота, учитывая его текущий набор сенсорных данных. Следующий набор сенсорных сигналов будет зависеть от того, какое действие было выбрано.
1.2.5 Шум
Иногда векторы в обучающем наборе искажаются из-за шума. Есть два вида шума. Шум класса случайным образом изменяет значение функции; шум атрибута случайным образом изменяет значения компонентов входного вектора. В любом случае было бы неуместно настаивать на том, что гипотетическая функция точно соответствует значениям выборок в обучающем наборе.
1.2.6 Оценка эффективности работы
Несмотря на то, что в индуктивном обучении нет правильного ответа, важно иметь методы оценки результата обучения. Мы обсудим этот вопрос более подробно позже, но, вкратце, в контролируемом обучении индуцированная функция заключается в следующем, обычно вычисляется на отдельном наборе входных данных и значений функций для них, называемом тестовым набором. Считается, что гипотетическая функция является обобщающей, когда она хорошо угадывает тестовый набор. Как среднеквадратичная ошибка, так и общее количество ошибок являются общими показателями.
1.3 Обучение требует предвзятости \смещения\
Читатель, несомненно, уже давно задавался вопросом, почему вообще возможно обучение функции? Конечно, например, существует бесчисленное множество различных функций, значения которых соответствуют четырем образцам, показанным на рис. 1. 1.3. Почему в процессе обучения выбирается показанная квадратичная процедура на этом рисунке? Чтобы сделать такой выбор, мы должны были, по крайней мере, априори ограничить набор гипотез квадратичными функциями, а затем настаивать на том, чтобы выбранная нами гипотеза проходила через все четыре точки выборки. Такого рода априорная информация называется предвзятостью \смещением\, и полезное обучение без предвзятости невозможно.
Мы можем лучше понять роль предвзятости, рассмотрев частный случай обучения булевой функции n измерений. Возможно 2n различных логических n входных данных. Предположим, что у нас не было смещения; то есть H - это набор всех 22n логических функции, и у нас нет предпочтений среди тех, которые соответствуют выборкам в обучающем наборе. В этом случае, получив один элемент обучающего набора и его значение, мы можем исключить ровно половину элементов из H—этих Логических функций, которые неправильно классифицировали бы этот помеченный образец. Остальные функции образуют так называемое “пространство версий”; мы рассмотрим это понятие более подробно позже. По мере того как мы представляем все больше членов обучающей выборки, граф зависимости числа еще не исключенных гипотез от числа различных шаблонов представлены так, как показано на рис. 1.4. На любом этапе процесса,
10
ГЛАВА 1. ПРЕДВАРИТЕЛЬНЫЕ СВЕДЕНИЯ
половина оставшихся логических функций имеет значение 1, а половина - 0 для любого обучающего шаблона, который еще не был замечен. В этом случае невозможно обобщение, поскольку обучающие шаблоны не дают представления о значении еще не обученного шаблона. Здесь возможно только запоминание, что является тривиальным видом обучения.
количество функций, которые не исключены из
обобщение невозможно
количество помеченных шаблонов, которые уже были замечены
Рисунок 1.4: Гипотезы, остающиеся в зависимости от представленных шаблонов с метками
Но предположим, что мы ограничили H некоторым подмножеством, Hc , всех булевых функций. В зависимости от подмножества и порядка представления обучающих паттернов \шаблонов\ кривая еще не исключенных гипотез может выглядеть примерно так, как показано на рис. 1.5. В этом случае даже возможно, что после просмотра меньшего количества, чем все 2n помеченных выборок, может быть только одна гипотеза, которая согласуется с этим тренировочным набором. Конечно, даже если остается несколько гипотез, большинство из них могут иметь одинаковое значение для большинства еще не изученных паттернов!  Теория вероятного \возможно\ приблизительно правильного обучения (PAC) уточняет эту интуитивную идею. Мы рассмотрим эту теорию позже.
Давайте рассмотрим конкретный пример того, как предвзятость \смещение\ помогает обучению. Логическая функция может быть представлена гиперкубом, каждая из вершин которого представляет отдельный входной шаблон. На рис. 1.6 мы показываем трехмерную версию. Там мы показываем обучающий набор из шести образцов шаблонов и помечаем те, которые имеют значение 1, с помощью маленьким квадратом, а те, что имеют значение 0, - маленьким кругом. Если набор гипотез состоит только из линейно разделяемых функций — тех, для которых положительные и отрицательные экземпляры могут быть разделены линейной поверхностью, то в этом наборе гипотез остается только одна функция, которая согласуется с обучающим набором. Таким образом, в этом случае, даже если обучающий набор не содержит всех возможных шаблонов, мы уже можем определить, какой должна быть функция, учитывая смещение.
1.4. ПРИМЕРЫ ПРИЛОЖЕНИЙ  11

количество не исключенных функций
зависит от порядка
представления
количество отмеченных паттернов, которые уже были замечены
Рисунок 1.5: Гипотезы, оставшиеся от Ограниченного подмножества
Исследователи в области машинного обучения выделили две основные разновидности смещения: абсолютное смещение и предпочтение. При абсолютном смещении (также называемом смещением в ограниченном пространстве гипотез ) значение H ограничивается определенным подмножеством функций. В нашем примере на рис. 1.6 ограничение было наложено на линейно разделяемые булевы функции. При смещении предпочтений выбирается та гипотеза, которая является минимальной в соответствии с некоторой схемой упорядочения всех гипотез. Например, если бы у нас был какой-то способ измерить сложность гипотезы, мы могли бы выбрать самую простую из тех, которые выполнено удовлетворительно на обучающей выборке. Принцип бритвы Оккама, используемый в науке для предпочтения простых объяснений более сложным, является одним из видов предвзятого отношения к предпочтениям. (Уильям Оккам, 1285-?1349, был английским философом, который сказал: “non sunt multiplicanda entia praeter necessitatem”, что означает “сущности не следует умножать без необходимости”.)
1.4 Примеры приложений
В этой книге мы уделяем основное внимание концепциям машинного обучения, а не его приложениям. Тем не менее, если бы эти концепции не имели отношения к реальному миру проблемы, с которыми они, вероятно, не будут представлять особого интереса. В качестве мотивации мы приводим краткое описание некоторых областей, в которых успешно применяются методы машинного обучения. В [Langley, 1992] приводятся некоторые из следующих приложений и другие:
a. Определение правила с использованием варианта ID3 для задачи полиграфической промышленности
12  ГЛАВА 1. ПРЕДВАРИТЕЛЬНЫЕ СВЕДЕНИЯ

Рисунок 1.6: Обучающий набор, который полностью определяет линейно разделяемую Функцию
[Evans & Fisher, 1992].
b. Прогнозирование нагрузки на электроэнергию с использованием системы правил k-ближайшего соседа
[Джаббур К. и др., 1987].
c. Автоматический помощник “службы поддержки”, использующий систему связи с ближайшими соседями
[Acorn & Walden, 1992].
d. Планирование и составление графиков для сталелитейного завода с использованием ExpertEase, системы, подобной ID3, которая продается на рынке [Michie, 1992].
e. Классификация звезд и галактик [Fayyad и др., 1993].
На ежегодных конференциях, посвященных нейронным системам обработки информации, представлено множество статей прикладного характера. Среди них статьи по распознаванию речи, эхо-распознаванию дельфинов, обработке изображений, биоинженерии, диагностике, торговле товарами, распознаванию лиц, музыкальной композиции, оптическим характеристикам распознавание и различные управляющие приложения [Различные редакторы, 1989-1994].
В качестве дополнительных примеров [Хаммерстром, 1993] упоминает:
a. Система распознавания японских иероглифов Sharp обрабатывает 200 символов в секунду с точностью более 99%. Она распознает более 3000 символов.
b. Сеть по подбору торговых стратегий Центра нейрофорекастинга (Лондонская школа бизнеса и университетский колледж Лондона) получила среднегодовую прибыль в размере 18% против 12,3% в обычной системе.
1.5. ИСТОЧНИКИ 13
в. Нейронная сеть Fujitsu (плюс партнерская) для мониторинга непрерывного производства по разливке стали успешно функционирует с начала 1990-х годов.
Таким образом, в настоящее время довольно легко найти применение методам машинного обучения. Этот факт не должен вызывать удивления, поскольку многие методы машинного обучения можно рассматривать как продолжение хорошо известных статистических методов, которые успешно применяются на протяжении многих лет.
1.5 Источники
Помимо обширной литературы по машинному обучению (на небольшую часть которой даны ссылки в библиографии), есть несколько учебников,  заслуживающих упоминания [Герц, Крог и Палмер, 1991, Вайс и Куликовский, 1991, Натарьян, 1991, Фу, 1994, Лэнгли, 1996]. [Шавлик и Диттерих, 1990, Бьюкенен и Уилкинс, 1993] - это отредактированные тома, содержащие некоторые из наиболее важных статей. Обзорная статья от [Dietterich, 1990] дает хороший обзор многих важных тем. Существуют также хорошо зарекомендовавшие себя конференции и публикации, на которых публикуются доклады, в том числе:
• Ежегодные конференции, посвященные достижениям в области нейронной обработки информации Систем
• Ежегодные семинары по теории компьютерного обучения
• Ежегодные Международные семинары по машинному обучению
• Ежегодные Международные конференции по генетическим алгоритмам (Материалы четырех вышеперечисленных конференций опубликованы издательством Морган Кауфманн.)
• Журнал "Машинное обучение" (издается академическим издательством Kluwer).
Также имеется много информации, а также программ и наборов данных, доступных через Интернет через Всемирную паутину.
1.6 Библиографические и исторические замечания
Будут добавлены позднее. Каждая глава будет содержать краткий обзор истории материала, рассматриваемого в этой главе.
14
ГЛАВА 1. Предварительные сведения.
Глава 2
Булевы функции
2.1 Представление
2.1.1 Булева алгебра
Многие важные идеи об обучении функций проще всего представить, используя частный случай булевых функций. Существует несколько важных подклассов булевых функций, которые используются в качестве классов гипотез для обучения функций. Поэтому в этой главе мы сделаем небольшое отступление, чтобы представить обзор булевых функций и их свойств. (Для более подробного рассмотрения см., например, [Унгер, 1989].)
Логическая функция f (x1 , x2 , . . . , xn ) преобразует n-набор значений (0,1) в {0, 1}. Булева алгебра - это удобная система счисления для представления логических функций. В булевой алгебре используются связки ·, + и . Например, функция и от двух переменных записывается как x1 · x2 . По соглашению, соединительный символ “·” обычно не используется, а функция и \and\ записывается как x1 x2 . x1 x2 имеет значение 1 тогда и только тогда, когда оба x1 и x2 имеют значение 1; если либо x1, либо x2 имеют значение 0, то x1 x2 имеет значение 0. Функция (включительно) или \or\ от двух переменных записывается как x1 + x2 . x1 + x2 имеет значение 1 тогда и только тогда, когда одна или обе   x1 или x2 имеют значение 1; если и x1, и x2 имеют значение 0, то x1 + x2 имеет значение 0. Дополнение или отрицание переменной, x, записывается как ;x. ;x имеет значение 1 тогда и только тогда, когда x имеет значение 0; если x имеет значение 1, то ;x имеет значение 0.
Эти определения в сжатой форме даются следующими правилами булевой алгебры:
1 + 1 = 1, 1 + 0 = 1, 0 + 0 = 0,
1 · 1 = 1, 1 · 0 = 0, 0 · 0 = 0, и
1 = 0, ;0 = 1.
Иногда аргументы и значения логических функций выражаются в терминах констант T (Истина) и F (Ложь) вместо 1 и 0 соответственно.
15
16
ГЛАВА 2. ЛОГИЧЕСКИЕ ФУНКЦИИ
Связки · и + являются как коммутативными, так и ассоциативными. Так, например, x1 (x2 x3 ) = (x1 x2 )x3 , и оба могут быть записаны просто как x1 x2 x3 . Аналогично для +. Логическая формула, состоящая из одной переменной, такой как x1, называется атомом. Формула, состоящая либо из одной переменной, либо из ее дополнения, такого как x1 , называется литералом.
Операторы · и + не коммутируют между собой. Вместо этого у нас есть законы ДеМоргана (которые можно проверить, используя приведенные выше определения):
;x1 ;x2 = ;x1 + ;x2 и
;x1 + ;x2 = ;x1 ;x2 .
2.1.2 Схематические представления
В предыдущей главе мы видели, что логическая функция может быть представлена путем обозначения вершин куба. Для функции из n переменных нам потребуется n-мерный гиперкуб. На рис. 2.1 мы показываем несколько 2- и 3-мерных примеров. Вершины, имеющие значение 1, помечены маленьким квадратом, а вершины, имеющие значение 0, - маленьким кружком.
и
или
xor (исключающее или)
функция четности x1
Рисунок 2.1: Представление булевых функций на кубах
Используя представления гиперкуба, легко увидеть, сколько существует булевых функций n измерений. Трехмерный куб имеет 23 = 8 вершин,  и каждая из них может быть помечена двумя различными способами; таким образом, существует 2(2 3 ) = 256
2,2. КЛАССЫ БУЛЕВЫХ ФУНКЦИЙ  17
различных булевых функций от 3 переменных. В общем, существует 22n булевы функции от n переменных.
Позже мы будем использовать 2- и 3-мерные кубы, чтобы дать представление о свойствах некоторых булевых функций. Конечно, мы не можем наглядно представить, как они работают. гиперкубы (для n > 3), и у пространств с большей размерностью есть много удивительных свойств, поэтому мы должны быть осторожны при использовании интуиции, полученной в малых измерениях. Одним из методов построения диаграмм для измерений, немного превышающих 3, является карта Карно. Карта Карно - это массив значений логической функции, в котором горизонтальные строки индексируются значениями некоторых переменных, а вертикальные столбцы - остальными. Строки и столбцы расположены таким образом, что записи, расположенные рядом на карте соответствуют вершинам, которые являются смежными в представлении гиперкуба. Мы показываем пример 4-мерной функции четной четности на рис. 2.2. ( Функция четной четности - это логическая функция, которая имеет значение 1, если имеется четное число ее аргументов, имеющих значение 1; в противном случае она имеет значение 0.) Обратите внимание, что все соседние ячейки таблицы соответствуют входным данным, отличающимся только одним компонентом.
Также описываются общие логические схемы [Wnek и др., 1990].
Рисунок 2.2: Карта Карно
2.2 Классы булевых функций
2.2.1 Термины и предложения
Чтобы использовать абсолютную предвзятость в машинном обучении, мы ограничиваем класс гипотез. При изучении булевых функций мы часто используем некоторые из общих подклассов этих функций. Поэтому важно знать об этих подклассах.
Один из основных подклассов называется терм\terms\. Tерм - это любая функция, записанная в виде l1 l2 · · · lk , где li - это литералы. Такая форма называется конъюнкцией литералов. Некоторые термины, например, x1 x7 и x1 x2 ;x4 . Размер термина равен количеству содержащихся в нем литералов. Примеры имеют размеры 2 и 3 соответственно. (Строго говоря, класс соединений литералов называется одночленами,
18
ГЛАВА 2. БУЛЕВЫ ФУНКЦИИ
и соединение литералов само по себе называется термином\термом\. Это тонкое различие, которое мы решили здесь размыть.)
Вероятно, я приведу здесь простой
алгоритм запоминания терминов, чтобы
мы могли приступить к изучению!
Также для функций DNF и
списков решений — как они определены
на следующих нескольких страницах.
Легко показать, что существует ровно 3n возможных членов для n переменных. Количество членов размером k или меньше ограничено сверху ;i=0k C(2n, i) = O(nk ), где C(i, j) = i!/(i;j)!/j!- биномиальный коэффициент.
Предложением называется любая функция, записанная в виде l1 + l2 + · · · + lk , где li — это литералы. Такая форма называется дизъюнкцией литералов. Некоторые примеры предложений - это x 3+ x5 + x6 и x1 + ;x4 . Размер предложения равен количеству содержащихся в нем литералов. Существует 3n возможных предложений и меньше, чем ;i=0k  C(2n, i) предложений размера k или меньше. Если f - это термин, то (по законам Де Моргана) f - это предложение, и наоборот. Таким образом, термины и предложения являются двойственными по отношению друг к другу.
В психологических экспериментах людям проще использовать союзы \конъюнкции\ литералов \буквальных выражений\ чтобы узнать больше, чем дизъюнкции литералов.
2.2.2 Функции DNF
Говорят, что логическая функция находится в дизъюнктивной нормальной форме (DNF), если она может быть записана как дизъюнкция термов \членов\. Вот несколько примеров из DNF: f = x1 x2 +x2 x3 x4 и f = x1 ;x3 + ;x2 ;x3 + x1 x2 ;x3 . Выражение DNF называется k-членным DNF выражение, если оно является дизъюнкцией из k членов; оно относится к классу k-DNF, если размер его наибольшего члена равен k. Приведенные выше примеры представляют собой выражения, состоящие из 2 и 3 членов соответственно. Оба выражения относятся к классу 3-DNF.
Каждый член в выражении DNF для функции называется импликантом, потому что это “подразумевает \импли\” функцию (если член имеет значение 1, то и функция тоже). В общем случае, член t является импликантом функции f, если f имеет значение 1 всякий раз, когда это делает t. Термин \член\ t является основной импликантой f, если термин t`, образованный путем вычитания любого литерала из импликанта t, больше не является импликантом f . (Импликант не может быть “разделен” каким-либо термином и оставаться импликантом.)
Таким образом, и x2 ;x3, и ;x1 ;x3 являются основными импликантами f = x2 ;x3 + ;x1 ;x3 + x2 x1 ;x3 , но x2 x1 ;x3 - нет.
Взаимосвязь между импликантами и простыми импликантами может быть геометрической- это можно проиллюстрировать, используя кубическое представление для булевых функций. Рассмотрим, например, функцию f = x2 ;x3 + ;x1 ;x3 + x2 x1 ;x3 . Мы проиллюстрируем это на рис. 2.3. Обратите внимание, что каждая из трех плоскостей на рисунке “отсекает” группу вершин, имеющих значение 1, но ни одна из них не отсекает вершины, имеющие значение 0. Эти плоскости являются изобразительными элементами, используемыми для выделения определенных низкоразмерных подповерхностей куба. Два из них изолируют одномерные ребра, а третий изолирует нульмерную вершину. Каждая группа вершин на подповерхности соответствует одна из импликант функции, f , и, следовательно, каждая импликанта соответствует подповерхности некоторой размерности. K-мерная подповерхность соответствует импликант-члену (n ; k) размера. Функция записывается как дизъюнкция импликант, соответствующая объединению всех вершин, отсеченных всеми плоскостями. Геометрически импликант является простым тогда и только тогда, когда соответствующая ему подповерхность является самой большой размерной подповерхностью, которая включает в себя все его вершины и
2.2. КЛАССЫ БУЛЕВЫХ ФУНКЦИЙ 19
никаких других вершин, имеющих значение 0, нет. Обратите внимание, что член x2 x1 ;x3 не является простым числом импликант f . (В этом случае нам даже не нужно включать этот член в функцию, потому что вершина, отсеченная плоскостью, соответствующей x2 x1 ;x3 , уже отсечена плоскостью, соответствующей x2 ;x3 .) Две другие импликанты являются простыми, поскольку их соответствующие подповерхности не могут быть расширены без включения вершин, имеющих значение 0.
 являются основными импликантами
Рисунок 2.3: Функция и ее импликанты
Обратите внимание, что все логические функции могут быть представлены в DNF тривиально с помощью дизъюнкции членов размера n, где каждый член соответствует одной из вершин n, значение которой равно 1. В то время как в DNF существует 22n функции n измерений (поскольку  любая логическая функция может быть записана в DNF), в k-DNF всего 2O(nk ) функций.
Все логические функции также могут быть представлены в DNF, в котором каждый член является простым импликантом, но это представление не является уникальным, как показано на рис. 2.4.
Если мы можем выразить функцию в форме DNF, мы можем использовать метод консенсуса, чтобы найти выражение для функции, в котором каждый член является основной импликантой. Метод консенсуса основан на двух результатах:
Мы можем заменить этот раздел на
раздел, описывающий метод
Куайна-Маккласки.
• Консенсус:
20
ГЛАВА 2. ЛОГИЧЕСКИЕ ФУНКЦИИ
Все термины являются первичными импликантами, но
однозначного представления не существует
Рисунок 2.4: Неединственность представления с помощью простых импликантов
xi · f1 + ;xi · f2 = xi · f1 + ;xi · f2 + f1 · f2,
где f1 и f2 являются терминами, так что ни один литерал, появляющийся в f1, не дополняется в f2. f1 · f2 называется консенсусом xi · f1 и xi ·f2. Читатели, знакомые с правилом логического вывода о разрешении, заметят, что консенсус - это двойственное решение.
Примеры: x1 - это консенсус между x1 x2 и x1 ;x2 . Термины ;x1 x2 и x1 ;x2 не имеют консенсуса, поскольку у каждого термина есть несколько букв, которые дополняются другими.
• Включение:
xi · f1 + f1 = f1 ,
где f1 - это термин \член\. Мы говорим, что f1 включает в себя \подсумма\ xi · f1 .
Пример: ;x1 ;x4 x5 включает в себя ;x1 ;x4 ;x2 x5
2.2. КЛАССЫ БУЛЕВЫХ ФУНКЦИЙ 21
Согласованный \консенсуса\ метод нахождения набора простых импликант для функции f повторяет следующие операции с терминами выражения DNF для f до тех пор, пока больше такие операции не будут применены:
a. инициализируйте процесс с помощью набора T терминов в DNF-выражении f,
b. вычислите согласованность пары терминов в T и добавьте результат к T ,
c. исключите все термины в T, которые входят в другие термины в T .
Когда этот процесс останавливается, все оставшиеся в T члены являются первичными импликантами f.
Пример: Пусть f =; x1 x2 + ;x1 ;x2 x3 + ;x1 ;x2 ;x3 ;x4 x5 . Мы показываем вывод набора простых импликант в консенсусном дереве на фиг. 2.5. Цифры, обведенные кружком рядом с терминами, указывают на порядок, в котором достигается консенсус и исключение были выполнены операции. Заштрихованные поля, окружающие термин, указывают на то, что он был включен в категорию. Конечная форма функции, в которой все термины являются простыми импликантами, такова: f = ;x1 x2 + ;x1 x3 + ;x1 ;x4 x5 . Его терминами являются все
термины, не включенные в дерево консенсуса.

Рисунок 2.5: Согласованное дерево
2.2.3 Функции CNF
Дизъюнктивная нормальная форма имеет двойственную форму: конъюнктивную нормальную форму (CNF). Логическая функция называется находящейся в CNF, если она может быть записана как соединение предложений.
22
ГЛАВА 2. ЛОГИЧЕСКИЕ ФУНКЦИИ
Примером в CNF является: f = (x1 + x2 )(x2 + x3 + x4 ). Выражение CNF называется выражением CNF с k-образным предложением, если оно представляет собой соединение k предложений; оно относится к классу k-CNF, если размер его наибольшего предложения равен k. Примером является выражение из 2 предложений в 3-CNF. Если f записано в DNF, применение закона Де Моргана преобразует ;f в CNF, и наоборот. Поскольку CNF и DNF являются двойственными, в k-CNF также есть функции 2O (n k ).
2.2.4 Списки решений
Ривест предложил класс булевых функций, называемых списками решений [Rivest, 1987]. Список решений записывается в виде упорядоченного списка пар:
(tq , vq )
(tq;1 , vq;1 )
···
(ti , vi )
···
(t2 , v2 )
(T, v1 )
где vi равны 0 или 1, ti - это члены в (x1 , . . . , xn ), а T - это член, значение которого равно 1 (независимо от значений xi ). Значением списка решений является значение vi для первого ti в списке, которое имеет значение 1. (По крайней мере, один ti будет иметь значение 1, потому что последний имеет значение; v1 можно рассматривать как значение по умолчанию для списка решений.) Список решений имеет размер k, если размер самого большого члена в нем равен k. Класс списков решений размером k или меньше называется k-DL.
Примером списка решений является:
f=
(;x1 x2 , 1)
(;x1 ;x2 x3 , 0)
;x2 x3 , 1)
(1, 0)
значение f равно 0 для x1 = 0, x2 = 0 и x3 = 1. Он имеет значение 1 для x1 = 1, x2 = 0 и x3 = 1. Эта функция находится в 3-DL.
Было показано, что класс k-DL является строгим надмножеством объединения k k-DNF и k-CNF. В k-DL есть 2O[n k log(n)]  функций[Ривест, 1987].
Интересные обобщения списков решений используют другие логические функции вместо терминов, ti . Например, мы могли бы использовать линейно разделяемые функции вместо ti (см. ниже и [Marchand & Golea, 1993]).
2.2. КЛАССЫ БУЛЕВЫХ ФУНКЦИЙ 23
2.2.5 Симметричные функции и функции голосования
Булева функция называется симметричной, если она инвариантна относительно перестановок входных переменных. Например, любая функция, зависящая только от количества входных переменных, значения которых равны 1, является симметричной функцией. Функции четности, которые имеют значение 1 в зависимости от того, является ли число входных переменных со значением 1 четным или нечетным, являются симметричными функциями. (Функция исключающего или, показанная на рис. 2.1, является двухмерной функцией нечетной четности. Функции or и and в двух измерениях также симметричны.)
Важным подклассом симметричных функций является класс функций голосования (также называемых функциями m из n). Функция k-голосования имеет значение 1 тогда и только тогда, когда k или более из ее n входных данных имеют значение 1. Если k = 1, функция голосования совпадает с предложением размером n; если k = n, функция голосования совпадает с термином размером n; если k = (n + 1) / 2 для n нечетных или k = 1 + n / 2 для n четных, то мы имеем мажоритарную функцию.
2.2.6 Линейно разделяемые функции
Линейно разделяемые функции - это те, которые могут быть выражены следующим образом:
где wi , i = 1, . . . , n - вещественные числа, называемые весами, ; — вещественное число, называемое порогом\трешхолд\, а порог (;, ;) равен 1, если ; ; ;, и 0 в противном случае. (Обратите внимание, что концепция линейно разделяемых функций может быть расширена на логические входные данные.) Все функции с k-голосованием являются членами класса линейно разделяемых функций, в которых все веса имеют единичное значение, а пороговое значение зависит от k. Таким образом, термины и предложения являются частными случаями линейно разделяемых функции.
Удобный способ записи линейно разделяемых функций - использование векторной записи:
f = thresh(X · W, ;)
, где X = (x1 , . . . , xn ) - n-мерный вектор входных переменных, W = (w1 , . . . , wn ) - n-мерный вектор значений веса, а X · W — точка (или внутреннее) произведение двух векторов. Входные векторы, для которых f имеет значение 1, лежат в полупространстве по одну сторону (и на) гиперплоскости, ориентация которой перпендикулярна W и положение которой (относительно начала координат) определяется ;. Мы видели пример такой разделяющей плоскости на рис. 1.6. С этой идеей  в голове, легко видеть, что две функции на рис. 2.1 линейно разделимы, а две - нет. Также обратите внимание, что члены на рис. 2.3 и 2.4 являются линейно разделимыми функциями, о чем свидетельствуют показанные разделяющие плоскости.
Не существует замкнутого выражения для числа линейно разделяемых функций n измерений, но в следующей таблице приведены числа для n с точностью до 6.
24
ГЛАВА 2. ЛОГИЧЕСКИЕ ФУНКЦИИ

Логическое значение
Функции
Линейно разделяемый
Функции
[Мурога, 1971] показал, что (при n > 1) существует не более 2n2 линейно разделимых функций n размерностей. (См. также [Уиндер, 1961, Уиндер, 1962].)
2.3 Краткое изложение
На диаграмме на рис. 2.6 показаны некоторые из рассмотренных нами классов булевых функций, включающих множество функций. Мы еще встретимся с этими классами в последующих главах.

k-размерные термины
термины
(Все)
Рисунок 2.6: Классы булевых функций
Размеры различных классов приведены в следующей таблице (адаптировано из
[Диттерих, 1990, стр. 262]):
2.4. БИБЛИОГРАФИЧЕСКИЕ И ИСТОРИЧЕСКИЕ ЗАМЕЧАНИЯ

Класс
пункты условий
k-член DNF
k-предложение CNF
Размер класса
2.4 Библиографические и исторические замечания
Будут добавлены позднее.
26
ГЛАВА 2. ЛОГИЧЕСКИЕ функции
глава 3
Использование пробелов версий для
Обучения
3.1 Версионные пространства и границы ошибок
Первые методы обучения, которые мы представляем, основаны на понятиях версионных пространств и графов версий. Эти идеи наиболее наглядно объясняются для случая изучения булевых функций. Учитывая начальный набор гипотез H (подмножество всех логических функций) и значения f (X) для каждого X в обучающем наборе, ;, пространство версий - это то подмножество гипотез, Hv, которое согласуется с этими значениями. Гипотеза h согласуется со значениями X в ; тогда и только тогда, когда h(X) = f (X) для всех X в ;. Мы говорим, что гипотезы в H, которые не имеют значения, соответствующие значениям в обучающем наборе, исключаются обучающим набором.
Мы могли бы представить (только концептуально!), что у нас есть устройства для реализации каждой функции в H. Затем можно было бы определить процедуру поэтапного обучения, которая представляла бы каждый шаблон в ; для каждой из этих функций, а затем исключала бы те функции, значения которых для этого шаблона не совпадали с его заданным значением. Тогда на любом этапе процесса мы бы оставили некоторое подмножество функций, которые согласуются с представленными до сих пор шаблонами; это подмножество
это пространство версий для уже представленных шаблонов. Эта идея проиллюстрирована на рис. 3.1.
Рассмотрим следующую процедуру классификации произвольного входного шаблона, X: шаблон помещается в тот же класс (0 или 1), что и большинство выходных данных функций в пространстве версий. Во время процедуры обучения, если это большинство не равно значению представленного шаблона, мы говорим, что допущена ошибка, и соответствующим образом пересматриваем пространство версий, устраняя все то (большинство) из функций,  проголосовавших неправильно. Таким образом, всякий раз, когда обнаруживается ошибка. если это сделано, мы исключаем по крайней мере половину функций, оставшихся в пространстве версий.
Сколько ошибок может допустить такая процедура? Очевидно, что мы можем допустить не более log2 (|H|) ошибок, где |H| - количество гипотез в
27
28
ГЛАВА 3. ИСПОЛЬЗОВАНИЕ ПРОСТРАНСТВ ВЕРСИЙ ДЛЯ ОБУЧЕНИЯ
Подмножество H из всех
Логические функции
Исключают гипотезы, не
соответствующие шаблонам обучения

Не исключенные гипотезы
образуют пространство версий
Рисунок 3.1: Реализация пространства версий.

исходного набора гипотез H. (Обратите внимание, однако, что количество обучающих шаблонов замеченное до этого максимальное количество ошибок может быть намного больше.) Этот теоретический (и очень непрактичный!) результат (благодаря [Littlestone, 1988]) является примером ограничения на ошибку — важного понятия в теории машинного обучения. Оно показывает, что должна существовать процедура обучения, которая допускает не больше ошибок, чем эта верхняя граница. Позже мы выведем другие границы ошибок.
В качестве частного случая, если бы мы стремились ограничить H терминами, мы бы допустили не более log2 (3n) = n log2 (3) = 1,585n ошибок, прежде чем исчерпать пространство версий. Этот результат означает, что если бы f был термином, мы бы допустили не более 1,585n ошибок, прежде чем обучить f, а в противном случае мы бы не допустили более такого количества ошибок, прежде чем смогли бы решить, что f не является термином.
Даже если у нас нет достаточного количества обучающих шаблонов, чтобы сократить пространство версий до одной функции, возможно, существует достаточно обучающих шаблонов, чтобы уменьшить пространство версий до набора функций таким образом, чтобы большинство из них присваивали одинаковые значения большинству шаблонов, которые мы увидим в дальнейшем. Мы могли бы выбрать произвольно выберите одну из оставшихся функций и будьте уверены, что она будет удовлетворительно обобщена. Далее мы обсудим более выполнимый с точки зрения вычислений метод представления пространства версий.
3.2 Графы версий 29
3.2. ГРАФЫ ВЕРСИЙ
Логические функции могут быть упорядочены по общности. Логическая функция f1 является более общей, чем функция f2 (и f2 более специфична, чем f1 ), если f1 имеет значение 1 для всех аргументов, для которых f2 имеет значение 1, и f1 ; f2 . Например, x3 является более общим, чем x2 x3, но не более общим, чем x3 + x2 .
Мы можем построить граф с гипотезами {hi } в пространстве версий в виде узлов. Узел в графе, hi , имеет дугу, направленную к узлу, hj , тогда и только тогда, когда hj является более общим, чем hi . Мы называем такой граф графом версий. На рис. 3.2 мы показываем пример графа версий в трехмерном входном пространстве для гипотез, ограниченных терминами (при этом ни один из них еще не исключен).

график версий x3 для терминов
(пока не исключен ни один)
(для простоты показаны только некоторые дуги на графике)
Рисунок 3.2: Граф версий для терминов
Эта функция, обозначенная здесь как “1”, которая имеет значение 1 для всех входных данных, соответствует узлу в верхней части графика. (Это более общий термин, чем любой другой). Аналогично, функция “0” находится в нижней части графика. Чуть ниже “1” находится ряд узлов, соответствующих всем терминам, имеющим только один литерал, а чуть ниже них - ряд узлов, соответствующих терминам, имеющим два литерала, и
30
ГЛАВА 3. ИСПОЛЬЗОВАНИЕ ПРОСТРАНСТВ ВЕРСИЙ ДЛЯ ИЗУЧЕНИЯ
и т.д. Всего существует 33 = 27 функций (функция “0”, включенная в график, технически не является термином). Чтобы сделать наше изображение графа менее наглядным. загроможденными показаны только некоторые дуги; каждый узел на реальном графе имеет
дугу, направленную ко всем узлам над ним, которые являются более общими.
Мы используем этот же пример, чтобы показать, как меняется граф версий, когда мы рассматриваем набор помеченных выборок в обучающем наборе, ;. Предположим, что мы сначала рассматриваем обучающий шаблон (1, 0, 1) со значением 0. Некоторые функции на графе версий на рис. 3.2 не соответствуют этому шаблону обучения. Эти исключенные узлы больше не отображаются на графе версий и показаны заштрихованными на рис. 3.3. Мы также покажем трехмерное представление куба, в котором вершина (1, 0, 1) имеет значение 0.

1, 0, 1 имеет
значение 0
В новой версии графа
исключены узлы
(показаны только некоторые дуги на графе)
Рисунок 3.3: Граф версий при просмотре (1, 0, 1)
В графе версий всегда есть набор гипотез, которые являются максимально общими, и набор гипотез, которые являются максимально конкретными. Они называются общим набором границ (gbs) и конкретным набором границ (sbs) соответственно. На рис. 3.4 мы видим граф версий в том виде, в каком он существует после того, как мы узнали, что (1,0,1) имеет значение 0, а (1, 0, 0) - значение 1. Показаны графы больших и малых версий.
3.2. ГРАФЫ ВЕРСИЙ 31

1, 0, 1 имеет
значение 0
1, 0, 0 имеет
значение 1
общий набор границ (gbs)
более конкретный, чем gbs,
более общий, чем sbs
конкретный набор границ (sbs)
Рисунок 3.4: Граф версий при просмотре (1, 0, 1) и (1, 0, 0)

Наборы границ важны, поскольку они предоставляют альтернативу явному представлению всего пространства версий, что было бы непрактично. Учитывая только граничные множества \наборы\, можно определить, является ли какая- либо гипотеза (в заданном классе булевых функций, которые мы используем) членом пространства версий или нет. Это определение возможно благодаря тому факту, что любой элемент \член\ пространства версий (который не является членом ни одного из граничных наборов) является более специфичным, чем какой-либо элемент общего граничного набора, и является более более общим, чем какой-либо элемент конкретного граничного множества \набора\.
Если мы ограничим наши логические функции, которые могут находиться в пространстве версий, терминами, то будет просто определить максимально общие и максимально специфичные функции (предполагая, что существует некоторый термин, который находится в пространстве версий).  Максимально конкретная из них соответствует подповерхности минимальной размерности, которая содержит все элементы обучающего набора, помеченные знаком 1, и не содержит элементов обозначаемых цифрой 0. Максимально общая из них соответствует подповерхности максимальной размерности, которая содержит все элементы обучающего набора, помеченные 1 и нет членов \участников\, помеченных знаком 0. Глядя на рис. 3.4, мы видим, что подповерхность минимальной размерности, которая содержит (1, 0, 0), но не содержит (1, 0, 1), является просто самой вершиной (1, 0, 0), соответствующей функции x1 ;x2 ;x3. Подповерхность
32 ГЛАВА 3. ИСПОЛЬЗОВАНИЕ ПРОСТРАНСТВ ВЕРСИЙ ДЛЯ ОПРЕДЕЛЕНИЯ максимальной размерности, которая содержит (1, 0, 0), но не содержит (1, 0, 1), является нижней гранью куба, соответствующей функции x3. На рис. 3.2 -3.4 sbs всегда в единственном числе. Пространства версий для терминов всегда имеют особые наборы границ в единственном числе. Однако, как видно из рис. 3.3, gbs в пространство версий для терминов не обязательно должно быть в единственном числе.
3.3. Обучение как поиск пространства версий
Сравните это представление о соотношении
 "сверху вниз" и "снизу вверх" с методами "
разделяй и властвуй" и
методами построения дерева решений
на основе охвата (или AQ)

[Будет написано позднее. Соотносится с алгоритмом изучения терминов, представленным в главе Два. Также обсудите наилучшие методы поиска в первую очередь. Посмотрите пример Пэта Лэнгли с использованием “псевдоклеток” о том, как генерировать и исключать гипотезы.]
Выбор гипотезы из пространства версий можно рассматривать как проблему поиска. Можно начать с очень общей функции и специализировать ее с помощью различных операторов специализации, пока не будет найдена функция, которая согласуется (или в достаточной степени соответствует) с набором шаблонов обучения. Такие процедуры обычно
называются нисходящими методами. Или можно начать с очень специальной функции и обобщить ее, что приведет к методам "снизу вверх" \восходящими\. В этой книге мы увидим примеры обоих стилей обучения.
3.4.Метод исключения кандидатов
Метод исключения кандидатов - это пошаговый метод вычисления граничных множеств. Цитата из [Hirsh, 1994, стр. 6]:
“Алгоритм исключения кандидатов манипулирует набором границ представление пространства версий для создания наборов границ, которые представляют новое пространство версий, согласованное со всеми предыдущими экземплярами, а также с новым. В качестве положительного примера алгоритм обобщает элементы [sbs] настолько, насколько это возможно, чтобы они охватывали новый экземпляр, но при этом оставались согласованными с предыдущими данными, и удаляет те элементы [gbs], которые не охватывают новый экземпляр. Для отрицательного экземпляра алгоритм специализирует элементы [gbs] таким образом, что они больше не охватывают новый экземпляр, но остаются неизменными- сопоставляется с прошлыми данными и удаляет из [sbs] те элементы, которые
ошибочно относятся к новому, отрицательному экземпляру”.
В методе используется [ следующие определения (адаптированы из Genesereth & Nilsson, 1987]):
• гипотеза называется достаточной тогда и только тогда, когда она имеет значение 1 для всех обучающих выборок, помеченных знаком 1,
• гипотеза называется необходимой тогда и только тогда, когда она имеет значение 0 для всех обучающих выборок, помеченных знаком 0.
3.4. МЕТОД ИСКЛЮЧЕНИЯ КАНДИДАТОВ 33
Вот как следует относиться к этим определениям: Гипотеза реализует достаточное условие, при котором обучающая выборка имеет значение 1, если гипотеза имеет значение 1 для всех положительных примеров; гипотеза реализует необходимое условие, при котором обучающая выборка имеет значение 1, если гипотеза имеет значение 0 для всех отрицательных примеров. Гипотеза согласуется с обучающим набором (и, следовательно, находится в пространстве версий) тогда и только тогда, когда она является достаточной и необходимой.
Мы начинаем (до получения каких-либо элементов обучающего набора) с функции “0” в качестве одноэлементного элемента конкретного граничного набора и с функцией “1” в качестве единичного элемента общего набора границ. При получении нового помеченного входного вектора наборы границ изменяются следующим образом:
a. Если новый вектор помечен 1:
Новый общий набор границ получается из предыдущего путем исключения из него любых элементов, которых недостаточно. (То есть мы исключаем любые элементы, которые имеют значение 0 для нового вектора.)
Новое конкретное граничное множество получается из предыдущего путем перестановки в нем каждого элемента, hi , по всем его наименьшим обобщениям.
Гипотеза hg является наименьшим обобщением h тогда и только тогда, когда: a) h является более специфичен, чем hg, б) hg достаточен, в) ни одна функция (включая h), которая была бы более специфичной, чем hg, не является достаточной, и г) hg более специфична, чем какой -либо элемент нового общего граничного набора. Возможно, что hg = h. Кроме того, наименьшие обобщения двух различных функций в конкретном граничном наборе могут быть идентичными.
b. Если новый вектор помечен значением 0:
Новый конкретный граничный набор получается из предыдущего путем исключения из него любых элементов, которые не являются необходимыми. (То есть мы исключаем все элементы, которые имеют значение 1 для нового вектора.)
Новый общий набор границ получается из предыдущего путем перестановки в нем каждого элемента, hi , по всем его наименьшим специализациям.
Гипотеза hs является наименьшей специализацией h тогда и только тогда, когда: a) h является более общим, чем hs, б) hs необходим, в) никакая функция (включая h), которая является более общей, чем hs, не является необходимой, и г) hs является более общим, чем какой -либо член набора новой конкретной границы. Опять же, может случиться так, что hs = h, и наименьшие специализации двух разных функций в общем граничном наборе могут быть идентичными.
В качестве примера предположим, что мы представляем векторы в следующем порядке:
вектор
метка
ГЛАВА 3. ИСПОЛЬЗОВАНИЕ ПРОСТРАНСТВ ВЕРСИЙ ДЛЯ ОБУЧЕНИЯ

Мы начинаем с общего набора границ “1” и конкретного набора границ “0”. После просмотра первого примера (1, 0, 1), помеченного 0, конкретный набор границ остается равным “0” (это необходимо), а общий набор границ изменяется на {x1, x2 , x3 }. Каждая из функций, x1 , x2 и x3 , являются наименьшими специализациями “1” (они необходимы, “1” - нет, они более общие, чем “0”, и нет функций, которые были бы более общими, чем они, и также необходимыми).
Затем, после просмотра (1, 0, 0), помеченных знаком 1, набор общая граница изменяется на {x3 } (поскольку x1 и x2 недостаточно), а конкретный набор границ изменяется на {x1 x2 x3 }. Эта единственная функция является наименьшим обобщением “0” (ее достаточно, “0” более конкретно, чем она, ни одна функция (включая “0”) не является более конкретной, чем она достаточна, и она более конкретна, чем какой-либо элемент общего граничного множества.
Возможно, я приведу пример графа версий для небулевых функций.
Когда мы видим (1, 1, 1), помеченный значением 0, мы не меняем конкретный набор границ, потому что его функция по-прежнему необходима. Мы не меняем значение общего набора границ либо потому, что ;x3 все еще необходим.
Наконец, когда мы видим (0, 0, 1), помеченный 0, мы не меняем конкретный набор границ, поскольку его функция по-прежнему необходима. Мы также не меняем общий набор границ, поскольку ;x3 по-прежнему необходим.


3.5.Библиографические и исторические замечания
Предстоит добавить еще
Концепция пространств версий и их роль в обучении были впервые исследованы Томом Митчеллом [Mitchell, 1982]. Хотя эти идеи не используются в практических процедурах машинного обучения, они дают представление о природе выбор гипотезы. Чтобы учесть зашумленные данные, в работе [Hirsh, 1994] были обобщены пространства версий, позволяющие выдвигать гипотезы, которые не обязательно согласуются с обучающей выборкой.
Глава 4
Нейронные сети
Во второй главе мы определили несколько важных подмножеств булевых функций.  Предположим, мы решили использовать одно из этих подмножеств в качестве набора гипотез для обучения функций под наблюдением. Далее у нас возникает вопрос о том, как наилучшим образом реализовать функцию в качестве устройства, которое выдает выходные данные, предписанные функцией для произвольных входных данных. В этой главе мы опишем, как сети из нелинейных элементов могут использоваться для реализации различных функций ввода-вывода и как их можно обучать с помощью методов контролируемого обучения.
Сети из нелинейных элементов, соединенные между собой с помощью регулируемых весов, играют важную роль в машинном обучении. Они называются нейронными сетями, потому что входные данные нелинейных элементов представляют собой взвешенную сумму выходных данных других элементов - во многом так же, как это делают сети биологических нейронов. Эти сети обычно используют пороговый элемент, с которым мы встречались во второй главе в нашем исследовании линейно разделяемых булевых функций. Мы начинаем наше рассмотрение нейронных сетей с обучения этого порогового элемента и того, как его можно использовать в простейших из всех сетей, а именно в сетях, состоящих из одного порогового элемента.
4.1Пороговые логические единицы
4.1.1 Определения и геометрия
Линейно разделяемые (пороговые) функции реализуются простым способом путем суммирования взвешенных входных данных и сравнения этой суммы с пороговым значением, как показано на рис. 4.1. Эту структуру мы называем пороговым логическим модулем (TLU). Его выходной сигнал равен 1 или 0 в зависимости от того, превышает ли взвешенная сумма его входных сигналов пороговое значение ;. Его также называют Adaline (адаптивный линейный элемент). [Widrow, 1962, Widrow & Lehr, 1990], LTU (линейный пороговый модуль), персептрон и нейрон. (Хотя в настоящее время слово “ перцептрон” часто используется для обозначения отдельного TLU, Розенблатт первоначально определял его как класс сетей с пороговыми элементами [Rosenblatt, 1958].)
35
36
ГЛАВА 4. НЕЙРОННЫЕ СЕТИ

порог
пороговый вес
порог()
Рисунок 4.1: Пороговый логический модуль (TLU)
N-мерный элемент или входной вектор обозначается как X = (x1 , . . . , xn ). Если мы хотим различать различные векторы признаков, мы будем использовать индексы, такие как Xi. Компонентами X могут быть любые вещественные числа, но мы часто специализируемся на двоичных числах 0 и 1. Веса TLU представлены n-мерным вектором весов, W = (w1 , . . . , wn ). Его компонентами являются P вещественных чисел (но иногда мы специализируемся на целых числах). N Результат TLU равен 1, если ;i=1n xi wi ; ;; в противном случае результат равен 0.  Взвешенная сумма, вычисляемая с помощью TLU, может быть просто представлена в виде векторного скалярного произведения X•W. (Если векторы структуры \шаблоны\ и веса рассматриваются как векторы “столбцов”, то это скалярное произведение иногда записывается как XtW, где вектор “строк” Xt является преобразованием X.) Часто пороговое значение ; для TLU фиксируется равным 0; в этом случае произвольное пороговые значения достигаются с помощью (n + 1)- мерных “дополненных” векторов Y и V, первые n компонентов которых совпадают с компонентами X и W соответственно. (n + 1)-й компонент, xn+1 , из расширенного вектора признаков, Y, всегда имеет значение 1; (n + 1)-я составляющая,
wn+1 , расширенного вектора веса, V, устанавливается равной отрицательному значению требуемого порогового значения. (Когда мы хотим подчеркнуть использование расширенных векторов, мы будем использовать обозначения Y,V; однако, когда из контекста обсуждения станет ясно, о каких векторах идет речь, мы вернемся к более привычным обозначениям X,W.) В обозначениях Y,V значение TLU равно 1, если Y•V ; 0. В противном случае значение равно 0.
Мы можем дать интуитивно понятное геометрическое описание TLU. Значение TLU делит входное пространство гиперплоскостью, как показано на рис. 4.2. Гиперплоскость является границей между узорами, для которых X•W + wn+1 > 0, и узорами, для которых X•W + wn+1 < 0. Таким образом, уравнение самой гиперплоскости имеет вид X•W + wn+1 = 0. Единичный вектор, перпендикулярный гиперплоскости, равен n = W/|W|, p, где |W| = ;w12 + . . . + wn2 ) - длина вектора W. (
4.1. Логические ЕДИНИЦЫ порога 37
Нормальная форма уравнения гиперплоскости равна X•n + W/|W|= 0.) Расстояние от гиперплоскости до начала координат равно Wn+1/ |W| , а расстояние от произвольной точки X,
до гиперплоскости равно (X•W+Wn+1)/ |W|. Когда расстояние от гиперплоскости до начала координат отрицательно (то есть, когда wn+1 < 0), то начало координат находится на отрицательной стороне гиперплоскости (то есть на стороне, для которой X•W + wn+1 < 0).

Уравнения гиперплоскости:
с этой стороны
с этой стороны
Начало координат
Единичный вектор, перпендикулярный гиперплоскости
Рисунок 4.2: Геометрия TLU
Настройка весового вектора W изменяет ориентацию гиперплоскости; настройка wn+1 изменяет положение гиперплоскости (относительно начала координат). Таким образом, обучение TLU может быть достигнуто путем корректировки значений весов. Тогда, гиперплоскость может быть перемещена таким образом, чтобы TLU реализовывал различные
(линейно разделяемые) функции ввода.
4.1.2 Частные случаи линейно разделимых функций

Условия \Члены, Термины, Термы\
Любой член размера k может быть реализован с помощью TLU с весом от каждого из этих входных данных, соответствующим переменным, встречающимся в этом члене. Вес, равный +1, используется для входных данных, соответствующих положительному литералу, а вес, равный -1, используется для входных данных, соответствующих отрицательному литералу. (Литералы, не упомянутые в термине, имеют нулевой вес, то есть вообще не имеют связи со своими входными данными.) Пороговое значение ; устанавливается равным kp ; 1/2, где kp - количество положительных литералов в термине. Такой TLU реализует границу гиперплоскости, которая
38 ГЛАВА 4. НЕЙРОННЫЕ СЕТИ
параллельна подповерхности размерности (n ; k) единичного гиперкуба.  Трехмерный пример показан на рис. 4.3. Таким образом, линейно разделимые функции являются надмножеством термов.
Уравнение плоскости имеет вид:
Рисунок 4.3: Реализация условия
Предложения \Статьи\
Отрицание предложения - это термин. Например, отрицание предложения f = x1 + x2 + x3 - это термин ;f = ;x1 ;x2 ;x3 . Для реализации этого термина можно использовать гиперплоскость. Если мы “инвертируем” гиперплоскость, вместо этого будет реализовано предложение. Инвертирование гиперплоскости выполняется путем умножения всех TLU весов — даже wn+1 - на -1. Этот процесс просто изменяет ориентацию гиперплоскости, поворачивая ее на 180 градусов и, таким образом, изменяя ее “положительную сторону”. Следовательно, линейно разделяемые функции также являются надмножеством предложений. Мы покажем пример на рис. 4.4.
4.1.3 Обучение TLU с помощью исправления ошибок
Существует несколько процедур, которые были предложены для корректировки весов
TLU. Далее мы представляем семейство дополнительных процедур обучения с
параметром c. Эти методы вносят коррективы в вектор веса только в том случае, если
обучаемый TLU допускает ошибку в обучающем шаблоне; они называются
процедурами исправления ошибок. При их описании мы используем расширенные векторы признаков и весовых
коэффициентов.
a. Мы начинаем с конечного обучающего набора ;, состоящего из векторов Yi и их двоичных
меток.
4.1. ПОРОГОВЫЕ ЛОГИЧЕСКИЕ ЕДИНИЦЫ 39
Уравнение плоскости:
Рисунок 4.4: Реализация предложения
б. Составьте бесконечную обучающую последовательность ; из векторов из ; и их меток таким образом, чтобы каждый элемент ; бесконечно часто встречался в ;. Установите начальные значения веса TLU произвольными.
c. Повторяйте бесконечно:
Представьте следующий вектор, Yi , в ; для TLU и обратите внимание на его реакцию.
(a) Если TLU ответит правильно, не меняйте весовой вектор.
(b) Если предполагается, что Yi выдает результат, равный 0, а вместо этого выдает результат, равный 1, измените весовой вектор следующим образом:
V;V-ciYi
Где ci -положительное действительное число, называемое параметром скорости обучения (значение которого отличается в разных случаях этого семейства процедур и может зависеть от i).
Обратите внимание, что после этой корректировки новое скалярное произведение будет (V ;
ci Yi )•Yi = V•Yi ; ci Yi •Yi , что меньше, чем было до корректировки веса.
(c) Если предполагается, что значение Yi  должно быть равно 1, а вместо этого значение Yi равно 0, измените вектор веса следующим образом:
V ; V + ci Yi
В этом случае новым точечным произведением будет (V + ci Yi )•Yi = V•Yi +
ci Yi •Yi , которое больше, чем было до корректировки веса.
Обратите внимание, что все три этих случая можно объединить в следующем правиле:
ГЛАВА 4. НЕЙРОННЫЕ СЕТИ 40
V ; V + ci (di ; fi )Yi,
где di - желаемый ответ (1 или 0) для Yi , а fi — фактический ответ (1 или 0) для Yi .]
Также обратите внимание, что, поскольку весовой вектор V теперь включает в себя пороговую составляющую wn+1 , пороговое значение TLU также изменяется в результате этих
корректировок.
Смотрите [Maass & Tur;n, 1994] о процедуре поиска гиперплоскости, которая составляет не более O(n2 log n)
ошибки.
Мы выделяем два варианта этой процедуры:
1) В процедуре с фиксированным шагом параметр скорости обучения, ci , является одной и той же фиксированной положительной константой для всех i. В зависимости от значения этой константы корректировка веса может корректировать или не корректировать реакцию на ошибочно классифицированный вектор признаков.
2) В процедуре частичной коррекции параметру ci присваивается значение ;(Yi •V)/(Y i •Yi),  где V - весовой вектор до его изменения. Обратите внимание, что если ; = 0, коррекция вообще не выполняется. Если ; = 1, коррекции достаточно, чтобы сделать Yi •V = 0. Если ; > 1, ошибка будет исправлена.
Можно доказать, что если существует некоторый весовой вектор V, который выдает корректный результат для всех векторов признаков в ;, то после конечного числа представлений вектора признаков процедура с фиксированным приращением найдет такой весовой вектор и, таким образом, больше не будет вносить изменений в вес. Тот же результат остается в силе для процедуры частичной коррекции, если 1 < ; ; 2.
Дополнительные сведения, доказательства и примеры процедур исправления ошибок
приведены в [Nilsson, 1990].
4.1.4 Весовое пространство
Мы можем дать интуитивное представление о том, как работают эти процедуры, рассмотрев, что происходит с расширенным вектором веса в “пространстве весов” при внесении исправлений. В нашем обсуждении мы используем расширенные векторы, чтобы пороговая функция сравнивала скалярное произведение Yi •V с пороговым значением, равным 0. Конкретный вектор веса, V, тогда соответствует точке с (n + 1)-мерным весом пространство. Теперь для любого вектора структуры Yi рассмотрим местоположение всех точек в пространстве весов, соответствующих векторам весов, в результате чего Yi •V = 0. Это местоположение представляет собой гиперплоскость, проходящую через начало координат (n + 1)-мерного пространства. Каждому вектору шаблона будет соответствовать такая гиперплоскость. Весовые точки в одном из полупространств, определенных этой гиперплоскостью, приведут к тому, что соответствующий шаблон даст скалярное произведение, меньшее 0, а весовые точки в другом полупространстве приведут к тому, что соответствующий шаблон даст скалярное произведение, большее 0.
Мы показываем схематическое представление такого весового пространства на рис. 4.5. Существуют четыре шаблонные гиперплоскости, 1, 2, 3, 4, соответствующие шаблонам Y1,
4.1. ПОРОГОВЫЕ ЛОГИЧЕСКИЕ ЕДИНИЦЫ 41
Y2 , Y3 , Y4 соответственно, и мы указываем стрелкой полупространство для каждого
из них, в котором весовые векторы дают точечные произведения, превышающие 0. Предположим, нам нужны значения веса, которые давали бы положительные ответы для шаблонов Y1, Y3 и Y4 и отрицательные ответы для шаблона Y2. Точка веса, V, указанная на
рисунке, является одним из таких наборов значений веса.

Рисунок 4.5: Распределение веса
Вопрос о том, существует ли весовой вектор, который дает желаемые ответы для данного набора шаблонов, и может быть истолкован геометрически. Для этого необходимо изменить “полярность” тех гиперплоскостей, которые соответствуют шаблонам, для которых желателен отрицательный ответ. Если мы сделаем это для нашего примера, приведенного выше, мы получим диаграмму распределения веса, показанную на рис. 4.6.

Рисунок 4.6: Область решения в весовом пространстве
ГЛАВА 4. НЕЙРОННЫЕ СЕТИ 42
Если существует весовой вектор, который правильно классифицирует набор шаблонов, то полупространства, определенные правильными ответами для этих шаблонов, будут иметь непустое пересечение, называемое областью решения. Область решения будет представлять собой область “гиперклина”, вершина которой находится в начале весового пространства и поперечное сечение которой увеличивается с увеличением расстояния от начала координат. Эта область показана заштрихованной на рис. 4.6. (Цифры в рамке показаны для более поздних целей, количество ошибок, допущенных весовыми векторами в каждой из областей.) Процедура исправления ошибок с фиксированным шагом изменяет весовой вектор, перемещая его по нормали к любой гиперплоскости шаблона, для которой этот весовой вектор дает неверный ответ. Предположим в нашем примере, что мы представляем шаблоны в последовательности Y1, Y2, Y3, Y4 и начинаем процесс с весовой точки V1 , как показано на рис. 4.7. Начиная с V1, мы видим, что он дает неверный ответ для шаблона Y1, поэтому мы перемещаем V1 в V2 в направлении, перпендикулярном плоскости 1. (Именно для этого выполнено добавление Y1 к V1.) Y2 дает неверный ответ для шаблона Y2 и т.д. В конечном счете, ответы неверны только для плоскостей, ограничивающих область решения. Некоторые из последующих исправлений могут выходить за пределы области решения, но в конечном итоге мы выходим за пределы области решения настолько, что исправления (для фиксированного размера приращения) приводят нас в нее. Доказательства сходимости правила фиксированного приращения делают этот интуитивный аргумент точным.
Рисунок 4.7: Переход в область решения
4.1.5 Процедура Уайдроу-Хоффа
Процедура Видроу-Хоффа (также называемая LMS или дельта-процедурой) предназначена для нахождения весовых коэффициентов, которые минимизируют квадратичную ошибку между метками шаблона и скалярным произведением, вычисляемым с помощью TLU. Для этой цели предполагается, что метки шаблона равны +1 или -1 (вместо 1 или 0). 4.1.ЛОГИЧЕСКИЕ ЕДИНИЦЫ  ПОРОГА 43

Ошибка в квадрате для шаблона Xi с меткой di (для желаемого результата) равна:
 где xij - j-я составляющая Xi . Общая квадратичная ошибка (по всем шаблонам в обучающем наборе, ;, содержащем m шаблонов) равна:
Мы хотим выбрать веса wj, чтобы минимизировать эту квадратичную ошибку. Один из способов найти такой набор весов - начать с произвольного вектора весов и перемещать его вдоль отрицательного градиента ; в зависимости от весов. Поскольку ; квадратично по отношению к wj , мы знаем, что оно имеет глобальный минимум, и, следовательно, эта процедура наискорейшего \по шагового \ спуска гарантированно найдет минимум. Каждая составляющая градиента является частной производной от ; по одному из весовых коэффициентов. Одна из проблем, связанных с получением частной производной от ;, заключается в том, что ; зависит от всех входных векторов в ;. Часто предпочтительнее использовать пошаговую процедуру, в которой мы проверяем TLU только на одном элементе, Xi , из ;, вычисляем градиент квадратичной ошибки с одним шаблоном, ;i , вносим соответствующую корректировку в веса, а затем пробуем другой элемент из ;. Конечно, результаты инкрементальной версии могут быть лишь приблизительными к результатам пакетной версии, но обычно это приближение является довольно эффективно. Здесь мы опишем инкрементную версию.
J-я составляющая градиента ошибки одиночного паттерна равна:
Корректировка в направлении отрицательного градиента затем изменила бы каждый вес следующим образом:
где fi = ;j=1n+1 xij wj , а ci определяет величину корректировки. Таким образом, весь весовой вектор (в расширенной системе счисления, или V) корректируется в соответствии со следующим правилом:
, где, как и ранее, Yi - это i-й расширенный вектор шаблона.
Процедура Видроу-Хоффа вносит коррективы в вектор весов, когда само скалярное произведение, Yi •V, не равно указанной желаемой целевой
ГЛАВА 4.  НЕЙРОННЫЕ СЕТИ 44

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

значение, di (которое равно 1 или -1). Коэффициент скорости обучения, ci, может уменьшаться со временем до 0 для достижения асимптотической сходимости. Формула Видроу-Хоффа для изменения весового вектора имеет ту же форму, что и стандартная формула коррекции ошибок с фиксированным шагом. Единственное различие заключается в том, что fi — это пороговый отклик TLU в случае исправления ошибок, в то время как для процедуры Видроу-Хоффа это само точечное произведение.
Нахождение значений веса, которые дают желаемые скалярные произведения, соответствует решению набора линейных равенств, а процедуру Видроу-Хоффа можно интерпретировать как процедуру снижения, которая пытается минимизировать среднеквадратическую ошибку между фактическим и желаемым значениями скалярного произведения. (Подробнее о Widrow- Hoff и других связанных с ними процедурах см. [Duda & Hart, 1973, стр. 151 и далее].)
4.1.6 Обучение TLU нелинейно-разделяемому обучению наборов
Когда обучающий набор линейно не разделяем (возможно, из-за шума или, возможно, по своей природе) можно, все ещё желательно найти “наилучшую” разделяющую гиперплоскость. Как правило, процедуры исправления ошибок не будут эффективны на нелинейно разделяемых обучающих наборах, потому что они будут продолжать пытаться исправить неизбежные ошибки, и гиперплоскость никогда не займет приемлемое место.
Для решения этого вопроса было предложено несколько методов. Во-первых, мы могли бы использовать процедуру Видроу-Хоффа, которая (хотя и не приведет к нулевой ошибке в задачах с нелинейным разделением) даст нам весовой вектор, минимизирующий среднеквадратичную ошибку. Критерий среднеквадратичной ошибки часто дает неверные результаты.- однако это дает удовлетворительные результаты, поскольку он предпочитает множество мелких ошибок нескольким крупным. В качестве альтернативы, исправление ошибок с непрерывным уменьшением до нуля значения константы скорости обучения c приведет к уменьшению изменений в гиперплоскости. Дуда [Duda, 1966] предложил отслеживать среднее значение весового вектора во время исправления ошибок и использовать это среднее значение для получения разделяющей гиперплоскости, которая достаточно хорошо справляется с нелинейно-разделяемыми задачами. Галлант [Gallant, 1986] предложил то, что он назвал “карманным алгоритмом”, как описано в [Hertz, Krogh, & Palmer, 1991, с. 160]:
«….алгоритм pocket ….состоит в том, чтобы просто сохранить (или "положить в свой карман") набор весов, который до сих пор был наиболее успешным без изменений.  Алгоритм останавливается по истечении некоторого выбранного времени t. . .»
Также смотрите методы, предложенные [John, 1995] и [Marchand & Golea, 1993]. Утверждается, что последний из них превосходит алгоритм pocket.
После остановки веса в ячейке используются в качестве набора, который должен привести к небольшому количеству ошибок в тренировочном наборе. Исправление ошибок происходит в обычном режиме с обычным набором гирь.
4.2 Линейные  машины \тренажеры \
Естественным обобщением TLU (двухкатегорийного) для классификатора R-категории является структура, показанная на рис. 4.8, называемая линейной машиной. Здесь, чтобы использовать более
4.2. ЛИНЕЙНЫЕ МАШИНЫ
фамильярные обозначения, Ws и X являются дополненными векторами (с (n+1)-й составляющей).  Такую структуру также иногда называют “конкурентной” сетью или сетью “победитель получает все”. Результатом линейной вычислительной машины является одно из чисел {1, ... , R}, соответствующее наибольшему скалярному произведению. Обратите внимание, что при R = 2 линейная вычислительная машина преобразуется в TLU с весовым вектором W = (W1 ; W2 ).

Рис. 4.8: Линейный автомат
Диаграмма на рис. 4.9 показывает характер областей в двумерном пространстве, созданных линейным автоматом для R = 5. В n измерениях каждая пара областей либо разделена участком гиперплоскости, либо не является смежной.
В этом регионе: для
Рисунок 4.9: Области для линейной машины
Для обучения линейной машины существует простое обобщение правила исправления ошибок 2-й категории. Соберите шаблоны в обучающем наборе в  последовательность, как и ранее.
a. Если машина правильно классифицирует шаблон, ни в один из вариантов  весовых векторов не вносятся изменения.
ГЛАВА 4. НЕЙРОННЫЕ СЕТИ 46
b. Если машина ошибочно классифицирует шаблон категории u, Xi, в категорию
v (u; v), то:
Wu ; Wu + ci Xi
и
Wv ; Wv ; ci Xi
и все остальные весовые векторы не изменяются.
Эта коррекция увеличивает значение u-го точечного произведения и уменьшает значение v-го точечного произведения. Так же, как и в процедуре с фиксированным приращением 2-й категории, эта процедура гарантированно завершится при постоянном ci, если существует векторы весов, которые позволяют правильно разделить обучающий набор. Обратите внимание, что когда R = 2, эта процедура сводится к обычной процедуре исправления ошибок TLU. Доказательство того, что эта процедура завершается, приведено в [Nilsson, 1990, с. 88-90] и в [Duda & Hart, 1973, с. 174-177].
4.3 Сети TLU
4.3.1 Мотивация и примеры
Многоуровневые \слоеные\ сети
Для правильной классификации всех шаблонов в нелинейно-разделяемых обучающих наборах требуются разделяющие поверхности, более сложные, чем гиперплоскости. Одним из способов создания более сложных поверхностей является использование сетей TLU. Рассмотрим, например, 2- размерная функция четной четности, f = x1 x2 + ;x1 ;x2 . Никакая отдельная линия, проходящая через двумерный квадрат, не может отделить вершины (1,1) и (0,0) от вершин (1,0) и (0,1) - функция не является линейно разделимой и, следовательно, не может быть реализована с помощью одного TLU. Но сеть из трех TLU, показанная на рис. 4.10, действительно реализует эту функцию. На рисунке мы показываем значения веса вдоль
входных линий для каждого TLU и пороговое значение внутри круга, представляющего TLU.
Функция, реализуемая сетью TLU, зависит от ее топологии а также от весов отдельных TLU. В сетях прямой связи нет циклов; в сети прямой связи входные данные TLU не зависят (через ноль или более промежуточных TLU) от выходных данных этого TLU. (Сети, которые не являются прямой связи, называются рекуррентными сетями). Если TLU сети прямой связи расположены слоями, то элементы уровня j получают входные данные только от TLU в слое j ; 1, тогда мы говорим, что сеть является многоуровневой, передающей
4.3. СЕТИ TLU
Рисунок 4.10: Сеть для функции четного определения четности
сетью. Сеть, показанная на рис. 4.10, представляет собой многоуровневую сеть с прямой вязью, имеющую два уровня (весовых коэффициента). (Некоторые люди подсчитывают уровни TLU и также включают входные данные в качестве уровня; они назвали бы эту сеть трехуровневой). В общем, многоуровневая сеть прямого доступа имеет структуру, показанную на рис. 4.11. Все TLU, за исключением “выходных” блоков, называются скрытыми блоками (они “скрыты” от выходных данных).
выходные блоки
 скрытые блоки
Рисунок 4.11: Многоуровневая сеть прямой связи
Реализация функций DNF с помощью двухуровневых сетей
Мы уже определили k-членные DNF—функции - это DNF-функции, имеющие k членов. Функция DNF с k терминами может быть реализована с помощью двухуровневой сети с k блоками на скрытом уровне - для реализации k терминов - и одним выходным блоком для реализации дизъюнкции этих терминов. Поскольку любая логическая функция имеет форму DNF, любая логическая функция может быть реализована некоторой двухуровневой сетью TLU. В качестве примера рассмотрим функцию f = x1 x2 + x2 ;x3 + x1 ;x3 . Форма сети, реализующей эту функцию, показана на рис. 4.12. (Мы предоставляем читателю самому рассчитать соответствующие значения весов и
ГЛАВА 4. НЕЙРОННЫЕ СЕТИ 48
пороговые значения.) Трехмерное представление функции показано на рис. 4.13. Сеть, изображенная на рис. 4.12, может быть спроектирована таким образом, чтобы каждый скрытый элемент реализовывал одну из плоских границ, показанных на рис. 4.13.

дизъюнкция терминов
союзы- соединения литералов (терминов)
Рисунок 4.12: Двухуровневая сеть  прямого действия
Рисунок 4.13: Три плоскости, реализованные скрытыми элементами
Обсудим пересечения полупространств, объединения полупространств, NP-жесткость оптимальных вариантов, методы с односторонней ошибкой и гиперплоскостью, связь \отношение \ с методами “AQ”.
Чтобы обучить двухуровневую сеть, реализующую k-членную функцию DNF, мы сначала отметим, что модуль вывода реализует дизъюнкцию, поэтому веса в конечном слое фиксированы. Все веса в первом слое (за исключением “пороговых весов”) могут иметь значения 1, -1 или 0. Позже мы представим процедуру обучения для этого первого уровня весов.
4.3. СЕТИ TLU 49
Важное замечание о многоуровневых Сетях
Добавление дополнительных слоев не может компенсировать недостаточный уровень первого слоя TLU. Первый уровень TLU разбивает пространство объектов таким образом, чтобы никакие два вектора с разной маркировкой не находились в одной и той же области (то есть, чтобы никакие два таких вектора не давали одинакового набора выходных данных блоков первого уровня). Если первый слой не разбивает пространство объектов таким образом, то независимо от того, что делают последующие слои, конечные результаты не будут соответствовать обозначенному обучающему набору.
Добавьте диаграммы, показывающие нелинейное преобразование, выполняемое многоуровневой сетью.
4.3.2 Мадалины
Сети двух категорий
Интересным примером многоуровневой сети с прямой связью является двухуровневая
сеть, которая имеет нечетное количество скрытых блоков и “голосующий” TLU в качестве выходного блока. Такая сеть была названа “Madaline\м(ени) ада лайн” (для многих adaline по Расширять. Как правило, ответ подразделения, проводящего голосование, определяется как ответ большинства скрытых подразделений, хотя возможны и другие логические схемы вывода. Риджуэй [Ridgway, 1962] предложил следующее правило исправления ошибок для корректировки весов скрытых единиц измерения Madaline:
• Если Madaline правильно классифицирует паттерн, Xi, исправления не производятся к любому из весовых векторов скрытых единиц измерения,
• Если Madaline неправильно классифицирует паттерн Xi , то определите минимальное количество скрытых единиц, ответы которых необходимо изменить (с 0 на 1 или с 1 на 0 — в зависимости от типа ошибки), чтобы Madaline правильно классифицировала Xi. Предположим, что минимальное число равно ki. Из тех скрытых единиц, которые проголосовали неправильно, измените весовые векторы тех ki, точечные произведения которых ближе всего к 0, используя правило исправления ошибок:
W ; W + ci (di ; fi )Xi
, где di - желаемый отклик скрытого модуля (0 или 1), а fi - фактический ответ (0 или 1). (Здесь мы предполагаем расширенные векторы, хотя и используем обозначения X, W).
То есть мы выполняем исправление ошибок ровно в том количестве скрытых единиц измерения, которое необходимо для корректного подсчета голосов большинством голосов, и меняем те, которые легче всего изменить. Существуют примеры задач, в которых, несмотря на то, что для данной структуры Madaline существует набор значений веса, позволяющий правильно классифицировать все элементы обучающего набора, эта процедура не сможет их найти. Тем не менее, процедура эффективно работает в большинстве экспериментов с ней.
Мы оставляем читателю возможность подумать о том, как можно было бы изменить эту процедуру обучения, если бы в выходном TLU была реализована функция or (или функция and).
ГЛАВА 4. НЕЙРОННЫЕ СЕТИ 50
Логические цепочки R-категории и выходные коды, исправляющие ошибки
Если в двухуровневой сети имеется k скрытых элементов (k > 1), их ответы соответствуют вершинам k-мерного гиперкуба. Обычная двухкатегорийная сеть Мадалайн определяет две особые точки в этом пространстве, а именно вершину, состоящую из k1, и вершину, состоящую из k0. Ответ Мадалайн равен 1, если точка в “пространстве скрытых единиц измерения” находится ближе к вершине all 1, чем к вершине all 0. Мы могли бы спроектировать Madaline R-категории, определив R вершин в пространстве скрытых единиц, а затем классифицировав шаблон в соответствии с тем, к какой из этих вершин ближе всего ответ скрытой единицы. Машина, использующая эту идею, была реализована в начале 1960-х годов в SRI [Brain и др., 1962]. В ней использовался тот факт, что 2p-так называемые последовательности сдвигового регистра максимальной длины [Peterson, 1961, pp. 147ff] в (2p ; 1)-мерном булевом пространстве взаимно равноудалены (для любого целое число p). Аналогичную, более свежую работу смотрите в [Dietterich & Bakiri, 1991].
4.3.3 Кусочно-линейные машины
Обучающий набор из двух категорий линейно разделим, если существует пороговая функция, которая корректно классифицирует все элементы обучающего набора. Аналогично, мы можем сказать, что обучающий набор R-категории линейно разделим, если существует линейная машина, которая корректно классифицирует все элементы обучающего набора. Когда задача R- категории не является линейно разделимой, нам нужен более мощный классификатор. Кандидатом является структура, называемая кусочно-линейной машиной (PWL) на рис. 4.14.
МАКСИМУМ
АРГУМЕНТ
Рис. 4.14: Кусочно-линейная машина
4.3. СЕТИ TLU 51
Машина PWL группирует свои взвешенные суммирующие единицы в R банков, соответствующих R категориям. Входной вектор X присваивается той категории, которая соответствует банку с наибольшей взвешенной суммой. Мы можем использовать алгоритм обучения с исправлением ошибок, аналогичный алгоритму, используемому для линейной машины. Если шаблон классифицирован неправильно, мы вычитаем (постоянное число раз) значение вектора шаблона из вектора весов наибольшее скалярное произведение (оно неверно было самым большим) и добавляем (постоянное число раз) вектор шаблона к этому вектору весов в правильном банке весовых векторов, скалярное произведение которых локально больше в этом банке. (Опять же, здесь мы используем дополненные векторы). К сожалению, существуют примеры обучающих наборов, которые можно разделить с помощью заданной структуры PWL-машины, но для которых этот метод обучения с исправлением ошибок не может найти решения. Похоже, что в некоторых ситуациях этот метод действительно хорошо работает [Duda & Fossum, 1966], и др.-хотя [Нильссон, 1965, стр. 89] заметил, что “вероятно, это не очень эффективный метод для обучения PWL-машин, имеющих более трех [весовых векторов] в каждом банке данных”.
4.3.4 Каскадные сети
Другим интересным классом сетей прямой связи является сеть, в которой все TLU упорядочены, и каждый TLU получает входные данные от всех компонентов шаблона и от всех TLU, расположенных ниже по порядку. Такая сеть называется каскадной сетью. На рис. 4.15 показан пример, в котором TLU помечены линейно разделяемыми функциями (их входных данных), которые они реализуют. Каждый TLU в сети реализует набор из 2k параллельных гиперплоскостей, где k - количество TLU, от которых он получает входные данные. (Каждая из k предыдущих выходных данных TLU может быть равна 1 или 0; это 2k различных комбинаций, что приводит к 2k различным позициям для параллельных гиперплоскостей.) На рис. 4.16 показан трехмерный эскиз сети из двух TLU. Читатель может рассмотреть, как функция n-мерной четности может быть реализована каскадной сетью, имеющей log2 n TLU.
Выходные данные
Рисунок 4.15: Каскадная сеть
ГЛАВА 4. НЕЙРОННЫЕ СЕТИ 52
Рисунок 4.16: Плоскости, реализованные каскадной сетью с двумя TLU
Также упоминается метод
“каскадной корреляции” из
[Fahlman & Lebiere, 1990].
Каскадные сети можно было бы обучить, сначала обучив L1 выполнять как можно более качественную работу по разделению всех обучающих шаблонов (возможно, используя, например, алгоритм pocket), а затем обучив L2 (включая вес от L1 до L2). также необходимо выполнить как можно более тщательную работу по разделению всех обучающих шаблонов и так далее, пока результирующая сеть не классифицирует шаблоны в обучающем наборе удовлетворительно.
4.4 Обучение сетей прямой связи методом обратного распространения
4.4.1 Обозначения
Общая проблема обучения сети TLU сложна. Рассмотрим, например, многоуровневую сеть с прямой связью, представленную на рис. 4.11. Если такая сеть допускает ошибку по шаблону, обычно существует несколько различных способов, с помощью которых ошибка может быть исправлена. Трудно возложить “вину” за ошибку на какой-то конкретный TLU в сети. Интуитивно понятно, что нужно искать процедуры корректировки веса, которые перемещают сеть в правильном направлении (относительно ошибки), внося минимальные изменения. В этом духе метод градиентного спуска Видроу-Хоффа была обобщена для работы с многослойными сетями.
Объясняя это обобщение, мы используем рис. 4.17, чтобы ввести некоторые обозначения. Эта сеть имеет только один выходной модуль, но, конечно, на выходном уровне может быть несколько TLU, каждый из которых реализует свою функцию. Каждый из уровней TLU будет иметь выходные данные, которые мы будем считать компонентами векторов, точно так же, как входные объекты являются компонентами входного вектора. J-й слой TLU (1 ; j < k) будет иметь в качестве выходных данных вектор X(j). Входные данные вектор признаков обозначается через X(0) , а конечный результат (для k-го слоя TLU) равен f . Каждый TLU в каждом слое имеет весовой вектор (соединяющий его со своими входами) и пороговое значение; i-й TLU в j-м слое имеет весовой вектор, обозначаемый как (j) Wi. (Мы будем предполагать, что “пороговый вес” является последним компонентом связанного вектора весов; вместо этого мы могли бы использовать обозначение V, чтобы включить
4.4. ОБУЧЕНИЕ СЕТЕЙ ПРЯМОЙ СВЯЗИ С ПОМОЩЬЮ ОБРАТНОГО РАСПРОСТРАНЕНИЯ 53
это пороговая составляющая, но мы решили использовать здесь знакомые обозначения X,W, предполагая, что эти векторы “дополняются” соответствующим образом.) Мы обозначим взвешенную сумму, введенную в i-ю пороговую единицу в j-м слое, через(j)j)(j) si . (То есть si = X(j;1) •Wi .) Число TLU в j-м слое равно (j) (j) , заданному через mj . Вектор Wi имеет компоненты wl,i для l = 1, . . . , m(j;1) + 1.
Первый слой
j-й слой
(k-1)-й слой
Рисунок 4.17: Сеть k-уровня
4.4.2 Метод обратного распространения
Метод градиентного спуска, аналогичный используемому в методе Видроу-Хоффа, был предложен различными авторами для обучения многослойной сети с прямой связью. Как и прежде, мы определяем функцию ошибки на конечном выходе сети и корректируем каждый вес в сети таким образом, чтобы свести ошибку к минимуму. Если у нас есть желаемый ответ, di, для i-го входного вектора, Xi, в процессе обучения установив, ;, мы можем вычислить квадрат ошибки для всего обучающего набора, равный:
, где fi - это фактический отклик сети на входные данные Xi . Чтобы выполнить градиентный
спуск по этой квадратичной ошибке, мы корректируем каждый вес в сети на величину, пропорциональную отрицательному значению частной производной ; по отношению к этому весу. Опять же, мы используем функцию ошибки с одним шаблоном, чтобы можно было использовать процедуру постепенной корректировки веса. Квадрат ошибки для одного входного вектора X, вызывающий вывод f, когда желаемый результат равен d, равен:
ГЛАВА 4. НЕЙРОННЫЕ СЕТИ 54
; = (d ; f )2
Удобно брать частные производные от ; по различным весовым коэффициентам в группах, соответствующих весовым векторам. Мы определяем частную производную от величины ;, скажем, по весовому вектору Wi, таким образом:
, где wli (j)- l-я составляющая Wi (j). Эта векторная частная производная от ; называется градиентом ; относительно W и иногда обозначается через ;W ;.
Поскольку зависимость ; от Wi (j) полностью определяется через si (j), мы можем использовать правило цепочки  для записи:
Поскольку si(j)=X(j-1)*Wi(j), ;si(j)/;Wi(j)=X(j-1). Подставляя, получаем:
Обратите внимание, что
Таким образом,
Величина (d;f ) ;f/;si (j) играет важную роль в наших расчетах; мы будем обозначать ее через ;i (j). Каждое из значений ;i (j) показывает нам, насколько чувствительна квадратичная ошибка выходных данных сети к изменениям входных данных для каждой пороговой функции. Поскольку мы будем изменять весовые векторы в направлениях вдоль их отрицательного градиента, нашим основным правилом для изменения веса в сети будет:
где ci - постоянная скорости обучения для этого вектора веса. (Обычно константы скорости обучения для всех весовых векторов в сети одинаковы.) Мы видим, что это правило очень похоже на то, которое используется в процедуре исправления ошибок
4.4. ОБУЧЕНИЕ СЕТЕЙ ПРЯМОЙ СВЯЗИ С ПОМОЩЬЮ ОБРАТНОГО РАСПРОСТРАНЕНИЯ 55
для одного TLU. Весовой вектор изменяется путем умножения константы на вектор (невзвешенных) входных данных.
Теперь мы должны обратить наше внимание на вычисление ;i(j) ’s. Используя определение, мы имеем:
Однако у нас возникает проблема при попытке получить частные производные от f по отношению к s. Выходной сигнал сети, f, не является непрерывно дифференцируемым по отношению к s из-за наличия пороговых функций. Большинство небольших изменений в этих суммах вообще не изменяют f, а когда f все-таки меняется, оно резко меняется с 1 на 0 или наоборот.
Способ обойти эту трудность был предложен Вербосом [Werbos, 1974] и (возможно, независимо друг от друга) исследовалась несколькими другими исследователями, например [Румельхарт, Хинтон и Уильямс, 1986]. Хитрость заключается в замене всех пороговых функций дифференцируемыми функциями, называемыми сигмоидами.1 Выходные данные сигмовидной функции, наложенные на выходные данные пороговой функции, показаны на рис. 4.18. Обычно используется сигмовидная функция f (s) = 1/(1+e;s ), где s - входные данные, а f — выходные.
пороговая
сигмовидная функция
Рисунок 4.18: Сигмовидная функция
1 [Russell & Norvig, 1995, стр. 595] приписывает использование этой идеи [Bryson & Ho, 1969].
ГЛАВА 4. НЕЙРОННЫЕ СЕТИ 56
На рис. 4.19 мы показываем сеть, содержащую сигмовидные блоки вместо TLU. Выходные данные i-го сигмовидного блока в j-м слое обозначаются через fi(j). (Это равно
 .)

Первый слой
j-й слой
(k-1)-й слой
m1 сигмоидов
mj сигмоидов
m(k-1) сигмоидов
Рисунок 4.19: Сеть с сигмовидными узлами
4.4.3 Вычисление изменений веса в конечном слое
Сначала мы вычисляем ; (k), чтобы вычислить изменение веса для конечной сигмовидной
единицы:
4.4. ОБУЧЕНИЕ СЕТЕЙ ПРЯМОЙ СВЯЗИ С ПОМОЩЬЮ ОБРАТНОГО РАСПРОСТРАНЕНИЯ57
Учитывая используемую нами сигмовидную функцию, а именно f (s) = 1/(1+e ;s ), мы имеем, что ;f/;s = f (1 ; f ). Подстановка дает нам:
; (k) = (d ; f (k) )f (k) (1 ; f (k) )
В соответствии с нашим общим правилом для изменения весового вектора, весовой вектор в конечном слое изменяется в соответствии с правилом:
W(k) ; W(k) + c(k) ; (k) X(k;1)
где ; (k) = (d ; f (k) )f (k) (1 ; f (k) )
Интересно сравнить обратное распространение с правилом исправления ошибок и правилом Видроу-Хоффа. Корректировка веса обратного распространения для отдельного
элемента в конечном слое может быть записана в виде:
W ; W + c(d ; f )f (1 ; f )X
Записанное в том же формате правило исправления ошибок имеет следующий вид:
W ; W + c(d ; f )X,
а правило Видроу-Хоффа равно:
W ; W + c(d ; f )X
Единственное отличие (за исключением того факта, что f не имеет порогового значения в Widrow- Hoff) ; это член f (1 - f ) из-за наличия сигмовидной функции. При использовании сигмовидной функции значение f (1 ; f ) может варьироваться от 0 до 1. Когда f равно 0, f (1 ; f ) также равно 0; когда f равно 1, f (1 ; f ) равно 0; f (1 ; f ) достигает своего максимального значения 1/4, когда f равно 1/2 (то есть, когда входные данные для сигмовидной кишки равны 0).  Сигмовидную функцию можно рассматривать как реализующую “нечеткую” гиперплоскость. Для шаблона, удаленного от этой нечеткой гиперплоскости, значение f (1 ; f ) близко к 0, а правило обратного распространения практически не изменяет значения весов
независимо от желаемого результата. (Небольшие изменения в весах практически не повлияют на выходные данные для входных данных, удаленных от гиперплоскости.) Изменения веса производятся только в области “размытости”, окружающей гиперплоскость, и эти изменения направлены на исправление ошибки, как и в правилах коррекции ошибок
и Уайдроу-Хоффа.
ГЛАВА 4. НЕЙРОННЫЕ СЕТИ 58
4.4.4 Вычисление изменений весов в промежуточных cлоях
Используя наше выражение для значений ;, мы можем аналогичным образом вычислить, как изменить каждое из весовых векторов в сети. Отзыв:
И снова мы используем правило цепочки. Конечный результат, f , зависит от si через
каждый из суммированных входных сигналов для сигмоидов в (j + 1)-м слое. Так:
Осталось вычислить ;si(j+1)/;si(j). Для этого мы сначала запишем:
И затем, поскольку веса не зависят от s:
Теперь заметим, что ;fv(j)/;si(j)=0, если только ; = i, и в этом случае




Следовательно:





4.4. ОБУЧЕНИЕ СЕТЕЙ ПРЯМОЙ СВЯЗИ МЕТОДОМ ОБРАТНОГО РАСПРОСТРАНЕНИЯ 59
Мы используем этот результат в нашем выражении для ;i(j), чтобы получить:





Приведенное выше уравнение является рекурсивным по отношению к ;. (Интересно отметить, что это выражение не зависит от функции ошибки; функция ошибки в явном виде (j+1) влияет только на вычисление ; (k) .) Вычислив значение ;i (j) для слоя  j + 1, мы можем использовать это уравнение для вычисления ;i ’s. Базовым случаем является ; (k) , которое мы уже вычислили:
; (k) = (d ; f (k) )f (k) (1 ; f (k) )
Мы используем это выражение для значений ; в нашем общем правиле изменения веса, а именно:
Хотя это правило и кажется сложным, оно имеет интуитивно понятное объяснение. Величина ; (k) = (d ; f )f (1 ; f ) определяет общее количество и знак всех корректировок веса в сети. (Корректировки уменьшаются по мере того, как конечный результат, f, приближается либо к 0, либо к 1, поскольку в этом случае они оказывают нулевое влияние на f.) Как показывает уравнение рекурсии для ;, корректировки для весов, поступающих в сигмовидную единицу в j-м слое, пропорциональны эффекту, который оказывает такое изменение корректировки на выходные данные сигмовидного модуля (его коэффициент f (j) (1 ; f (j))). Они также пропорциональны своего рода “среднему” эффекту, который оказывает любое изменение в выходных данных из сигмовидной единицы на конечные выходные данные. Этот средний эффект зависит от весов, выходящих из сигмовидного блока в j-м слое (малые веса оказывают незначительное влияние на последующий процесс), и от влияния, которое изменения в выходных данных сигмовидных блоков (j + 1)-го уровня окажут на конечный результат (измеряемый величиной ; (j+1) ). Эти вычисления могут быть просто реализованы путем “обратного распространения” значений ; по весам в обратном направлении (отсюда и название этого алгоритма - backprop).
4.4.5 Вариации обратного распространения
[Будет написано позднее: проблема локальных минимумов, имитация отжига, моментальный вывод (Plaut и др., 1986, см. [Hertz, Krogh, & Palmer, 1991]), quickprop, методы регуляризации]
Имитация отжига
Чтобы применить имитационный отжиг, значение константы скорости обучения постепенно уменьшается со временем. Если мы рано попадаем в область функции ошибок, которая не очень глубока (локальный минимум), то, как правило, она не будет очень широкой, и в скором времени,
ГЛАВА 4. НЕЙРОННЫЕ СЕТИ 60
последующая крупная коррекция вытеснит нас из этого процесса. Менее вероятно, что мы выйдем из глубоких впадин, и в конце процесса (при очень малых значениях от постоянной скорости обучения), мы опускаемся до самой глубокой точки. Процесс получил свое название по аналогии с отжигом в металлургии, при котором температура материала постепенно снижается, позволяя его кристаллической структуре достичь минимального энергетического состояния.
4.4.6 Приложение: Управление микроавтобусом
Нейросетевая система под названием ALVINN (Автономное наземное транспортное средство в нейронной сети) был обучен успешно управлять фургоном Chevy на обычных дорогах и хайвэях со скоростью 55 миль в час [Pomerleau, 1991, Pomerleau, 1993]. Входные данные в сеть поступают с телевизионного изображения низкого разрешения (30 x 32). Телевизионная камера установлена на фургоне и смотрит на дорогу прямо перед собой. Это изображение обрабатывается и генерирует поток 960-мерных входных векторов для нейронной сети. Схема сети показана на рис. 4.20.
строго слева
центроида выхода рулевого управления
входов
сетчатка
прямо по курсу
5 скрытых устройств, подключенных ко всем 960 входам
расположены строго справа
30 выходных блоков, подключенных ко всем скрытым блокам
Рисунок 4.20: Сеть ALVINN
Сеть имеет пять скрытых блоков на первом уровне и 30 выходных блоков на втором уровне; все они представляют собой сигмовидные блоки. Выходные блоки расположены в линейном порядке и регулируют угол поворота фургона. Если блок, расположенный в верхней части массива выходных блоков, имеет более высокую производительность, чем большинство других блоков, фургон поворачивается влево; если блок, расположенный в нижней части массива, имеет более высокую производительность, фургон поворачивается вправо. Вычисляется “центр тяжести” ответов всех выходных данных
4.5. ВЗАИМОДЕЙСТВИЕ МЕЖДУ НЕЙРОННОЙ СЕТЬЮ И методами, ОСНОВАННЫМИ НА ЗНАНИЯХ 61
, и угол поворота фургона устанавливается на соответствующее значение между крайним левым и крайним правым поворотом.
Система обучается с помощью модифицированного режима онлайн-обучения. Водитель управляет микроавтобусом, и его фактические углы поворота руля используются в качестве правильных меток для соответствующих входных данных. Программа backprop постепенно обучает сеть для определения углов поворота руля, заданных водителем, в ответ на каждую визуальную картину, возникающую в режиме реального времени во время движения.
Эта простая процедура была дополнена, чтобы избежать двух потенциальных проблем. Во-первых, поскольку водитель обычно ведет машину хорошо, сеть никогда не получит никакого представления о расположении автомобиля далеко от центра и/или неправильной ориентации транспортного средства- управления. Кроме того, на длинных прямых участках дороги сеть в течение длительного времени будет обучаться только прямолинейному управлению рулем; это обучение заменит более раннюю подготовку к движению по изогнутой дороге. Мы бы не хотели пытаться избежать этих проблем, проинструктировав водителя время от времени вести машину нерегулярно, потому что система научилась бы имитировать это нерегулярное поведение.
Вместо этого каждое исходное изображение сдвигается и поворачивается в программном обеспечении для создания 14 дополнительных изображений, на которых транспортное средство выглядит расположенным по-другому относительно друг друга. на дорогу. Используя модель, которая сообщает системе, какой угол поворота руля следует использовать для каждого из этих смещенных изображений, учитывая заданный водителем угол поворота руля для исходного изображения, система создает дополнительные 14 обозначенных тренировочных шаблонов в дополнение к тем, которые используются при обычном обучении водителей.
4.5 Взаимодействие между нейронной сетью и Методами, основанными на знаниях
4.6  Библиографические и исторические примечания

Предстоит написать; обсудить
процедуры выработки правил (такие как
[Towell & Shavlik, 1992]) и как
правила, разработанные экспертами, могут помочь
в обучении нейронной сети и наоборот
[Towell, Shavlik, & Noordweier, 1990].
Будет добавлено позднее.
62
ГЛАВА 4. НЕЙРОННЫЕ сети.
Глава 5
Статистическое обучение
5.1 Использование теории принятия статистических решений
5.1.1 Общие сведения и методология
Предположим, что вектор шаблонов X является случайной величиной, распределение вероятностей которой соответствует ситуации для категории 1, но отличается от ситуации для категории 2. (Приведенная здесь трактовка может быть легко обобщена на проблемы категории R). В частности, предположим, что у нас есть два распределения вероятностей (возможно, функции плотности вероятности): p (X | 1) и p (X | 2). Учитывая шаблон X, мы хотим использовать статистические методы для определения его категории, то есть определить, из какого распределения он был получен. Эти методы основаны на идее минимизации ожидаемого значения величины, аналогичной функции ошибки, которую мы использовали при выводе правил изменения веса для обратного распространения \обработки\.
При разработке метода принятия решений необходимо знать относительную серьезность двух типов ошибок, которые могут быть допущены. (Мы можем решить, что шаблон, который действительно относится к категории 1, относится к категории 2, и наоборот). Мы описываем эту информацию с помощью функции потерь ;(i | j), где i, j = 1, 2. ;(i | j) представляет собой потери, понесенные, когда мы решаем, что шаблон относится к категории i, хотя на самом деле он относится к категории j. Здесь мы предполагаем, что ;(1 | 1) и ;(2/2) равны 0. Для любого заданного шаблона, X мы хотим определить его категорию таким образом, чтобы минимизировать ожидаемое значение этой потери.
Учитывая закономерность X, если мы выберем категорию i, ожидаемое значение потерь  будет равно:
LX(i) = ;(i | 1)p(1 | X) + ;(i | 2)p(2 | X)
где p(j | X) - вероятность того, что для данного шаблона X его категория равна j. Наше правило принятия решений будет заключаться в том, чтобы определить, что X относится к категории 1, если LX (1) ; LX (2), и в противном случае принять решение о категории 2.
63
ГЛАВА 5.  СТАТИСТИЧЕСКОЕ ОБУЧЕНИЕ 64
Мы можем использовать правило Байеса, чтобы получить выражения для p(j | X) в терминах p(X | j), которые, как мы предполагаем, известны (или поддаются оценке).:
p(j | X) = p(X | j)p(j)/p(X)
где p(j) - (априорная) вероятность категории j (одна категория может быть намного более вероятной, чем другая); и p(X) - (априорная) вероятность паттерна X - это паттерн, который нас просят классифицировать. При выполнении подстановок, заданных правилом Байеса, наше правило принятия решений становится:
Определение категории 1, если:
Используя тот факт, что ;(i | i) = 0, и замечая, что p (X) является общим для обоих выражений, мы получаем,

Определение категории 1, если:
;(1/2)p(X | 2)p(2) ; ;(2/1)p(X | 1)p(1)
Если ;(1/2) = ;(2/1) и если p(1) = p(2), то решение становится особенно простым:

Определение категории 1, если:
p(X | 2) ; p(X | 1)
Поскольку p(X | j) называется правдоподобием j относительно X, это простое правило принятия решений реализует то, что называется решением с максимальным правдоподобием. В более общем плане, если мы определим k(i | j) как ;(i | j)p(j), то наше правило принятия решений будет простым:
Определение категории 1, если:
k(1/2)p(X | 2) ; k(2/1)p(X | 1)
В любом случае нам нужно сравнить (возможно, взвешенные) величины p(X | i) для i = 1 и 2. Точное правило принятия решения зависит от предполагаемых распределений вероятностей. Мы рассмотрим два интересных распределения.
5.1. ИСПОЛЬЗУЯ СТАТИСТИЧЕСКУЮ ТЕОРИЮ ПРИНЯТИЯ РЕШЕНИЙ 65
5.1.2 Гауссово (или нормальное) распределение
Многомерное (n-мерное) гауссово распределение задается функцией плотности вероятности:
, где n ; размерность вектора;столбца X, вектор-столбец M называется вектором значений /средним вектором/, (X - M)t - транспонирование вектора (X - M), ; - ковариационная матрица распределения (симметричная, положительно определенная матрица n ; n), ;;1 - это величина, обратная ковариационной матрице, а |;| - детерминант /определяющий фактор из / ковариационной матрицы.
Средний вектор M с компонентами (m1 , ... , mn ) является ожидаемым значением X (с использованием этого распределения); то есть M = E[X]. Компоненты ковариационной матрицы задаются в виде:
В частности, ;ii 2  называется дисперсией /вариацией/ xi .
Хотя формула кажется сложной, можно получить интуитивное представление о гауссовых распределениях, когда n = 2. Мы показываем двумерное гауссово распределение на рис. 5.1. Трехмерный график распределения показан вверху рисунка, а контуры с равной вероятностью  внизу. В этом случае ковариационная матрица ; такова, что эллиптические контуры с равной вероятностью будут искривлены. Если ковариационная матрица была диагональной, то есть если все недиагональные члены были равны 0, то главные оси эллиптических контуров были бы выровнены по осям координат. В общем случае главные оси задаются собственными векторами ;. В любом случае все контуры с равновероятностным распределением центрируются по среднему вектору M, который на нашем рисунке находится в начале координат. В общем случае формула показателя степени в гауссовом распределении представляет собой положительно определенную квадратичную форму (то есть ее значение всегда положительное); таким образом, контуры равновероятности представляют собой гиперэллипсоиды в n-мерном пространстве.
Предположим, что мы теперь предполагаем, что два класса векторов шаблонов, которые мы хотим распознать, каждый из них распределен в соответствии с гауссовым распределением, но с разными средними и ковариационными матрицами. То есть, один класс имеет тенденцию группировать шаблоны вокруг одной точки в n-мерном пространстве, а другой класс имеет тенденцию группировать шаблоны вокруг другой точки. Мы показываем двумерный пример этой задачи на рис. 5.2 (На этом рисунке мы изобразили сумму двух распределений). Какое правило принятия решений мы должны использовать, чтобы разделить шаблоны на две соответствующие категории?
Подставляя гауссовские распределения в формулу нашего максимального правдоподобия получаем:
ГЛАВА 5. ИЗУЧЕНИЕ СТАТИСТИКИ 66
Рисунок 5.1: Двумерное гауссово распределение
Определение категории 1, если:
меньше или равно
где закономерности категории 1 распределены со средним значением и ковариацией M1 и ;1 соответственно, а закономерности категории 2 распределены со средним значением и ковариацией M2 и ;2 .
Результат сравнения не изменится, если вместо этого мы сравним логарифмы. После некоторых манипуляций наше правило принятия решений будет выглядеть следующим образом:
5.1. ИСПОЛЬЗУЯ СТАТИСТИЧЕСКУЮ ТЕОРИЮ ПРИНЯТИЯ РЕШЕНИЙ 67
Рисунок 5.2: Сумма двух гауссовых распределений
Определение категории 1, если :
, где B, постоянный член смещения, включает логарифмы дробей, предшествующих экспоненте, и т.д.
Когда квадратичные формы умножаются и представляются в терминах компоненты xi, в качестве решающего правила используется квадратичная поверхность (гиперквадрика) в n-мерном пространстве. Точная форма и положение этой гиперквадрики определяются с помощью средних значений \предположений\ и ковариационных матриц. Поверхность разделяет пространство на две части, одна из которых содержит точки, которые будут отнесены к категории 1, а другая - к категории 2.
Интересно рассмотреть частный случай этой поверхности. Если ковариационные матрицы для каждой категории идентичны и диагональны, то все ;ii равны каждой другими словами, контуры равной вероятности для каждого из двух распределений
ГЛАВА 5. СТАТИСТИЧЕСКОЕ ОБУЧЕНИЕ 68
носят гиперсферический характер. Тогда квадратичные формы принимают вид (1/|;|)(X ; Mi )t (X ; Mi ), а правило принятия решения таково:
Определение категории 1, если:
(X ; M1 )t (X ; M1 ) < (X ; M2 )t (X ; M2 )
Умножение дает результаты:
или, наконец,,
Определение категории 1, если:
Постоянная
или
Постоянная
, где константа зависит от длин средних \предположенных \ векторов.
Мы видим, что оптимальной поверхностью принятия решений в этом частном случае является гиперплоскость. Фактически, гиперплоскость перпендикулярна линии, соединяющей два предположенных значения.  Веса в реализации TLU равны разнице в векторах предположенных значений.
Если параметры (Mi , ;i ) вероятностных распределений категорий неизвестны, существуют различные методы их оценки, а затем использования этих оценок в правиле принятия решения. Например, если имеется достаточное количество обучающих шаблонов, можно использовать выборочные средние \обозначенные\ и выборочные ковариационные матрицы. (Осторожно: выборочная ковариационная матрица будет сингулярной, если обучающие шаблоны совпадают лежат в подпространстве всего n-мерного пространства — как они, безусловно, и будут, например, если число обучающих шаблонов меньше n.)
5.1.3 Условно независимые бинарные компоненты

Предположим, что вектор X является случайной величиной, имеющей двоичные компоненты (0,1). Мы продолжаем обозначать два распределения вероятностей через p(X| 1) и p(X | 2). Далее предположим, что компоненты этих векторов условно независимы, учитывая категорию. Под условной независимостью в данном случае мы подразумеваем, что формулы для распределения могут быть расширены следующим образом:
5.1. ИСПОЛЬЗУЯ СТАТИСТИЧЕСКУЮ ТЕОРИЮ ПРИНЯТИЯ РЕШЕНИЙ 69
для i = 1, 2
Вспомним правило принятия решения о минимальных средних потерях,
Определение категории 1, если:
;(1/2)p(X | 2)p(2) ; ;(2/1)p(X | 1)p(1)
Предполагая условную независимость компонентов и то, что ;(1/2) = ;(2 |
1), мы получаем,
Определение категории 1, если:
или если:
или iff:

Определим значения составляющих распределения для конкретных значений их аргументов, xi :
p(xi = 1/1) = pi
p(xi = 0/1) = 1 ; pi
p(xi = 1/2) = qi
p(xi = 0/2) = 1 ; qi
Теперь мы заметим, что, поскольку xi может принимать значения только 1 или 0:
ГЛАВА 5. ИЗУЧЕНИЕ СТАТИСТИКИ 70
Подставляя эти выражения в наше правило принятия решений, получаем:
Определение категории 1, если:
Мы видим, что мы можем достичь этого решения с помощью TLU со следующими значениями веса:
для i = 1, . . . , n и
Если мы не знаем pi, qiи p(1), мы можем использовать выборку помеченных обучающих шаблонов для оценки этих параметров.
5.2 Обучение Уверяемых \Достоверных\ Сетей
Будет добавлено позднее.
5.3 Методы поиска ближайших соседей
Другой класс методов может быть связан со статистическими. Они называются методами ближайшего соседа или, иногда, методами, основанными на памяти. (Сборник статей на эту тему находится в [Dasarathy, 1991].) Учитывая обучающий набор ; из m помеченных шаблонов, процедура ближайшего соседа решает, что некоторый новый шаблон, X, принадлежит к той же категории, что и его ближайшие соседи в ;. Более точно, метод k-ближайшего соседа присваивает новый шаблон, X, той категории, к которой принадлежит множество его k ближайших соседей. Использование относительно больших значений k уменьшает вероятность того, что на решение будет оказывать чрезмерное влияние зашумленный шаблон обучения, близкий к X. Но большие значения k также снижают точность метода. Метод k-ближайших соседей можно рассматривать как оценку значений вероятностей классов, заданных X. Конечно, чем плотнее значения, тем точки вокруг X, и чем больше значение k, тем лучше оценка.
5.3. МЕТОДЫ ПОИСКА БЛИЖАЙШИХ СОСЕДЕЙ 71
Метрика расстояния, используемая в методах поиска ближайших соседей (для численных оценок), может быть простым евклидовым расстоянием. То есть q - расстояние между двумя шаблонами \модулями, структурами\  (x11 , x12 , ... , x1n ) и (x21 , x22 , ... , x2n ) равны ;;j=1 n(x1j ; x2j )2 . Это измерение расстояния часто модифицируется путем масштабирования объектов таким образом, чтобы распределение значений атрибутов по каждому измерению было приблизительно одинаковым. В этом случае расстояние между двумя векторами будет равно ;;j=1 naj 2(x1j ; x2j )2 , где aj - масштабный коэффициент для размерности j.
Пример задачи поиска решения по ближайшему соседу показан на рис. 5.3. На рисунке класс обучающего шаблона обозначен цифрой рядом с ним.
класс обучающего шаблона
схема тренировки
(образец, подлежащий классификации)
четыре шаблона из категории 1
два шаблона из категории 2
два шаблона из категории 3
относятся к категории 1, поэтому
решаем, что X относится к категории 1
Рисунок 5.3: Решение о 8 ближайших соседях


Смотрите [Baum, 1994] для получения теоретической информации о частоте ошибок как функции из числа обучающих шаблонов
для случая, когда точки распределены по поверхности единичной сферы, а лежащая
в ее основе функция линейно разделима.
Методы поиска ближайших соседей требуют больших затрат памяти, поскольку для достижения хорошего обобщения необходимо сохранять большое количество обучающих шаблонов. Поскольку стоимость памяти в настоящее время достаточно низка, этот метод и его производные получили несколько примеров использования  практических применений. (См., например, [Moore, 1992, Moore и др., 1994]. Кроме того, вычисления расстояний, необходимые для поиска ближайших соседей, часто могут быть эффективно вычислены с помощью методов kd-дерева [Friedman и др., 1977].
Теорема Кавера и Харта [Cover & Hart, 1967] связывает эффективность метода 1 ближайшего соседа с эффективностью классификатора с минимальной вероятностью ошибки. Как упоминалось ранее, классификатор с минимальной вероятностью ошибки присвоил бы новый шаблон X той категории, которая максимизирует p(i)p(X | i), где p(i) - априорная вероятность категории i, а p(X | i) - вероятность (или функция плотности вероятности) от X, учитывая, что X принадлежит к категории i, для категорий i = 1, ... , R. Предположим, что вероятность ошибки при классификации шаблонов таким классификатором с минимальной вероятностью ошибки равна ;. Теория Кавер-Харта утверждает, что при очень мягких условиях (связанных с гладкостью)
ГЛАВА 5. СТАТИСТИЧЕСКОЕ ОБУЧЕНИЕ 72
функций плотности вероятности вероятность ошибки, ;nn, классификатора с 1 ближайшим
соседом ограничена:
где R - количество категорий.
См. также [Aha, 1991].


5.4 Библиографические и исторические примечания
Необходимо добавить
Глава 6
Деревья принятия решений

6.1 Определения
Дерево решений (обычное определение) - это дерево, внутренними узлами которого являются тесты (на основе входных шаблонов), а конечными узлами - категории (шаблонов). Пример показан на рис. 6.1. Дерево решений присваивает входному шаблону номер класса (или выходной сигнал) путем фильтрации шаблона по тестам в дереве. Каждый тест имеет взаимоисключающие и исчерпывающие результаты. Например, тест T2 в дереве на рис. 6.1 имеет три результата; самый левый из них назначает входные данные. шаблон присваивается классу 3, средний отправляет входной шаблон в тест T4, а самый правый присваивает шаблон классу 1. Мы следуем обычному соглашению о представлении конечных узлов по номеру класса.1 Обратите внимание, что при обсуждении деревьев решений мы не ограничиваемся реализацией логических функций — они полезны для общих функций с категорическим значением.
Существует несколько аспектов, по которым деревья решений могут отличаться:
a. Тесты могут быть многовариантными (тестирование сразу по нескольким параметрам входных данных) или одновариантными (тестирование только по одному из параметров).
b. Тесты могут иметь два результата или более двух. (Если все тесты имеют два результата, мы получаем бинарное дерево решений.)
c. Функции или атрибуты могут быть категориальными или числовыми. (Двоичные значения
могут рассматриваться как оба варианта).
1 Одним из исследователей, который проделал большую работу по изучению деревьев решений, является Росс Квинлан. Квинлан различает классы и категории. Он называет подмножества шаблонов, которые фильтруются по каждой подсказке, категориями, а подмножества шаблонов, имеющие одинаковые метки, классами. В терминологии Квинлана, в нашем примере дерева есть девять категорий и три класса. Однако мы не будем проводить это различие, а будем использовать слова “категория” и “класс” взаимозаменяемо для обозначения того, что Квинлан называет “классом”.
73
ГЛАВА 6. ДЕРЕВЬЯ  РЕШЕНИЙ 74
Рисунок 6.1: Дерево  решения
d. У нас может быть два класса или более двух. Если у нас есть два класса и двоичные входные данные, дерево реализует логическую функцию и называется Логическим деревом решений.
Проще всего представить функцию, реализованную с помощью одномерного Логическое дерево решений в форме DNF. Форма DNF, реализуемая таким деревом, может быть получена путем отслеживания каждого пути, ведущего к вершинному узлу, соответствующему выходному значению, равному 1, формирования совокупности тестов вдоль этого пути, а затем выполнения дизъюнкции этих связей. Мы показываем пример в Рис. 6.2. При построении одномерных деревьев решений каждый неконечный узел отображается с помощью одного атрибута. Если атрибут имеет значение 0 во входном шаблоне, мы переходим влево; если оно имеет значение 1, мы переходим вправо.
Класс булевых функций k-DL может быть реализован с помощью многомерного дерева решений, имеющего (сильно несбалансированную) форму, показанную на рис. 6.3. Каждый тест, ci, представляет собой член размером k или меньше. Все они vi имеют значения 0 или 1.
6.2 Обучение одномерных \одновариантных\  Деревьев решения под наблюдением

Было предложено несколько систем для изучения деревьев принятия решений. Видный среди них ID3 и его новая версия, C4.5 [Quinlan, 1986, Quinlan, 1993] и CART [Breiman и др., 1984]. Здесь мы обсуждаем только пакетные методы, хотя были предложены и дополнительные [Utgoff, 1989].
6.2. КОНТРОЛИРУЕМЫЙ МЕТОД ОБУЧЕНИЯ ОДНОМЕРНЫХ ДЕРЕВЬЕВ ПРИНЯТИЯ РЕШЕНИЙ 75
Рисунок 6.2: Дерево решений, реализующее функцию DNF
6.2.1 Выбираем тип теста
Как обычно, у нас есть n функций или атрибутов. Если атрибуты являются двоичными, то тесты - это просто определение того, является ли значение атрибута равным 0 или 1. Если атрибуты являются категориальными, но не двоичными, тесты могут быть сформированы путем разделения значений атрибутов на взаимоисключающие и исчерпывающие подмножества. Дерево решений с такими тестами показано на рис. 6.4. Если атрибуты являются числовыми, тесты могут включать в себя “интервальные тесты”, например, 7 ; xi ; 13.2.
6.2.2 Использование уменьшения неопределенности для выбора тестов
Основная проблема при изучении деревьев решений для случая с бинарными атрибутами заключается в выборе порядка выполнения тестов. Для категориальных и числовых атрибутов мы необходимо также решить, какими должны быть тесты (помимо выбора порядка).  Было опробовано несколько методов; наиболее популярный из них - на каждом этапе выбирать тот тест, который максимально снижает показатель подобный энтропии.
Мы покажем, как этот метод работает в простом случае тестов с бинарными результатами. Переход к тестам с несколькими результатами прост в вычислениях, но дает плохие результаты, поскольку энтропия всегда уменьшается при увеличении количества результатов.
Энтропия или неопределенность, все еще остающаяся в отношении класса шаблона — знание того, что он находится в некотором наборе шаблонов ;, определяется как:
ГЛАВА 6. ДЕРЕВЬЯ ПРИНЯТИЯ РЕШЕНИЙ 76
Рисунок 6.3: Дерево решений, реализующее список решений
, где p(i|;) - это вероятность того, что шаблон, выбранный случайным образом из ;, принадлежит классу i, и суммирование производится по всем классам. Мы хотим выбрать тесты в  каждом узле таким образом, чтобы по мере продвижения вниз по дереву решений неопределенность в отношении класса шаблона становилась все меньше и меньше.
Поскольку у нас, как правило, нет вероятностей p(i|;), мы оцениваем их с помощью выборочной статистики. Хотя эти оценки могут быть ошибочными, тем не менее, они полезны при оценке неопределенностей. Пусть ^p(i|;) - количество шаблонов в ;, принадлежащих классу i, деленное на общее количество шаблонов в ;. Тогда оценка неопределенности равна:
Для простоты, с этого момента мы будем отбрасывать “шляпы” и использовать выборочную статистику, как если бы это были реальные вероятности.
Если мы выполним тест T , имеющий k возможных результатов для шаблонов в ;, мы
создадим k подмножеств, ;1 , ;2 , . . . , ;K . Предположим, что ni шаблонов в ; находятся в
;i для i = 1, ..., k. (Некоторые ni могут быть равны 0.) Если бы мы знали, что T применимо к шаблону если ; привело к j-му результату (то есть мы знали, что шаблон находится в ;j ),
то неопределенность в отношении его класса будет равна:
и уменьшение неопределенности (помимо знания только того, что шаблон находится в ;) было бы:
6.2. КОНТРОЛИРУЕМОЕ ОБУЧЕНИЕ ОДНОМЕРНЫХ ДЕРЕВЬЕВ РЕШЕНИЙ 77
Рисунок 6.4: Дерево решений с категориальными атрибутами
H(;) ; H(;j )
Конечно, мы не можем сказать, что тест T гарантированно всегда будет давать такой итог уменьшения неопределенности , поскольку мы не знаем, будет ли результат теста j-м выходным значением. Но мы можем оценить среднюю неопределенность по всем ;j, используя:
, где под HT (;) мы подразумеваем среднюю неопределенность после выполнения теста T на шаблонах в ;, p(;j ) - это вероятность того, что тест даст результат j, а сумма берется от 1 до k. Опять же, мы не знаем вероятностей p(; j ), но мы можем использовать выборочные значения. Оценка ^p(;j ) для p(;j  ) - это просто число тех закономерности в ;, что исход j деленное на общее число моделей \шаблонов\ в ;. В среднем снижение неопределенности достигается с помощью критерия \теста\ T (для моделей в ;) тогда:
РТ (;) = Н(;) ; Е[ХТ (;)]
Важное семейство алгоритмов обучения на основе дерева решений выбирает для корня дерева тот тест, который дает максимальное снижение неопределенности, а затем рекурсивно применяет этот критерий до тех пор, пока не будет выполнено некоторое условие завершения (которое мы обсудим более подробно позже). Вычисления неопределенности особенно просты, когда тесты дают бинарные результаты и когда атрибуты имеют
 ГЛАВА 6. СХЕМЫ ПРИНЯТИЯ РЕШЕНИЙ 78
двоичные значения. Мы приведем простой пример, иллюстрирующий, как работает механизм выбора теста в этом случае.
Предположим, мы хотим использовать метод уменьшения неопределенности для построения
дерева решений для классификации следующих шаблонов:
узор
класс
Какой отдельный тест, x1 , x2 или x3 , следует выполнить в первую очередь? Иллюстрация на
Рис. 6.5 дает геометрическое представление о задаче.
Тест x1
Рис. 6.5: Восемь моделей, которые классифицированы с помощью дерева решений.
Начальная неопределенность для множества ;, содержащего все восемь точек, равна:
H(;) = ;(6/8) log2 (6/8) ; (2/8) log2 (2/8) = 0,81
Затем мы вычисляем уменьшение неопределенности, если сначала выполним x1. Левая ветвь содержит только шаблоны, принадлежащие классу 0 (мы называем их множеством ;l ), а правая ветвь (;r ) содержит по два шаблона в каждом классе. Итак, неопределенность левой ветви равна:
6.3. СЕТИ ЭКВИВАЛЕНТНЫE ДЕРЕВЬЯМ ПРИНЯТИЯ РЕШЕНИЙ 79
И неопределенность правой ветви равна:
Половина паттернов “поворачивает налево”, а половина “поворачивает направо” в тесте x1 . Таким образом, средняя неопределенность после выполнения теста x1 составляет:
Следовательно, уменьшение неопределенности на ;, достигнутое с помощью x1, равно:
С помощью аналогичных расчетов мы видим, что тест x3 обеспечивает точно такое же уменьшение неопределенности, но x2 не обеспечивает никакого уменьшения. Таким образом, наш “жадный” алгоритм для выбора первого теста выбрал бы либо x1, либо x3. Предположим, что выбран x1. Процедура уменьшения неопределенности выбрала бы x3 в качестве следующего тест. Таким образом, дерево решений, создаваемое этой процедурой, реализует логическую функцию: f = x1 x3 .
См. [Квинлан, 1986, раздел II. 4] для другого примера.
6.2.3 Недвоичные атрибуты
Если атрибуты являются недвоичными, мы все равно можем использовать метод уменьшения
неопределенности для выбора тестов. Но теперь, в дополнение к выбору атрибута, мы должны выбрать тест для этого атрибута. Предположим, например, что значение параметра является вещественным числом и что тест, который необходимо выполнить, состоит в том, чтобы установить пороговое значение и проверить, является ли число больше или меньше этого порогового значения. В принципе, имея набор помеченных шаблонов, мы можем измерить снижение неопределенности для каждого теста, достигаемое при каждом возможном пороговом значении (существует только конечное число пороговых значений, которые дают разные результаты теста, если имеется только конечное число обучающих шаблонов). Аналогично, если атрибут является категориальным (с конечным числом категорий), существует только конечное число взаимоисключающих и исчерпывающих подмножеств, на которые можно разделить значения атрибута. Мы можем рассчитать уменьшение неопределенности для каждого разделения.
6.3 Сети, эквивалентные деревьям принятия решений
Поскольку одномерные логические деревья решений являются реализациями функций DNF,
они также эквивалентны двухслойным нейронным сетям прямого действия. Пример показан
на рис. 6.6. Дерево решений слева от рисунка реализует
ГЛАВА 6. ДЕРЕВЬЯ ПРИНЯТИЯ РЕШЕНИЙ 80
выполняют ту же функцию, что и сеть, изображенная справа на рисунке. Конечно, при реализации в виде сети все функции оцениваются параллельно для любого входного шаблона, тогда как при реализации в виде дерева решений необходимо оценивать только те функции в ветви, которая проходит вниз по входному шаблону. То таким образом, методы построения дерева решений, рассмотренные в этой главе, можно рассматривать как конкретные способы определения структуры и значений весов для сетей.

дизъюнкция
члены
Рисунок 6.6: Одномерное дерево решений и эквивалентная ему сеть
Многомерные деревья решений с линейно разделяемыми функциями в каждом узле
также могут быть реализованы с помощью сетей прямой связи — в данном случае трехуровневых. Мы покажем пример на рис. 6.7, в котором линейно разделяемые функции, каждая из которых реализуется с помощью TLU, обозначены L1 , L2 , L3 и L4 . Опять же, последний слой имеет фиксированные веса, но веса в первых двух слоях должны быть обработаны.  Различные подходы к процедурам обучения обсуждались в работах [Brent, 1990], [John, 1995] и (для особого случая) [Marchand & Golea, 1993].
6.4 Переобучение и оценка
6.4.1Переобучение
При обучении под наблюдением мы должны выбрать функцию, соответствующую обучающей выборке, из набора гипотез. Мы уже показали, что обобщение — это это невозможно без предвзятости. Когда мы априори знаем, что функция, которую мы пытаемся угадать, принадлежит к небольшому подмножеству всех возможных функций, тогда, даже при неполном наборе обучающих выборок, можно уменьшить подмножество функций, которые согласуются с обучающим набором, в достаточной степени, чтобы сделать полезные
предположения о значении этой функции для входных данных, отсутствующих в обучающем наборе. И,
6.4. ПЕРЕОСНАЩЕНИЕ И ОЦЕНКА
дизъюнкция
Соединения
Рисунок 6.7: Многомерное дерево решений и эквивалентная ему сеть
чем больше обучающий набор, тем больше вероятность того, что даже случайно выбранная согласованная функция будет иметь соответствующие выходные данные для еще не обнаруженных закономерностей.
Однако, даже с учетом смещения, если обучающий набор недостаточно велик по сравнению с размером пространства гипотез, все равно будет слишком много согласованных функций, чтобы мы могли делать полезные предположения, и эффективность обобщения будет низкой. Когда имеется слишком много гипотез, которые согласуются с обучающей выборкой, после установки мы говорим, что мы переобучаем обучающие данные. Переобучение - это проблема , которую мы должны решать для всех методов обучения. Поскольку дерево решений достаточного размера может реализовать любую логическую функцию, существует опасность переобучения, особенно если обучающий набор невелик. То есть, даже если дерево решений синтезировано для правильной классификации всех членов обучающего набора, оно может плохо работать с новыми шаблонами, которые не использовались для построения дерева решений. Было предложено несколько методов, позволяющих избежать переобучения, и мы рассмотрим некоторые из них здесь. Они используют методы для оценки того, насколько хорошо данное дерево решений может быть обобщено, мы опишем следующие методы.
6.4.2 Методы валидации \проверки\
Самый простой способ оценить, насколько хорошо гипотетическая функция (например, дерево решений) работает на тестовом наборе, - это протестировать ее на тестовом наборе! Но если мы сравниваем несколько обучающих систем (например, если мы сравниваем разные деревья принятия решений), чтобы выбрать ту, которая лучше всего работает в тестовом наборе, то такое сравнение равносильно “обучению на тестовых данных”. Действительно, обучение на тестовых данных расширяет набор обучающих данных с последующим ожидаемым улучшением обобщения, но все еще существует опасность переобучения если мы сравниваем несколько разных систем обучения. Другой метод - это
ГЛАВА 6. ДЕРЕВЬЯ ПРИНЯТИЯ РЕШЕНИЙ 82
разделить обучающий набор, используя (скажем) две трети для обучения, а другую треть для оценки эффективности обобщения. Но разделение уменьшает размер обучающего набора и, таким образом, увеличивает вероятность переобучения. Далее мы опишем некоторые методы проверки, которые позволяют избежать этих проблем.
Перекрестная проверка
При перекрестной проверке мы делим обучающий набор ; на K взаимоисключающих и исчерпывающих подмножеств одинакового размера: ;1 , . . . , ;K . Для каждого подмножества ;i тренируемся на объединии всех остальных подмножеств и эмпирически определим частоту ошибок ;i в ;i . (Частота ошибок - это количество ошибок классификации , допущенных в ;i , деленное на количество шаблонов в ;i .) Оценка частоты ошибок, которую можно ожидать от новых шаблонов классификатора, обученного на всех шаблонах в ;, представляет собой среднее значение ;i.
Не -учтённая- однократная проверка
Также опишите “самонастройку”[Efron, 1982].
Однократная проверка - это то же самое, что перекрестная проверка для особого случая, в котором K равно количеству шаблонов в ;, и каждый ;i состоит из одного шаблона. При тестировании на каждом ;i мы просто отмечаем, была ли допущена ошибка. Мы подсчитываем общее количество ошибок и делим на K, чтобы получить приблизительную частоту ошибок. Этот тип проверки, конечно, требует больших вычислительных затрат, но полезен, когда требуется более точная оценка частоты ошибок для классификатора.
6.4.3 Как избежать переобучения в деревьях принятия решений
На вершинах дерева решений может быть всего несколько шаблонов на каждый узел. Для этих узлов мы выбираем тест, основанный на очень маленькой выборке, и, таким образом скорее всего, мы переобучаемся. Эту проблему можно решить, завершив процедуру создания тестов до того, как все шаблоны будут полностью разделены на их отдельные категории. То есть конечный узел может содержать шаблоны более чем одного класса, но мы можем принять решение в пользу самого многочисленного класса. Эта процедура приведет к нескольким ошибкам, но часто небольшое количество ошибок в обучающем наборе приводит к меньшему количеству ошибок в тестовом наборе.
Это поведение проиллюстрировано на рис. 6.8.
Можно использовать методы перекрестной проверки, чтобы определить, когда следует прекратить разделение узлов. Если ошибка перекрестной проверки увеличивается в результате разделения узлов, то не выполняйте разделение. Однако следует быть осторожным при выборе момента остановки, поскольку недостаточная настройка обычно приводит к большему количеству ошибок в тестовых наборах, чем чрезмерная настройка. Существует общее правило, согласно которому наименьшая частота ошибок, достижимая для поддерева полностью развернутого дерева, может составлять не менее 1/2 от частоты ошибок полностью развернутого дерева [Weiss & Kulikowski, 1991, стр. 126].
6.4. ПЕРЕОСНАЩЕНИЕ И ОЦЕНКА 83
Частота ошибок
Дерево принятия решений по данным Iris
ошибок при обучении
ошибок при проверке
Номер терминала
Узлы
(От Вайса С. и Куликовски С., Компьютерные системы, которые обучаются,
Морган Кауфманн, 1991)
Рисунок 6.8: Определение момента начала переобучения
Вместо того, чтобы останавливать рост дерева решений, можно увеличить его до полного размера, а затем обрезать конечные узлы и их предков до тех пор, пока точность перекрестной проверки не перестанет увеличиваться. Этот метод называется последующей обрезкой. Различные методы обрезки обсуждаются в работе [Weiss & Kulikowski, 1991].
6.4.4 Методы с минимальной длиной описания
Важный метод выращивания деревьев и их обрезки основан на принципе минимальной длины описания (MDL). (MDL - это важная идея, которая расширяет далее методы дерева решений [Rissanen, 1978].) Идея заключается в том, что простейшее дерево решений, которое может предсказать классы обучающих шаблонов, является наилучшим. Рассмотрим задачу передачи только меток обучающего набора шаблонов, предполагая, что у получателя этой информации уже есть упорядоченный набор шаблонов. Если имеется m шаблонов, каждый из которых помечен одним из R классов, можно передать список из m R-значных чисел. Предполагая равновероятные классы, для такой передачи потребовалось бы m log2 R бит. Или можно было бы передать дерево решений, в котором правильно указаны все шаблоны. Количество битов, которое потребуется для передачи, зависит от метода кодирования деревьев решений и от размера дерева. Если дерево небольшое и точно классифицирует все шаблоны, может оказаться более экономичным передать дерево, чем напрямую передавать метки. В промежутке между этими крайностями мы могли бы передать дерево плюс список меток всех шаблонов, в которых дерево неправильно классифицирует.
В общем случае, количество битов (или длина описания двоичного кодированного сообщения) равно t + d, где t - длина сообщения, необходимая для передачи дерева, а d - длина сообщения, необходимая для передачи меток
ГЛАВА 6. ДЕРЕВЬЯ ПРИНЯТИЯ РЕШЕНИЙ 84
шаблонов, неправильно классифицированные деревом. В некотором смысле, дерево, связанное с наименьшим значением t + d, является лучшим или наиболее экономичным деревом. Метод MDL - это один из способов соблюдения принципа бритвы Оккама.
Квинлан и Ривест [Quinlan & Rivest, 1989] предложили методы для кодирования деревьев решений и списков меток исключений, а также для вычисления длины описания (t+d) этих деревьев и меток. Затем они используют длину описания как показатель качества дерева двумя способами:
а. При выращивании дерева они используют уменьшение длины описания для выбора тестов (вместо уменьшения неопределенности).
б. При обрезке дерева после того, как оно было доведено до нулевой ошибки, они обрезают те узлы (начиная с кончиков), которые приводят к уменьшению длины описания.
Эти методы выгодно отличаются от метода уменьшения неопределенности, хотя они довольно чувствительны к используемым схемам кодирования.
6.4.5 Шум в данных
Наличие шума в данных означает, что неизбежно приходится допускать некоторое количество ошибок — в зависимости от уровня шума. Отказ допускать ошибки в обучающем
наборе при наличии шума приводит к проблеме “подгонки шума”. Таким образом, для борьбы с шумом необходимо учитывать некоторые ошибки в конечных \листовых\ узлах, а также тот факт, что в конечных узлах имеется небольшое количество шаблонов.
6.5 Проблема реплицируемых поддеревьев
Деревья решений - не самый экономичный способ реализации некоторых логических функций. Рассмотрим, например, функцию f = x1 x2 + x3 x4 . Дерево решений для этого функция показана на рис. 6.9. Обратите внимание на реплицированные поддеревья, обведенные кружком. DNF-форма, эквивалентная функции, реализуемой этим деревом решений, имеет вид f = x1 x2 + x1 ;x2 x3 x4 + ;x1 x3 x4 . Эта форма DNF не является минимальной (по количеству дизъюнкций) и эквивалентна f = x1 x2 + x3 x4 .
Необходимость в репликации означает, что для изучения дерева требуется больше времени и что поддеревья, реплицируемые ниже по дереву, должны быть изучены с использованием меньшего обучающего подмножества. Эту проблему иногда называют проблемой фрагментации.
Для решения проблемы фрагментации может быть предложено несколько подходов. Один из них заключается в попытке построить граф принятия решений вместо дерева [Оливер, Доу и Уоллес, 1992, Кохави, 1994]. Граф принятия решений, который реализует те же решения, что и в дереве решений на рис. 6.9, показан на рис. 6.10.
Другой подход заключается в использовании многомерных (а не одномерных) тестов на каждом узле. В нашем примере обучения f = x1 x2 + x3 x4 , если бы у нас был тест на x1 x2
6.6. ПРОБЛЕМА С ОТСУТСТВУЮЩИМИ АТРИБУТАМИ
Рисунок 6.9: Дерево принятия решений с репликацией поддеревьев
и тест для x3 x4, дерево решений можно было бы значительно упростить, как показано на рисунке 6.11. Несколько исследователей предложили методы изучения деревьев решений, в которых тесты в каждом узле являются линейно разделяемыми функциями. [Джон, 1995] дает хороший обзор (с несколькими цитатами) изучения таких линейных дискриминантных деревьев и представляет метод, основанный на “мягкой энтропии”.
Третий метод решения проблемы реплицированного поддерева заключается в извлечении пропозициональных “правил” из дерева решений. Правила будут иметь в предшествующем соединении, ведущиму к конечным узлам, и, как следствие, имя класса в соответствующем конечном узле. Примером правила из дерева с повторяющимся поддеревом в нашем примере будет: x1 ; x2 ; x3 ; x4 ; 1. Куинлан [Quinlan, 1987] обсуждает методы сведения набора правил к более простому набору путем 1) исключения из предшествующего элемента каждого правила любых “ненужных” связей, а затем 2) исключения “ненужных” правил. Соединение или правило считается ненужным, если его устранение практически не влияет на классификацию точности — например, определяется с помощью критерия хи-квадрат. После обработки набора правил может оказаться, что для любого заданного шаблона “активно” несколько правил, и необходимо позаботиться о том, чтобы активные правила не вступали в конфликт при принятии решения о классе шаблона.
ГЛАВА 6. ДЕРЕВЬЯ ПРИНЯТИЯ РЕШЕНИЙ 86
Рисунок 6.10: График принятия решения
6.6 Проблема с отсутствующими атрибутами
Необходимо добавить.
6.7 Сравнения
Несколько экспериментаторов сравнили классификаторы дерева решений, нейронной сети и ближайшего соседа для решения широкого спектра задач. Для сравнения нейронные сети в сравнении с деревьями принятия решений, например, см. [Dietterich и др., 1990, Shavlik, Mooney и Towell, 1991, Quinlan, 1994]. В их проекте StatLog, В [Taylor, Michie и Spiegalhalter, 1994] приведены подробные сравнения нескольких алгоритмов машинного обучения для решения различных типов задач. Кажется, что

Рисунок 6.11: Многовариантное дерево решений
6.8. БИБЛИОГРАФИЧЕСКИЕ И ИСТОРИЧЕСКИЕ ЗАМЕЧАНИЯ 87
не существует единого типа классификатора, который лучше всего подходит для всех задач. И, по-видимому, нет никаких общих заключений, которые позволили бы определить, какой из них лучше для решения каких типов задач классификации лучше всего подходит метод классификатора, хотя [Quinlan, 1994] дает некоторое представление о свойствах задач, которые могут сделать их неподходящими для деревьев решений, с одной стороны, или для обратного распространения, с другой.
6.8 Библиографические и исторические замечания
Будут добавлены позднее.
88
ГЛАВА 6. ДЕРЕВО РЕШЕНИЙ -
глава 7
Индуктивная логика Программирования
Существует множество различных форм представления функций с входными параметрами. До сих пор мы рассматривали (логические) алгебраические выражения, деревья решений и нейронные сети, а также другие вычислительные механизмы, такие как методы вычисления ближайших соседей. Конечно, наиболее важным представлением в информатике является компьютерная программа. Например, лисповский /Lisp/ предикат для двоичных входных данных вычисляет логическую функцию этих входных данных. Аналогично, логическая программа (обычным применением которой является вычисление привязок для переменных) может также использоваться просто для определения того, имеет ли предикат значение Истина (T) или Ложь (F). Например, логическая функция исключающего -или (нечетной четности) двух переменных может быть вычислена с помощью следующей логической программы:
Четность(x,y) : - Верно(x), ¬Верно(y)
:- Верно(y), ¬верно(x)
Мы следуем синтаксису Prolog (см., например, [Mueller & Page, 1988]), за исключением того, что мы придерживаемся соглашения записывать переменные в виде строк, начинающихся строчными буквами, а предикаты - в виде строк, начинающихся прописными буквами. Унарная функция “True” возвращает значение T тогда и только тогда, когда значение его аргумента равно T . (Теперь мы думаем логических функций и аргументов как имеющих значения T и F вместо 0 и 1.) Программы будут написаны шрифтом “пишущая машинка”.
В этой главе мы рассмотрим вопрос обучения логических программ, которым задан набор значений переменных, для которых логическая программа должна возвращать T ( положительные значения), и набор значений переменных, для которых она должна возвращать F (отрицательные значения). Специализация машинного обучения, которая занимается обучением логических программ, называется индуктивным логическим программированием (ILP) [Лаврач и Джероски, 1994]. Как и в случае с любой проблемой обучения, эта задача может быть довольно сложной. сложный и непреодолимо трудный, если только мы не ограничиваем его какими-либо предубеждениями.
89
ГЛАВА 7. ИНДУКТИВНОЕ ЛОГИЧЕСКОЕ ПРОГРАММИРОВАНИЕ 90
В ILP существует множество возможных отклонений (называемых языковыми отклонениями). Можно было бы ограничить программу предложениями Хорна, не разрешать рекурсию, не разрешать функции и так далее.
В качестве примера задачи ILP предположим, что мы пытаемся запустить функцию Nonstop(x,y), которая должна иметь значение T для пар городов, соединенных беспосадочным воздушным перелетом, и F для всех остальных пар городов. Нам дают тренировочный набор состоящий из положительных и отрицательных примеров. В качестве положительных примеров мы могли бы привести (A, B), (A, A1) и некоторые другие пары; в качестве отрицательных примеров мы могли бы привести (A1, A2) и некоторые другие пары. В ILP у нас обычно есть дополнительная информация о примерах, называемая “базовыми знаниями”. В нашей задаче о воздушном полете исходной информацией могут быть такие наземные данные, как Хаб(A), Хаб(B), спутник (A1,A) и другие. (Узел\Хаб\(A) означает, что город, обозначенный буквой A, является узловым городом, а спутник(A1,A) означает, что город, обозначенный A1, является спутником города, обозначенного A.) Исходя из этих обучающих фактов, мы хотим создать программу Nonstop(x,y), написанную в терминах узла фоновых связей Хаб и спутника Сателлит, которая имеет значение T для всех положительных примеров и значение F для все негативные примеры. В зависимости от конкретного набора примеров, мы могли бы запустить программу:
Без остановок(x,y): - Концентратор(x), Концентратор(y)
: - Спутник(x,y)
:- Спутник(y,x)
который имел бы значение T, если бы оба города были узловыми или если бы один был спутником другого. Как и в случае с другими проблемами обучения, мы хотим, чтобы индуцированная программа могла хорошо обобщать; то есть, если она представлена с аргументами, не представленными в обучающем наборе (но для которых у нас есть необходимые базовые знания), мы хотели бы, чтобы функция хорошо угадывала.
7.1 Обозначения и определения
При оценке логических программ в ILP мы неявно добавляем фоновые факты к программе и принимаем обычное соглашение о том, что программа имеет значение T для набора входных данных тогда и только тогда, когда программный интерпретатор возвращает значение T при фактическом запуске программы (с добавлением фоновых фактов) для этих входных данных; в противном случае он имеет значение F . Используя приведенные выше исходные данные, программа, описанная выше, вернула бы, например, значение T для ввода (A, A1). Если логическая программа ; возвращает T для набора аргументов X мы говорим, что программа охватывает аргументы, и записываем эти значения(;, X). Следуя нашей терминологии, введенной в связи с пространствами версий, мы будем говорить, что программа достаточна, если она охватывает все положительные экземпляры, и что она необходима, если она не охватывает ни один из отрицательных экземпляров. (То есть программа реализует достаточное условие, при котором обучающий экземпляр является положительным, если он охватывает все положительные экземпляры обучения; это
7.2. ОБЩИЙ АЛГОРИТМ ILP  91
реализует необходимое условие, если он не охватывает ни один из отрицательных экземпляров.) В бесшумном случае мы хотим создать программу, которая была бы одновременно достаточной и необходимой, и в этом случае мы будем называть ее согласованной. С несовершенными (зашумленными) обучающими наборами мы могли бы ослабить этот критерий и согласиться на программу, которая охватывает все, кроме некоторой доли положительных примеров, но позволяет ей охватывать некоторую долю из негативных примеров. Мы проиллюстрируем эти определения схематично на рис. 7.1.

 это необходимая программа
Положительный пример
описанный в
 достаточная программа
согласованная программа
Рисунок 7.1: Достаточные, необходимые и согласованные программы
Как и в случае с версиями, если программа достаточна, но не обязательна, ее можно заставить охватывать меньшее количество примеров, специализируя ее. И наоборот, если она необходима, но недостаточна, ее можно заставить охватывать больше примеров, обобщая ее. Предположим, мы пытаемся вызвать логическую программу для вычисления отношения ;. Наиболее общей логической программой, которой, безусловно, достаточно, является та, которая имеет значение T для всех входных данных, а именно одно предложение с пустым телом, [; :-], которое в Prolog называется фактом. Самая специальная логическая программа, которая, безусловно, необходима, - это та, которая имеет значение F для всех входных данных, а именно [; :-F ]. Существует два из множества различных способов поиска согласованной логической программы: 1) начните с [; :- ] и специализируйтесь до тех пор, пока программа не станет согласованной, или 2) начните с [; :- F ] и обобщайте до тех пор, пока программа не станет согласованной. Мы будем обсуждать метод, который начинается с [; :- ], специализируется до тех пор, пока программа не станет необходимой (но может оказаться недостаточной), затем поэтапно достигает достаточности путем обобщения — обеспечения на каждом этапе того, что программа остается необходимой (путем специализации).
7.2 Общий алгоритм ILP
Поскольку основными операторами в нашем поиске согласованной программы являются
специализация и обобщение, мы должны обсудить эти операции далее. Всего их
ГЛАВА 7. ИНДУКТИВНОЕ ЛОГИЧЕСКОЕ ПРОГРАММИРОВАНИЕ 92
три основных способа обобщения логической программы:
a. Замените некоторые термины в предложении программы переменными. (Читатели, знакомые с заменами в исчислении предикатов, заметят, что этот процесс является обратным замене.)
b. Удалите литералы из текста предложения.
c. Добавьте предложение в программу
Аналогично, есть три способа, которыми логическая программа может быть специализирована:
a. Замените некоторые переменные в предложении программы терминами (подстановка).
b. Добавьте литералы в тело предложения.
c. Удалите предложение из программы.
Мы представим метод обучения ILP, который добавляет предложения в программу при обобщении и добавляет литералы в тело предложения при специализации. Когда мы добавляем предложение, мы всегда добавляем предложение [; :- ], а затем специализируем его, добавляя литералы в тело. Таким образом, нам нужно только описать процесс добавления литералов.
Предложения могут быть частично упорядочены с помощью отношения специализации. В общем, предложение c1 является более специальным, чем предложение c2, если c2 |= c1 . Особый случай, который мы используем здесь, заключается в том, что предложение c1 является более специальным, чем предложение c2, если набор литералы в теле c2 являются подмножеством литералов в c1 . Это отношение упорядочения может использоваться в структуре частично упорядоченных предложений, называемой графом уточнения, которая аналогична пространству версий. Предложение c1 является непосредственным преемником предложения c2 в этом графе тогда и только тогда, когда предложение c1 может быть получено из предложения c2 путем добавления литерала в тело c2. Затем граф уточнения показывает нам, каким образом мы можем специализировать предложение, добавляя к нему литерал.
Конечно, существует неограниченное количество возможных литералов, которые мы могли бы добавить в текст предложения. Практические системы ILP ограничивают использование литералов различными способами. Обычно разрешенными дополнениями являются:
а. Литералы, используемые в базовых знаниях.
б. Литералы, аргументы которых являются подмножеством аргументов в начале предложения.
c. Литералы, которые вводят новую отдельную переменную, отличную от тех, что указаны в
начале предложения.
d. Литерал, который приравнивает переменную в начале предложения к другой такой переменной или термину, упомянутому в справочных знаниях. (Эта возможность эквивалентна формированию специализации путем выполнения замены.)
7.2. ОБЩИЙ АЛГОРИТМ ILP 93
e. Литерал, который является таким же (за исключением его аргументов), что и в заголовке
предложения. (Эта возможность допускает рекурсивные программы, которые запрещены в некоторых системах.)
Мы можем проиллюстрировать эти возможности на примере нашего воздушного полета. Мы начнем с программы [Nonstop(x,y) :- ]. В качестве базовых знаний используются такие литералы, как Hub и Satellite. Таким образом, мы могли бы рассмотреть возможность добавления следующих литералов:
Hub(x)
Спутник(z,y)
(x = y)
(Если разрешены рекурсивные программы, мы могли бы также добавить литералы Nonstop(x,z) и безостановочно (z,y).) Эти возможности относятся к числу тех, которые проиллюстрированы на графике уточнений, показанном на рис. 7.2. Какие бы ограничения на дополнительные литералы ни накладывались, все они являются синтаксическими, из которых легко вычисляются последующие в графе уточнений. Таким образом, программы ILP, которые следуют обсуждаемому нами подходу (специализация предложений путем добавления литерала), имеют четко определенные методы вычисления возможных литералов для добавления в предложение.
Теперь мы готовы записать простой общий алгоритм для создания логическая программа, ; для установления отношения ;. Нам задан обучающий набор, состоящий из ; наборов аргументов, некоторые из которых, как известно, находятся в отношении ;, а некоторые ; нет; ;+ - положительные примеры, а ;- отрицательные примеры. Алгоритм имеет внешний цикл, в котором он последовательно добавляет предложения, чтобы сделать ; все более и более достаточным. В нем есть внутренний цикл для построения предложения c, которое становится все более и более необходимым и в котором оно ссылается только на подмножество обучающих экземпляров, ;Cur. (Положительные значения в ;Cur будут обозначаться ;+ cur , а отрицательные ; ;-cur  .) Также  алгоритм приводит фоновые отношения и предполагаемые значения для добавления литералов в предложение. Он использует логический программный интерпретатор, чтобы вычислить, охватывает ли программа, которую он запускает, обучающие экземпляры или нет. Алгоритм может быть записан следующим образом:
Общий алгоритм ILP
(Адаптировано из [Лаврач и Джероски, 1994, с. 60].)
ГЛАВА 7. ИНДУКТИВНОЕ ЛОГИЧЕСКОЕ ПРОГРАММИРОВАНИЕ 94

Без остановок (x, y) :-
Концентратор(x)
Спутник (x,y)
Рисунок 7.2: Часть графа уточнения

Инициализируем ;Cur := ;.
Инициализируем ; := пустой набор предложений.
повторяем [Внешний цикл работает, чтобы сделать ; достаточным.]
Инициализируем c := ; : ; .
повторяем [Внутренний цикл делает c необходимым.]
Выбираем литерал l для добавления в c. [Это недетерминированная точка выбора.]
Присваивайте c := c, l.
до тех пор, пока c не станет необходимым. [То есть до тех пор, пока c не покроет все отрицательные значения в ;Cur .]
Присвойте ; := ;, c. [Мы добавим предложение c в программу.]
Присвойте ;Cur := ;Cur ; (положительные значения в ;Cur, на которые распространяется ;).
пока ; не будет достаточным.
(Тесты завершения для внутреннего и внешнего контуров могут быть смягчены в
зависимости от наличия помех.)
7.3 Пример
Мы проиллюстрируем работу алгоритма, обратившись к нашему примеру с полетами авиакомпаний. Рассмотрим фрагмент карты маршрутов авиакомпаний, показанный на рис. 7.3. Города Пункты A, B и C являются “узловыми” городами, и мы знаем, что между всеми узловыми городами (даже теми, которые не показаны на этой части карты маршрута) есть беспосадочные рейсы. Остальные
7.3. ПРИМЕР 95
из городов являются “спутниками” одного из хабов, и мы знаем, что между каждым городом-спутником и его хабом есть беспосадочные рейсы. В программе обучения приводится набор положительных примеров, ;+ , пар городов, между которыми есть беспосадочные рейсы. рейсы и набор отрицательных примеров, ;; , пар городов, между которыми нет беспосадочных рейсов. ;+ содержит только пары:
{< А, В >, < А, С >, < В, С>, < В, А >, < С, А >, < С, В >,
< А, А1 >, < А, А2 >, < А1, А >, < А2, А >, < B, B1 >, < B, B2 >,
< В1, В >, < В2, В >, < С, С1 >, < С, С2 >, < С1, С >, < С2, С >}
Для нашего примера мы предположим, что ;; содержит все те пары городов, показанные на рис. 7.3, которых нет в ;+ (тип предположения о замкнутом мире). Это:
{< A, B1 >, < A, B2 >, < A, C1 >, < A, C2 >, < B, C1 >, < B, C2 >,
< B, A1 >, < B, A2 >, < C, A1 >, < C, A2 >, < C, B1 >, < C, B2 >,
< В1, А >, < В2, А >, < С1, А >, < С2, А >, < С1, В >, < С2, В >,
< А1, В >, < А2, В >, < А1, С >, < А2, С >, < В1, С >, < В2, С >}
Могут быть и другие города, не показанные на этой карте, поэтому обучающий набор не
обязательно охватывает все города.
Рисунок 7.3: Часть карты маршрутов авиакомпаний
Мы хотим, чтобы обучающая программа создавала программу для непрерывного вычисления значения отношения. Обучающий набор, ;, можно рассматривать как частичный
ГЛАВА 7. ИНДУКТИВНОЕ ЛОГИЧЕСКОЕ ПРОГРАММИРОВАНИЕ 96
описание этого отношения в расширенной форме — в нем явно указаны некоторые пары в отношении, а некоторые пары не в отношении. Мы хотим обучить непрерывное\ нонстоп\ отношение как логическую программу в терминах базовых отношений, концентратора и спутника, которые также даны в расширенной форме. Это даст нам более компактное и содержательное описание взаимосвязи, и это описание можно было бы с пользой распространить на другие города, не упомянутые на карте.
Мы предполагаем, что в программе обучения есть следующие расширительные определения Центра \хаб\ и спутника взаимосвязи:
Хаб
{< A >, < B >, < C >}
Предполагается, что все остальные города, упомянутые на карте, не входят в центр отношений. Мы будем использовать обозначение Hub(x), чтобы выразить, что город с именем x находится в центре отношений.
Спутник
{< A1, A, >, < A2, A >, < B1, B >, < B2, B >, < C1, C >, < C2, C >}
Все остальные пары городов, обозначенных на карте, не являются соответствующими городами-спутниками. Мы будем использовать обозначение Satellite(x,y), чтобы выразить, что пара < x, y > находится в соотношении Satellite.
Зная, что предикат Nonstop является двузначным, внутренний цикл нашего алгоритма инициализирует первое предложение значением Nonstop(x,y) :- . В этом предложении нет необходимости, поскольку он охватывает все отрицательные примеры (поскольку он охватывает все примеры). Поэтому мы должны добавить литерал в его (пустое) тело. Предположим (выбрав литерал из графика уточнения), алгоритм добавляет Hub(x). Следующие положительные моменты в ; подпадают под действие Nonstop(x,y) : - Hub(x):
{< A, B >, < A, C >, < B, C >, < B, A >, < C, A >, < C, B >,
< A, A1 >, < A, A2 >, < B, B1 >, < B, B2 >, < C, C1 >, < C, C2 >}
Чтобы вычислить это покрытие \охват\, мы интерпретируем логическую программу Nonstop(x,y) :- Hub(x) для всех пар городов в ;, используя пары, указанные в фоновом режиме центр взаимосвязей в качестве основополагающих фактов. Также рассматриваются следующие негативные примеры:
7.3. ПРИМЕР 97
{< A, B1 >, < A, B2 >, < A, C1 >, < A, C2 >, < C, A1 >, < C, A2 >,
< C, B1 >, < C, B2 >, < B, A1 >, < B, A2 >, < B, C1 >, < B, C2 >}
Таким образом, предложение пока не является необходимым, и необходимо добавить другой литерал.  Предположим, что далее мы добавим концентратор \хаб\(y). Следующие положительные примеры рассматриваются в
Без остановок(x,y) : - Концентратор(x), концентратор(y):
{< A, B >, < A, C >, < B, C >, < B, A >, < C, A >, < C, B >}
В ; больше нет отрицательных значений, поэтому предложение Nonstop(x,y) : - Hub(x), Hub(y) необходимо, и мы можем завершить первый проход по внутреннему циклу.
Но программы ;, состоящей только из этого предложения, недостаточно. Эти положительные примеры не охватываются предложением:
{< А, А1 >, < А, А2 >, < А1, А >, < А2, А >, < В, В1 >, < В, В2 >,
< В1, В >, < В2, В >, < С, С1 >, < С, С2 >, < С1, С >, < С2, С >}
Положительные экземпляры, которые были охвачены параметрами Nonstop(x,y) :- Hub(x), Hub(y), удаляются из ;, чтобы сформировать ;Cur, который будет использоваться при следующем прохождении по внутреннему циклу. ;Cur состоит из всех отрицательных элементов в ; плюс положительные экземпляры (перечисленные выше), которые еще не охвачены. Чтобы попытаться охватить их, внутренний цикл создает другое предложение c, изначально установленное в значение Nonstop(x,y).:- . Это предложение охватывает все отрицательные экземпляры \примеры\, и поэтому мы должны добавить буквенные обозначения, чтобы сделать его необходимым. Предположим, мы добавим буквенный спутник (x,y).  Предложение Nonstop(x,y) :- Satellite(x,y) не содержит отрицательных значений, поэтому оно необходимо. Оно охватывает следующие положительные значения в ;Cur :
{< A1, A >, < A2, A >, < B1, B >, < B2, B >, < C1, C >, < C2, C >}
Эти экземпляры удаляются из ;Cur для следующего прохождения по внутреннему циклу. Программа теперь содержит два пункта:
Nonstop(x,y): - Hub(x), Концентратор(y)
: - Спутник (x,y)
Этой программы пока недостаточно, поскольку она не охватывает следующие положительные примеры:
{< A, A1 >, < A, A2 >, < B, B1 >, < B, B2 >, < C, C1 >, < C, C2 >}
ГЛАВА 7. ИНДУКТИВНОЕ ЛОГИЧЕСКОЕ ПРОГРАММИРОВАНИЕ 98
Во время следующего прохождения по внутреннему циклу мы добавляем предложение Nonstop(x,y):- Satellite(y,x). Это предложение необходимо, и поскольку программы, содержащей все три предложения, теперь достаточно, процедура завершается с помощью:
Без остановок(x,y) : - Концентратор(x), Концентратор(y)
: - Спутник(x,y)
:- Спутник(y,x)
Поскольку каждое предложение необходимо, а всей программы в целом достаточно, программа также согласована со всеми экземплярами обучающего набора. Обратите внимание, что эта программа может быть применена (возможно, с хорошим обобщением) к другим городам, кроме тех, что указаны на нашей частичной карте, при условии, что мы сможем оценить центр связей \хаб\ и Спутник \сателлит\ для этих других городов. В следующем разделе мы покажем, как этот метод может быть расширен для использования рекурсии в отношении, которое мы вводим. С помощью этого расширения метод можно использовать для создания более общих логических программ.
7.4 Создание рекурсивных программ
Чтобы индуцировать рекурсивную программу, мы допускаем добавление литерала, имеющего ту же букву предиката, что и в начале предложения.  Для обеспечения завершения работы такой программы необходимо использовать различные механизмы; один из них заключается в том, чтобы убедиться, что новый литерал содержит переменные, отличные от переменных в главном \головном\ литерале. Этот процесс лучше всего проиллюстрировать другим примером. Наш пример является продолжением примера с использованием карты авиакомпании, но мы несколько упрощаем карту, чтобы уменьшить размер используемых пространственных \расширения\  связей. Рассмотрим представленную карту на рис. 7.4. Опять же, B и C — это города-центры, B1 и B2 - спутники B, C1 и C2 - спутники C. Мы ввели два новых города, B3 и C3. Между этими городами и любыми другими городами нет рейсов - возможно, есть только автобусные маршруты, как показано на рисунке серые линии на карте.
Теперь мы хотим обучить программу для Canfly(x,y), которая охватывает только те пары городов, до которых можно добраться одним или несколькими беспосадочными рейсами. Соотношение Canfly удовлетворяет следующим парам положительных примеров:
{< В1, В >, < В1, В2 >, < В1, С >, < В1, С1 >, < В1, С2 >,
< В, В1 >, < В2, В1 >, < С, В1 >, < С1, В1 >, < С2, В1 >,
< B2, B >, < B2, C >, < B2, C1 >, < B2, C2 >, < B, B2 >,
< C, B2 >, < C1, B2 >, < C2, B2 >, < B, C >, < B, C1 >,
< В, С2 >, < С, В >, < С1, В >, < С2, В >, < С, С1 >,
< С, С2 >, < С1, С >, < С2, С >, < С1, С2 >, < С2, С1 >}
7.4. СОЗДАНИЕ РЕКУРСИВНЫХ ПРОГРАММ 99
Рисунок 7.4: Схема маршрута другой авиакомпании
Используя допущение о замкнутом мире на нашей карте, мы принимаем отрицательные экземпляры Canfly за:
{< B3, B2 >, < B3, B >, < B3, B1 >, < B3, C >, < B3, C1 >,
< В3, С2 >, < В3, С3 >, < В2, В3 >, < В, В3 >, < В1, В3 >,
< С, В3 >, < С1, В3 >, < С2, В3 >, < С3, В3 >, < С3, В2 >,
< С3, В >, < С3, В1 >, < С3, С >, < С3, С1 >, < С3, С2 >,
< В2, С3 >, < В, С3 >, < В1, С3 >, < С, С3 >, < С1, С3 >,
< С2, С3 >}
Мы будем индуцировать Canfly (x, y), используя расширяемое фоновое отношение Nonstop, приведенное ранее (измененное в соответствии с требованиями к нашей сокращенной карте авиакомпаний), и сам Canfly (рекурсивно).
Как и прежде, мы начинаем с пустой программы и переходим к внутреннему циклу, чтобы создать необходимое предложение. Предположим, что внутренний цикл непрерывно добавляет фоновый литерал (x,y). Предложение Canfly(x,y) :- Nonstop(x,y) необходимо; оно не распространяется на отрицательные экземпляры. Но этого недостаточно, поскольку оно не распространяется на следующие положительные экземпляры:
{< В1, В2 >, < В1, С >, < В1, С1 >, < В1, С2 >, < В2, В1 >,
< С, В1 >, < С1, В1 >, < С2, В1 >, < В2, С >, < В2, С1 >,
< B2, C2 >, < C, B2 >, < C1, B2 >, < C2, B2 >, < B, C1 >,100
ГЛАВА 7. ИНДУКТИВНОЕ ЛОГИЧЕСКОЕ ПРОГРАММИРОВАНИЕ
< B, C2 >, < C1, B >, < C2, B >, < C1, C2 >, < C2, C1 >}
Таким образом, мы должны добавить в программу еще один пункт \предложение\. Во внутреннем цикле мы сначала создаем предложение Canfly(x,y) :- Nonstop(x,z), которое вводит новую переменную z. Мы кратко остановимся, чтобы описать, как интерпретируется программа, содержащая предложение с несвязанными переменными в своем теле. Предположим, мы пытаемся интерпретировать его как положительный пример Canfly(B1,B2). Интерпретатор пытается установить значение Nonstop(B1,z) для некоторого значения z. Поскольку Nonstop(B1, B), например, является фоновым фактом, интерпретатор возвращает T —, что означает, что экземпляр < B1, B2 > является закрытым \охваченным\. Предположим теперь, что мы пытаемся интерпретировать предложение для отрицательного экземпляра Canfly(B3,B). Интерпретатор пытается установить Nonstop(B3,z) для некоторого z. Совпадающих исходных фактов нет, поэтому предложение не распространяется на < B3, B >. Используя интерпретатор, мы видим, что предложение Canfly(x,y) :- Nonstop(x,z) охватывает все положительные примеры, которые еще не описаны в первом предложении, но оно также охватывает многие отрицательные примеры , такие как < B2, B3> и < B, B3>. Таким образом, внутренний цикл должен добавить еще один литерал. На этот раз предположим, что он добавляет Canfly(z,y), чтобы получить предложение Canfly(x,y) :- Nonstop(x,z), Canfly(z,y). Это предложение необходимо; никакие отрицательные примеры не рассматриваются. Теперь программа является достаточной и согласованной; она:
Canfly(x,y) :- Без остановок(x,y)
:- Без остановок(x,z), Canfly(z,y)
7.5 Выбор литералов для добавления
Одной из первых практических систем ILP была система FOIL Квинлана [Quinlan, 1990]. Основная проблема заключается в выборе литерала для добавления во внутренний цикл (из числа разрешенных литералов). В FOIL Квинлан предположил, что литералы-кандидаты могут быть сопоставлены с использованием информационно—подобной меры, аналогичной мерам, используемым при построении деревьев решений. Показатель, который дает такое же сравнение, как и у Quinlan's, основан на величине, на которую добавление литерала увеличивает вероятность \ нечётность\ того, что экземпляр, выбранный случайным образом из числа тех, на которые распространяется новое предложение, является положительным экземпляром, по сравнению с тем, что было до добавления литерала.
Пусть p - оценка вероятности того, что экземпляр, выбранный случайным образом из числа тех, которые охватываются предложением перед добавлением литерала, является положительным экземпляром. То есть, p =(количество положительных экземпляров, охватываемых предложением)/ (общее количество экземпляров, охватываемых предложением). Удобно выразить эту вероятность в виде “коэффициента \нечётная форма”. Коэффициент \нечётность, вероятность\ o на то, что охваченный экземпляр является положительным, определяется как o = p/(1 ; p). Выражая вероятность в терминах коэффициентов, мы получаем p = o/(1 + o).
7.6. ВЗАИМОСВЯЗИ МЕЖДУ ILP И ПОСТРОЕНИЕМ ДЕРЕВА РЕШЕНИЙ 101
После выбора литерала l для добавления в предложение некоторые из рассмотренных ранее примеров остаются закрытыми; некоторые из них являются положительными, а некоторые - отрицательными. Пусть pl обозначает вероятность того, что экземпляр, выбранный случайным образом из экземпляров, описанных в новом предложении (с добавлением l), будет положительным. Коэффициенты \нечётность\ будут обозначаться как ol. Мы хотим выбрать литерал l, который дает максимальное увеличение этих коэффициентов. То есть, если мы определяем ;l = ol /o, нам нужен литерал, который дает высокое значение ;l . Специализация предложения таким образом, чтобы оно не охватывало многие из рассмотренных ранее отрицательных примеров, но все же охватывало большинство рассмотренных ранее положительных примеров, приведет к высокому значению ;l . (Оказывается, что значение теоретико-информационной меры Квинлана монотонно возрастает с увеличением ;l, поэтому мы могли бы с таким же успехом использовать последнее.)
Помимо поиска литерала с высоким значением ;l, система Квинлана также ограничивает выбор литералами, которые:
а) содержать по крайней мере одну переменную, которая уже использовалась,
б) накладывать дополнительные ограничения на переменные, если выбранный литерал имеет ту же букву предиката, что и вызываемый литерал (чтобы предотвратить бесконечную рекурсию), и
c) пройти тест на сокращение, основанный на значениях ;l для тех литералов, которые были выбраны до сих пор.
Мы отсылаем читателя к статье Квинлана для дальнейшего обсуждения этих вопросов. Квинлан также обсуждает методы постобработки и представляет экспериментальные результаты применения метода для изучения рекурсивных отношений в списках, правил для шахматных эндшпилей и карточной игры Eleusis, а также для некоторых других стандартных задач, упомянутых в литературе по машинному обучению.
Читателю  также следует обратиться к [Паццани и Киблер, 1992, Лаврач и Джероски, 1994, Магглтон, 1991, Магглтон, 1992].
Обсудите предварительную и
постобработку,
методы "снизу вверх" и LINUS.
7.6 Взаимосвязи между ILP и индукцией дерева решений
Общий алгоритм ILP также можно рассматривать как тип построения дерева решений. Вспомним проблему построения деревьев решений, когда значения атрибутов являются категориальными.  При разбиении по одной переменной разбиение на каждом узле включает в себя запрос о том, к какому из нескольких взаимоисключающих и исчерпывающих подмножеств принадлежит значение переменной. Например, если узел протестировал переменную xi, и если xi может иметь значения, полученные из {A, B, C, D, E, F }, то возможен один разделение (среди многих) может происходить в зависимости от того, имеет ли значение xi значение из {A, B, C} или одно из {D, E, F}.
Также возможно выполнить многовариантное разделение, проверяя значения двух или более переменных одновременно. При использовании категориальных переменных разделение на n переменных будет основываться на том, какому из нескольких n-арных соотношений удовлетворяют значения переменных. Например, если узел тестировал переменные xi и xj, и если значения xi и xj могут быть получены из {A, B, C, D, E, F }, то возможно одно двоичное разделение
ГЛАВА 7. ИНДУКТИВНОЕ ЛОГИЧЕСКОЕ ПРОГРАММИРОВАНИЕ 102
(среди многих) может зависеть от того, удовлетворяют ли < xi, xj > соотношению {< A, C >, < C, D >}. (Обратите внимание, что наш подмножественный метод формирования разбиений по одной переменной мог бы быть эквивалентно сформулирован с использованием 1-арных отношений, которые обычно называются свойства.)
В этой структуре проблема ILP заключается в следующем: нам дается обучающий набор, ;, шаблонов с положительной и отрицательной маркировкой, компоненты которого взяты из набора переменных {x, y, z, . . .}. Шаблоны с положительной маркировкой в ; образуют расширенное определение отношения, R. Нам также даны фоновые соотношения, R1 , . . . , Rk , на различных подмножествах этих переменных. (То есть нам даны наборы кортежей, которые находятся в этих отношениях.) Мы хотим построить интенсиональное определение R в терминах R1 , ... , Rk таким образом , чтобы все положительно помеченные шаблоны в ; удовлетворялись R, и ни один из отрицательно помеченных шаблонов не удовлетворялся. Интенсиональное определение будет дано в терминах логической программы, в которой отношение R является главой набора предложений, тела которых включают фоновые отношения.
Общий алгоритм ILP можно понимать как индукцию дерева решений, где каждый узел дерева решений сам по себе является под-деревом решений, и каждое под- дерево решений состоит из узлов, которые выполняют бинарные разбиения по нескольким переменным, используя фоновые отношения, Ri. Таким образом, мы будем говорить о дереве решений верхнего уровняи различных под-деревьях решений. (На самом деле, наши деревья решений
будут списками решений — частным случаем деревьев решений, но в наших обсуждениях мы будем называть их деревьями.)
В общих чертах метод получения интенсиональной версии отношения R проиллюстрирован на примере дерева решений, показанного на рис. 7.5. В этом на диаграмме шаблоны в ; сначала фильтруются по дереву решений в узле 1 верхнего уровня. Некоторые из этих шаблонов удовлетворяют фоновому соотношению R1; они фильтруются вправо (в соответствии с отношением R2), а остальные фильтруются влево (подробнее о том, что происходит с ними позже). Подходящие шаблоны фильтруются с помощью последовательности реляционных тестов до тех пор, пока только положительно помеченные шаблоны не удовлетворят последнему соотношению - в данном случае R3. То есть подмножество шаблонов, удовлетворяющих всем соотношениям R1 , R2 и R3, содержит только положительные экземпляры из ;. (Мы можно сказать, что эта комбинация тестов необходима. Они соответствуют предложению, созданному при первом прохождении по внутреннему циклу универсального алгоритма ILP .) Назовем подмножество шаблонов, удовлетворяющих этим соотношениям, ;1; они удовлетворяют узлу 1 на верхнем уровне. Все остальные шаблоны, то есть {; ; ;1 } = ;2, фильтруются слева по узлу 1.
;2 затем фильтруется узлом верхнего уровня 2 практически таким же образом, так что
Узлу 2 удовлетворяют только образцы с положительной маркировкой в ;2 . Мы продолжаем фильтрацию по узлам верхнего уровня до тех пор, пока не будут обнаружены только образцы с отрицательной маркировкой. удовлетворяет верхнему узлу. В нашем примере ;4 содержит только шаблоны с отрицательной маркировкой, а объединение ;1 и ;3 содержит все шаблоны с положительной маркировкой.  Отношение R, которое отличает положительные шаблоны в ; от отрицательных, задается в терминах следующей логической программы:
R :- R1, R2, R3
7.6. ВЗАИМОСВЯЗИ МЕЖДУ ILP И ПОСТРОЕНИЕМ ДЕРЕВА РЕШЕНИЙ103
Узел 1
(только положительные
экземпляры удовлетворяют
этим двум критериям)
(только отрицательные значения
экземпляров)
Рисунок 7.5: Дерево решений для ILP
:- R4, R5
Если мы применим подобную процедуру построения дерева решений к задаче непрерывной генерации логической программы для отношения (см. рис. 7.3), то получим дерево решений, показанное на рис. 7.6. Логическая программа, полученная на основе этого дерева решений, аналогична программе, созданной с помощью универсального алгоритма ILP.
При постановке задачи обучающий набор ; может быть представлен в виде набора из 2-размерные векторы с компонентами x и y. Значения этих компонентов варьируются по городам {A, B, C, A1, A2, B1, B2, C1, C2}, за исключением (для простоты) мы не допускаем шаблонов, в которых x и y имеют одинаковое значение. Как и ранее, отношение Nonstop содержит следующие пары городов, которые являются положительными примерами:
{< А, В >, < А, С >, < В, С>, < В, А >, < С, А >, < С, В >,
< А, А1 >, < А, А2 >, < А1, А >, < А2, А >, < B, B1 >, < B, B2 >,
< В1, В >, < В2, В >, < С, С1 >, < С, С2 >, < С1, С >, < С2, С >}
Все остальные пары городов, названные на карте на рис. 7.3 (с использованием замкнутого мира допущение) не находятся в непрерывном отношении и, следовательно, являются отрицательными примерами.
Поскольку значения x и y категоричны, построение дерева решений было бы очень сложной задачей, поскольку оно требует создания соотношений на
ГЛАВА 7. ИНДУКТИВНОЕ ЛОГИЧЕСКОЕ ПРОГРАММИРОВАНИЕ 104
x и y будут использоваться в качестве тестов. Но с помощью базовых связей Ri (в данном случае Hub и Satellite) задача значительно упрощается. Мы выбираем эти соотношения таким же образом, как и литералы; из числа доступных тестов мы делаем выбор, на основе которого получаем наибольшее значение ;Ri .
7.7 Библиографические и исторические примечания
Будет добавлено позднее.
7.7. БИБЛИОГРАФИЧЕСКИЕ И ИСТОРИЧЕСКИЕ ПРИМЕЧАНИЯ
Узел 1
(верхний уровень)
(верхний уровень)
(Только положительные примеры)
Спутник(x,y)
{Только отрицательные примеры}
Рисунок 7.6: Дерево решений для задачи о маршруте авиакомпании
105
ГЛАВА 7. ИНДУКТИВНОЕ ЛОГИЧЕСКОЕ программирование, 106
глава 8
Компьютерное обучение
Теория
В первой главе мы поставили задачу угадать функцию по набору выборочных входных данных и их значениям. Мы привели несколько интуитивных аргументов в поддержку утверждения о том, что, увидев лишь малую часть возможных входных данных (и их значений), мы могли бы почти правильно угадать значения большинства последующих входных данных — если бы знали, что функция, которую мы пытаемся угадать, принадлежит к соответствующему ограниченному подмножеству функций. То есть данный обучающий набор выборочных шаблонов может быть достаточным для того, чтобы позволить нам выбрать функцию, непротиворечивую с помеченными выборками из ограниченного набора гипотез, так что с высокой вероятностью выбранная нами функция будет приблизительно правильной ( вероятность ошибки невелика) для последующих выборок, отобранных случайным образом, в соответствии с тем же распределением, из которого были отобраны помеченные выборки. Это понимание привело к созданию теории вероятного приблизительно правильного обучения (PAC), первоначально разработанной Лесли Вэлиантом [Valiant, 1984]. Здесь мы приводим краткое описание теории для случая булевых функций. [Диттерих, 1990, Хаусслер, 1988, Хаусслер, 1990] дают хороший обзор важных результатов.
Другие обзоры?
8.1 Обозначения и допущения для  теории обучения PAC
Мы предполагаем, что обучающий набор ; состоит из n-мерных векторов Xi , i = 1, ... , m, каждый из которых помечен (1 или 0) в соответствии с целевой функцией f, которая неизвестна обучаемому. Вероятность того, что любой заданный вектор X окажется в ; или позже будет представлен учащемуся, равна P (X). Распределение вероятности P может быть произвольным. (В литературе по теории обучения PAC целевая функция обычно называется целевой концепцией и обозначается буквой c, но для соответствия с нашими предыдущими обозначениями мы продолжим обозначать ее буквой f .) Наша задача - угадать
107
ГЛАВА 8. ТЕОРИЯ КОМПЬЮТЕРНОГО ОБУЧЕНИЯ 108

функцию h(X), основанную на помеченных выборках в ;. В теории PAC такая предполагаемая функция называется гипотезой. Мы предполагаем, что целевая функция является некоторым элементом множества функций C. Мы также предполагаем, что гипотеза
h является элементом множества H гипотез, которое включает в себя множество C целевых функций. H называется пространством гипотез.
В общем, h не будет совпадать с f, но мы можем стремиться к тому, чтобы значение h(X)= было равно значению f (X) для большинства X. То есть мы хотим, чтобы значение h было приблизительно правильным. Чтобы количественно оценить это понятие, мы определяем погрешность h, ;h как вероятность что X, нарисованный случайным образом в соответствии с P, будет неправильно классифицирован:

Символы, выделенные жирным шрифтом, должны быть
меньше, если они являются нижними индексами в
математических средах.
Мы говорим, что значение h приблизительно (за исключением ; ) корректно, если ;h ; ;, где ; — параметр точности.
Предположим, мы можем найти значение h, которое правильно классифицирует все m случайно отобранных обучающих выборок; то есть значение h согласуется с этим случайно выбранным обучающим набором, ;. Если m достаточно велико, будет ли такое значение h приблизительно правильным (и для какого значения ;)? В некоторых тренировочных случаях, используя m, произвольно выбранных в обучающих выборках такое значение h может оказаться приблизительно правильным (для заданного значения ;), а в других - нет. Мы говорим, что h, вероятно (за исключением ;), приблизительно корректен (PAC), если вероятность того, что он приблизительно корректен, больше 1 ; ;, где ; - доверительный параметр. Мы покажем, что если m больше некоторой границы, значение которой зависит от ; и ;, то такое значение h гарантированно будет приблизительно правильным.
В общем, мы говорим, что обучающийся алгоритм PAC обучает функции из C в терминах H, если для каждой функции f ; C она выводит гипотезу h ; H, такую, что с вероятностью не менее (1 ; ;) ;h ; ;. Такая гипотеза называется вероятно (за исключением ;) приблизительно (за исключением ;) правильной.
Нам нужны обучающие алгоритмы, которые были бы послушны, итак нам нужен алгоритм, который бы PAC обучал функции за полиномиальное время. Это можно сделать только для определенных классов функций. Если в наборе гипотез имеется конечное число гипотез (как это имеет место для многих рассмотренных нами наборов гипотез), мы могли бы всегда продуцировать непротиворечивые гипотезы из этого набора, проверяя их всех на соответствие данным обучения. Но если число гипотез увеличивается в геометрической прогрессии, это займет экспоненциальное время. Мы ищем методы обучения, которые позволяют создавать непротиворечивые гипотезы за меньшее время. Были определены временные сложности для различных наборов гипотез, и они сведены в таблицу, которая будет представлена позже.
Класс C является полиномиально PAC-обучаемым в терминах H при условии, что существует алгоритм обучения за полиномиальное время (многочлен по количеству выборок требуется, m, в размерности, n, в 1/; и в 1/;), чтобы PAC- обучение функционировало в C в терминах H.
Первоначальная работа над PAC предполагала, что H = C, но позже было показано, что некоторые функции не могут быть полиномиально обучены с помощью PAC при таком предположении (предположение
8.2. ОБУЧЕНИЕ с помощью PAC 109
P; NP), но может быть PAC -обучен полиномиально, если H является строгим надмножеством C! Кроме того, в нашем определении не указано распределение P, из которого извлекаются шаблоны, и ничего не говорится о свойствах алгоритма обучения. Поскольку C и H не обязательно должны быть идентичными, у нас есть дополнительное ограничивающее определение:
Надлежащим образом поддающимся PAC-обучению классом является класс C, для которого существует алгоритм, который полиномиально PAC-обучает функции из C в терминах C.
8.2 Обучение PAC
8.2.1 Фундаментальная теорема
Предположим, что наш обучающий алгоритм случайным образом выбирает некоторое количество h из числа тех, которые соответствуют значениям f в m обучающих шаблонах. Вероятность того, что ошибка этого случайно выбранного значения h больше некоторого ;, при этом значение h соответствует значениям f (X) для m экземпляров X (построенных в соответствии с произвольным P ), меньше или равно |H|e;em , где |H| - количество гипотез в
H. Мы формулируем этот результат в виде теоремы [Blumer и др., 1987]:
Теорема 8.1 (Блюмер и др.) Пусть H - любой набор гипотез, ; - набор из m ; 1 обучающих примеров, составленных независимо в соответствии с некоторым распределением P , f - любая классификационная функция в H, а ; > 0. Тогда вероятность того, что существует гипотеза h, согласующаяся с f для членов ; , но с ошибкой, превышающей ;, составляет не более |H|e;em .
Доказательство:
Рассмотрим множество всех гипотез, {h1 , h2 , . . . , hi , . . . , hS }, в H, где S = |H|. Ошибка для hi равна ;hi= вероятность того, что hi  классифицирует паттерн с ошибкой (то есть не так, как классифицировал бы ее f). Вероятность того, что hi правильно классифицирует шаблон, равна (1; ;hi ). Подмножество HB из H будет иметь ошибку, превышающую ;. Мы будем называть гипотезы в этом подмножестве ошибочными. Вероятность того, что какая;либо конкретная из этих плохих гипотез, скажем, hb, правильно классифицирует паттерн, равна (1 - ;hb ). Поскольку ;hb > ;, вероятность того, что hb (или любая другая плохая гипотеза) правильно классифицирует паттерн, меньше (1 ; ;). Вероятность того, что он правильно классифицирует все m независимо нарисованных паттернов, в этом случае меньше (1 ; ;)m .
То есть, вероятность того, что prob[hb правильно классифицирует все m паттернов |hb ; HB ] ; (1 ; ;)m .
вероятность того, что prob[некоторые h ;HB правильно классифицируют все m паттернов]
= ;hb ; Hbprob[hb правильно классифицирует все m шаблонов |hb ;HB ]; K(1 ; ;)m , где K = |HB|.
ГЛАВА 8. ТЕОРИЯ КОМПЬЮТЕРНОГО ОБУЧЕНИЯ 110
То есть,
вероятно, prob[существует неверная гипотеза, которая правильно классифицирует все m паттернов]
; K(1 ; ;)m .
Поскольку K ; |H| и (1 ; ;)m ; e;;m , мы имеем:
вероятность prob[существует неверная гипотеза, которая правильно классифицирует все m паттернов]
= вероятность prob[существует гипотеза с ошибкой > ;, которая правильно классифицирует все m паттернов] ; |H|e;;m .
QED
Следствием этой теоремы является:
Следствие 8.2 При наличии m ; (1/;)(ln|H| + ln(1/;)) независимых выборок вероятность того, что в H существует гипотеза, которая согласуется с f в этих выборках и имеет ошибку, превышающую ;, составляет не более ;.
Доказательство: Мы должны найти оценку для m, которая гарантирует, что вероятность [существует гипотеза с ошибкой > ; и которая правильно классифицирует все m шаблонов ] ; ;. Таким образом, используя результат теоремы, мы должны показать, что |H|e;;m ; ;. Если сложить натуральный логарифм с обеих сторон, то получится:
ln |H| ; ;m ; ln ;
или
m ; (1/;)(ln |H| + ln(1/;))
QED
Это следствие важно по двум причинам. Во;первых, в нем четко указано, что мы можем выбрать любую гипотезу, совместимую с m выборками, и быть уверенными, что с вероятностью (1 - ;) ее ошибка будет меньше ;. Кроме того, показано, что если в заказ \порядок\ для m увеличить не более чем полиномиально с n, то |H| не может быть больше чем 2O(nk ) . Нет ни одного класса более, чем может быть гарантированно правильно PAC обучаемых.
Вот возможная причина путаницы: граница, указанная в следствии, является верхней границей значения m, необходимого для обеспечения полиномиального, вероятно, правильного обучения. Значения m, превышающие эту границу, достаточны (но могут и не потребоваться). Мы представим нижнюю (необходимую) границу позже в главе.
8.2. ОБУЧЕНИЕ PAC 111
8.2.2 Примеры
Условия
Пусть H - множество термов (соединений литералов). Тогда |H| = 3n и
m ; (1/;)(ln(3n ) + ln(1/;))
; (1/;)(1.1n + ln(1/;))
Обратите внимание, что граница для m увеличивается только полиномиально с n, 1/; и 1/;.
При n = 50, ; = 0,01 и ; = 0,01, m ; 5, 961 гарантирует обучаемость PAC.
Чтобы показать, что термины правильно усваиваются PAC, мы дополнительно должны показать, что можно найти в момент многочлен в m и n  гипотез h, совместимых с набором m шаблонов, помеченных значением термина.  Следующая процедура для нахождения такой непротиворечивой гипотезы требует O(nm) шагов (адаптировано из [Dietterich, 1990, стр. 268]):
Нам дана обучающая последовательность, ;, из m примеров. Найдите первый шаблон,
скажем, X1, в этом списке, помеченный 1. Инициализируйте логическую функцию, h, к соединению n литералов, соответствующих значениям n компонентов X1 . (Компоненты со значением 1 будут иметь соответствующие положительные литералы; компоненты со значением 0 будут иметь соответствующие отрицательные литералы.) Если нет шаблонов, помеченных знаком 1, мы выходим с нулевой концепцией (h ; 0 для всех шаблонов). Затем для каждого дополнительного шаблона Xi, помеченного 1, мы удаляем из h любые логические переменные, появляющиеся в Xi со знаком, отличным от их знака в h. После обработки всех шаблонов, помеченных 1, мы проверяем все шаблоны помечены знаком 0, чтобы убедиться, что ни одному из них не присвоено значение 1 с помощью h. Если на каком-либо этапе алгоритма каким-либо шаблонам, помеченным 0, с помощью h присваивается значение 1, то не существует термина, который последовательно классифицировал бы шаблоны в ;, и мы завершаем работу с ошибкой. В противном случае мы завершаем работу с h.
Измените этот абзац, если этот алгоритм был представлен в главе три
В качестве примера рассмотрим следующие шаблоны, все они помечены 1 (из
[Диттерих, 1990]):
(0, 1, 1, 0)
(1, 1, 1, 0)
(1, 1, 0, 0)
После обработки первого шаблона мы имеем h = x1 x2 x3 x4; после обработки следующего во втором примере мы имеем h = x2 x3 ;x4; наконец, после третьего примера мы имеем h = x2; x4 .
Линейно разделяемые функции

Пусть H - множество всех линейно разделимых функций. Тогда |H| ; 2n2 и
ГЛАВА 8. ТЕОРИЯ КОМПЬЮТЕРНОГО ОБУЧЕНИЯ 112
m ; (1/;) n2 ln2 + ln(1/;)
Линейное программирование является полиномиальным.
Опять же, обратите внимание, что граница для m увеличивается только полиномиально с n, 1/; и1/;.
Для n = 50, ; = 0,01 и ; = 0,01, m ; 173, 748 гарантирует обучаемость PAC.
Чтобы показать, что линейно разделимые функции поддаются надлежащему обучению PAC, нам пришлось бы дополнительно показать, что можно найти в момент многочлен  от m и n гипотез h, согласующихся с набором m помеченных линейно разделяемых шаблонов.
8.2.3 Некоторые классы, которые можно правильно обучить с помощью PAC
В следующей таблице приведены некоторые классы функций, которые можно легко обучить с помощью PAC. (Адаптировано из [Dietterich, 1990, стр. 262 и 268], в котором также приведены ссылки на доказательства некоторых временных сложностей.)
Термины
k-членный DNF
(k дизъюнктивных терминов)
k-DNF
(дизъюнкция k-размерных терминов)
k-CNF
(соединение k-размерных предложений)
k-DL
(списки решений с условиями k-го размера)
, выпущенные в сентябре.
в начале сентября с весами (0,1)
k-2NN
DNF
(все логические функции)
Полиномиальная временная сложность
NP-тяжело.
Обучаемо?
NP-жесткий
многочлен
(Члены класса k-2NN представляют собой двухслойные нейронные сети прямого действия, содержащие ровно k скрытых единиц и одну выходную единицу).
Резюме: Для того, чтобы показать, что класс функций является надлежащим образом PAC-
доступным для обучения :
a. Покажите, что существует алгоритм, который выдает непротиворечивую гипотезу о m n-мерных выборок во временном многочлене от m и n.
б. Покажите, что размер выборки m, необходимый для обеспечения обучаемости PAC, является полиномиальным (или лучше) по (1/;), (1/;) и n, показав, что ln |H| является полиномиальным или лучше по числу измерений.
8.3. ИЗМЕРЕНИЕ ВАПНИКА-ЧЕРВОНЕНКИСА 113
Как уже упоминалось ранее, иногда расширение класса гипотез облегчает обучение. Например, из приведенной выше таблицы видно, что k-CNF можно изучать с помощью PAC, а k-term-DNF - нет. И все же, k-term-DNF является подклассом k-CNF! Таким образом, даже если бы целевая функция была в k-term-DNF, в k-CNF можно было бы найти гипотезу, которая, вероятно, приблизительно соответствует целевой функции.  Аналогично, линейно разделяемые функции, реализуемые TLU, весовые значения которых ограничены 0 и 1, не поддаются надлежащему обучению PAC, в то время как неограниченные линейно разделяемыми функциями являются. Возможно, что расширение пространства гипотез облегчает поиск гипотезы, которая согласуется с обучающими примерами. Интересный вопрос заключается в том, является ли класс функций в k-2NN полиномиально доступным для обучения, если гипотезы исходят из k0 -2NN при k0 > k. (На момент написания статьи этот вопрос еще не решен.)
Хотя теория PAC-обучения является мощным аналитическим инструментом, она (как и теория сложности) имеет дело в основном с наихудшими результатами. Тот факт, что класс из двух- однако нейронные сети с прямой связью не поддаются полиномиальному обучению PAC, и это скорее атака на теорию, чем на сети, которые имели много успешных применений. Как сказано в [Baum, 1994, стр. 416-17]: “...люди способны к обучению в естественном мире. Следовательно, доказательство в рамках какой-либо модели обучения того, что обучение неосуществимо, является обвинительным актом в адрес этой модели. Нам следует обучить модель, чтобы понять, какие ограничения можно ослабить и сделать более реалистичными”.
8.3 Измерение Вапника-Червоненкиса
8.3.1 Линейные дихотомии
Рассмотрим набор функций H и набор (немаркированных) шаблонов ;. Одним из показателей выразительности набора гипотез, относящихся к ;, является его способность произвольно классифицировать шаблоны в ;.1 Если в ; имеется m шаблонов, существует 2m различных способов разделить эти шаблоны на два непересекающихся и исчерпывающих подмножества. Мы говорим, что существует 2m различных дихотомий ;. Например, если бы ; включал все 2n логических шаблонов, то было бы 22n способа их дихотомизации и (конечно) множество всех возможных логических функции дихотомизируют их всеми этими способами. Но подмножество H логических функций может оказаться неспособным дихотомизировать произвольный набор ; из m логических шаблонов всеми 2m способами. В общем случае (то есть даже в небулевом случае) мы говорим, что если подмножество H функций может дихотомизировать набор ; из m шаблонов всеми 2m способами, то H раскалывает \покрывает\ ;.
В качестве примера рассмотрим набор ; из m паттернов в n-мерном пространстве, Rn . (То есть n компонентов этих паттернов являются действительными числами). Мы определяем
линейную дихотомию как дихотомию, реализуемую (n ; 1)-мерной гиперплоскостью в n-мерное пространство. Сколько существует линейных дихотомий m паттернов в n измерениях? Например, как показано на рис. 8.1, существует 14 дихотомий
1 И, конечно, если гипотеза, основанная на наборе данных, может произвольно классифицировать набор обучающих шаблонов, маловероятно, что такая гипотеза будет обобщена далеко за пределами обучающего набора.
ГЛАВА 8. ТЕОРИЯ ВЫЧИСЛИТЕЛЬНОГО ОБУЧЕНИЯ 114
для четырех точек в двух измерениях (каждая разделяющая линия дает две дихотомии в зависимости от того, классифицируются ли точки по одну сторону линии как 1 или 0). (Обратите внимание, что даже при том, что существует бесконечное число гиперплоскостей, существует, тем не менее, только конечное число способов, с помощью которых гиперплоскости могут дихотомизировать конечное число шаблонов. Небольшие перемещения гиперплоскости обычно не меняют классификацию каких-либо паттернов.)
14 дихотомий из 4 точек в 2 измерениях
Рисунок 8.1: Разделение точек в двух измерениях
Число дихотомий, достижимых с помощью гиперплоскостей, зависит от того, как расположены шаблоны. Для максимального числа линейных дихотомий, число точки должны находиться в так называемом общем положении. При m > n мы говорим, что набор из m точек находится в общем положении в n-мерном пространстве тогда и только тогда, когда ни одно подмножество (n+ 1) точек не лежит на (n;1)-мерной гиперплоскости. Когда m ; n, набор из m точек находится в общем положении, если ни одна (m ; 2)-мерная гиперплоскость не содержит этого набора. Так, например, множество из m ; 4 точек находится в общем положении в трехмерном пространстве, если ни одна из четырех из них не лежит на (двумерной) плоскости. Обозначим число линейных дихотомий из m точек в общем положении в n-мерном пространстве с помощью выражения ;L (m, n).
Приведите вывод.
Нетрудно убедиться, что:
при m > n и
при m ; n
8.3. РАЗМЕРНОСТЬ ВАПНИКА-ЧЕРВОНЕНКИСА 115
где C(m ; 1, i) - биномиальный коэффициент (m;1)!/(m;1;i)!i!
В таблице ниже приведены некоторые значения для ;L (m, n).
(количество шаблонов)
(размерность)
Обратите внимание, что класс линейных дихотомий разрушает m паттернов, если m ; n + 1.
Выделенные жирным шрифтом записи в таблице соответствуют наибольшим значениям m, для которых линейные дихотомии разрушают m закономерностей в n измерениях.
8.3.2 Вместимость

Пусть Pm,n = ;L(m,n)/2m = вероятность того, что случайно выбранная дихотомия (из m из 2m возможных дихотомий m шаблонов в n измерениях) будет линейно разделимой. На рис. 8.2 мы строим график зависимости P;(n+1),n от ; и n, где ; = m/(n + 1).
Обратите внимание, что при больших n (скажем, n > 30), как быстро Pm, n падает с 1 до 0, когда m превышает 2 (n + 1). Для m < 2 (n + 1) любая дихотомия из m точек почти наверняка линейно разделима. Но для m > 2 (n + 1) случайно выбранная дихотомия из m точек почти наверняка не является линейно разделимой. Для этого причина, по которой m = 2(n + 1) называется емкостью TLU [Кавер, 1965]. До тех пор, пока количество обучающих шаблонов не превысит возможности, тот факт, что TLU разделяет эти обучающие шаблоны в соответствии с их метками, ничего не значит с точки зрения того, насколько хорошо TLU будет обобщен на новые шаблоны. Нет ничего особенного в разделении, найденном для m < 2 (n + 1) паттернов — почти любая дихотомия этих паттернов была бы линейно разделимой. Чтобы убедиться, что найденное разделение принудительно выполняется обучающим набором и, таким образом, хорошо обобщается, оно должно быть следующим: случай, когда существует очень мало линейно разделяемых функций, которые могли бы разделить m обучающих шаблонов.
Аналогичные результаты об обобщающих способностях нейронных сетей были получены в [Baum & Haussler, 1989] и получили интуитивное и экспериментальное обоснование в [Baum, 1994, стр. 438].:
“Результаты, по-видимому, указывают на выполнение следующего эвристического правила. Если M примеров [могут быть правильно классифицированы с помощью] сетки с W весами (для M >> W ), сеть допустит долю ; ошибок в новых примерах, выбранных из того же [равномерного] распределения, где ; = W/M”.
ГЛАВА 8. ТЕОРИЯ КОМПЬЮТЕРНОГО ОБУЧЕНИЯ 116
 Рисунок 8.2: Вероятность того, что случайная дихотомия линейно разделима
8.3.3 Более общий результат повышения производительности \ёмкости\
Следствие 7.2 дало нам выражение для количества обучающих шаблонов, достаточного для обеспечения требуемого уровня обобщения, при условии, что функция, которую мы предполагали, была функцией, принадлежащей к классу известных и конечной мощности. Только что представленный результат по емкости применим к линейно разделяемым функциям для не- бинарных паттернов. Мы можем распространить эти идеи на общие дихотомии недвоичных паттернов.
В общем случае обозначим максимальное число дихотомий любого набора m n-мерных паттернов с помощью гипотез в H как ;H (m, n). Количество дихотомий, конечно, будет зависеть от расположения m точек в n-мерном пространстве; мы принимаем ;H (m, n) за максимальное из всех возможных расположений m точек. (В случае класса линейно разделимых функций максимальное число достигается, когда m точек находятся в общей позиции.) Для каждого класса, H, будет некоторое максимальное значение m, для которого ;H (m, n) = 2m , то есть для которого H разрушает m шаблонов. Это максимальное число называется измерением Вапника-Червоненкиса (VC) и обозначается как VCdim(H) [Вапник и Червоненкис, 1971].
Мы видели, что для класса линейных дихотомий VCdim(линейный) = (n + 1). В качестве другого примера давайте вычислим размерность VC пространства гипотез о единичных интервалах на реальной прямой, используемую для классификации точек на реальной прямой. Мы покажем пример того, как точки на прямой могут быть разделены одним интервалом на рис. 8.3. Множество ; могло бы быть, например,, {0.5, 2.5, - 2.3, 3.14}, и одной из гипотез в нашем наборе было бы [1, 4.5]. В соответствии с этой гипотезой точки 2.5 и 3.14 были бы помечены как 1, а точки 2.3 и 0.5 - как 0. Это
8.3. ИЗМЕРЕНИЕ ВАПНИКА-ЧЕРВОНЕНКИСА 117
набор гипотез (отдельные интервалы на реальной прямой) позволяет произвольно классифицировать любые две точки. Но ни один отдельный интервал не может классифицировать три точки таким образом, чтобы две внешние точки были классифицированы как 1, а внутренняя - как 0. Следовательно, размерность VC  единичных интервалов на реальной прямой равна 2. Как только у нас будет гораздо больше, чем 2 обучающих шаблона на реальной прямой, и при условии, что мы знаем, что функция классификации, которую мы пытаемся угадать, представляет собой один интервал, мы начнем хорошо обобщать.
Рисунок 8.3: Разделение точек на интервалы
Измерение VC является полезной мерой выразительности набора гипотез. Поскольку любая дихотомия VCdim(H) или меньшего количества паттернов в общем положении в n измерениях может быть достигнута с помощью некоторой гипотезы в H, у нас должно быть гораздо больше чем шаблоны VCdim(H) в обучающем наборе, чтобы гипотеза, согласующаяся с обучающим набором, была достаточно ограничена, чтобы предполагать хорошее обобщение. Наши примеры показали, что концепция измерения VC не ограничивается логическими функциями.
8.3.4 Некоторые факты и предположения о VC-измерении
• Если в H существует конечное число гипотез, |H|, то:
VCdim(H) ; log(|H|)
• VC-размерность членов в n измерениях равна n.
• Предположим, мы обобщили наш пример, в котором использовался гипотетический набор одиночных интервалов на реальной прямой. Теперь давайте рассмотрим n-мерное пространство свойств и тесты вида Li ; xi ; Hi. Мы допускаем только один такой тест для каждого измерения. Пространство гипотез, состоящее из комбинаций этих тестов (называемых параллельными осям гипер прямоугольниками), имеет размерность VC, ограниченную:
n ; VCdim ; 2n
• Как мы уже видели, TLU с n входами имеют размерность VC, равную n + 1.
• [Баум, 1994, стр. 438] приводит экспериментальные доказательства предположения о том, что “...многослойные [нейронные] сети имеют размерность VC, примерно равную их общему числу [настраиваемых] весов”.
ГЛАВА 8. ТЕОРИЯ КОМПЬЮТЕРНОГО ОБУЧЕНИЯ 118
8.4  Измерение VC и обучение PAC
Существуют две теоремы, которые связывают идею измерения VC с обучением PAC [Blumer и др., 1990]. Мы приводим их здесь без доказательств.
Теорема 8.3 (Блюмер и др.) Пространство гипотез H легко обучаемо, если оно имеет конечную размерность VC.
Теорема 8.4 Набор гипотез, H, может быть правильно обучен PAC, если:
a. m ; (1/;) max [4 lg(2/;), 8 VCdim lg(13/;)] и
b. если существует алгоритм, который выводит гипотезу h; H, непротиворечивую с обучающим набором за полиномиальное (в m и n) время.
Вторая из этих двух теорем улучшает оценку числа обучающих шаблонов, необходимые для линейно разделяемых функций, преобразуются в линейные по n. В нашем предыдущем примере было показано, сколько обучающих шаблонов потребовалось для обеспечения обучаемости PAC линейно разделяемой функции, если n = 50, ; = 0,01 и ; = 0,01, мы получили m ; 173 748. Используя Blumer и др. в результате мы получили бы m ; 52 756.
В качестве другого примера второй теоремы возьмем H как множество замкнутых интервалов на действительной прямой. Размерность VC равна 2 (как показано ранее). При n = 50, ; = 0,01 и ; = 0,01 m ; 16,551 обеспечивается обучаемость PAC.
Существует также теорема, которая дает более низкую (необходимую) оценку количества обучающих шаблонов, необходимых для обучения PAC [Ehrenfeucht и др., 1988]:
Теорема 8.5. Любой алгоритм обучения PAC должен проверять \ экзаменовать\ ;(1/; lg(1/;) + VCdim(H)) тренировочных шаблонов.
Разница между  нижними и верхними границами O(log(1/;)VCdim(H)/;).
8.5 Библиографические и исторические замечания.
Будет добавлено позднее.

 Глава 9
Обучение без присмотра
9.1 Что такое обучение без присмотра?
Рассмотрим различные наборы точек в двумерном пространстве, показанные на рис. 9.1. Первый набор (a), по-видимому, естественным образом можно разделить на два класса, в то время как второй (b), по-видимому, вообще трудно разделить, а третий (c) проблематичен. При обучении без контроля используются процедуры, которые пытаются найти естественное разделение шаблонов. Существует два этапа:
• Формирование R-образного разбиения набора ; немаркированных обучающих шаблонов (где само значение R, возможно, потребуется вывести из шаблонов).  Разбиение разделяет ; на R взаимоисключающих и исчерпывающих подмножеств, ;1 , . . . , ;R , называемых кластерами.
• Разработайте классификатор на основе меток, присвоенных обучающим шаблонам разделением.
Мы кратко объясним различные методы определения количества кластеров и разделения набора шаблонов на такое количество кластеров. Мы можем основывать некоторые из этих методов и их мотивацию на принципах минимальной длины описания (MDL). В этом случае мы предполагаем, что хотим закодировать описание набора точек ; в сообщение минимальной длины. Одна кодировка включает в себя описание каждой точки в отдельности; другая, возможно, более короткая, кодировки могут включать описание кластеров точек, а также описание того, как каждая точка в кластере может быть описана с учетом того, к какому кластеру она принадлежит.  Конкретные методы, описанные в этой главе, явно не используют принципы MDL , но метод MDL был успешно применен. Один из методов, основанный на MDL, Autoclass II [Cheeseman и др., 1988], открыл новую классификацию звезд, основанную на свойствах источников инфракрасного излучения.
Другой тип неконтролируемого обучения включает в себя поиск иерархий разделов или групп кластеров. Иерархическим называется раздел, в котором ;
119
ГЛАВА 9. ОБУЧЕНИЕ БЕЗ контроля 120
а) два кластера
б) один кластер
в) ?
Рисунок 9.1: Немаркированные шаблоны
разделен на взаимоисключающие и исчерпывающие подмножества, ;1 , . . . , ;R ; каждый набор, ;i, (i = 1, . . . , R) разделен на взаимоисключающие и исчерпывающие подмножества и так далее. Мы показываем пример такого иерархического разбиения на рис. 9.2. Иерархическая форма лучше всего отображается в виде дерева, как показано на рис. 9.3. Вершинные узлы дерева могут быть дополнительно расширены до их отдельных элементов шаблона. Одно из применений таких иерархических разбиений заключается в организации индивидов в таксономические иерархии, подобные тем, которые используются в ботанике и зоологии.
9.2 Методы кластеризации
9.2.1 Метод, основанный на евклидовом расстоянии
Большинство методов обучения без контроля используют меру сходства между шаблонами, чтобы сгруппировать их в кластеры. Самый простой из них заключается в определении расстояния между шаблонами. Для шаблонов, элементы которых являются числовыми, мерой расстояния может быть обычное евклидово расстояние между двумя точками в n-мерном пространстве.
Существует простой итеративный метод кластеризации, основанный на расстоянии. Его можно описать следующим образом. Предположим, что у нас есть R случайно выбранных искателей кластеров, C1 , . . . , CR . Это точки в n-мерном пространстве, которые мы хотим настроить так, чтобы каждая из них перемещалась к центру одного из кластеров шаблонов. Мы представляем (немаркированные) шаблоны в обучающем наборе ; алгоритму 9.2. МЕТОДЫ КЛАСТЕРИЗАЦИИ 121
Рисунок 9.2: Иерархия кластеров
один за другим. Для каждого представленного шаблона Xi мы находим искатель кластера Cj,
который находится ближе всего к Xi, и перемещаем его ближе к Xi :
Cj ; (1 ; aj )Cj + aj Xi,
где aj - параметр скорости обучения для j-го кластерного искателя; он определяет, насколько далеко Cj продвинется к Xi .
Усовершенствования в этой процедуре позволяют искателям кластеров перемещаться на меньшее расстояние по мере обучения. Предположим, что каждый искатель кластеров Cj имеет массу mj , равную количеству перемещений. По мере увеличения массы искателя кластеров он все меньше приближается к шаблону. Например, мы могли бы установить aj = 1/(1 + mj ) и используйте приведенное выше правило вместе с mj ; mj + 1. С помощью этого правила корректировки искатель кластера всегда находится в центре тяжести (выборочном среднем) набора паттернов, к которому он до сих пор перемещался. Интуитивно понятно, что если искатель кластеров когда-либо попадет в некоторый достаточно хорошо сгруппированный набор шаблонов (и если этот искатель кластеров является единственным, расположенным таким образом), он сойдется к центру тяжести этого кластера.
ГЛАВА 9. ОБУЧЕНИЕ БЕЗ присмотра 122
Рисунок 9.3: Отображение иерархии в виде дерева
Как только искатели кластеров сходятся, классификатор, подразумеваемый шаблонами, помеченными в ;, может быть основан на разбиении пространства по методу Вороного ( на основе расстояний до различных искателей кластеров). Такого рода классификация, пример которой показан на рис. 9.4, может быть реализована с помощью линейной машины.
Георгий Федосеевич Вороной, был
Русский математик, живший
с 1868 по 1909 год.
Когда мы основываем разбиение на расстоянии, мы ищем кластеры, шаблоны которых являются как можно ближе друг к другу. Мы можем измерить вредность V кластера паттернов {Xi }, вычислив его выборочную дисперсию, определяемую как:
V = (1/K);i(Xi ; M)2,
где M - выборочное среднее значение кластера, которое определяется как:
M = (1/K);iXi
и K - это количество точек в кластере.
Мы хотели бы разбить набор шаблонов на кластеры таким образом, чтобы сумма выборочных отклонений (недостатков \плохости) этих кластеров была небольшой. Конечно, если у нас будет один кластер для каждого шаблона, все выборочные отклонения будут равны нулю, поэтому мы должны сделать так, чтобы наша оценка плохости раздела увеличивалась с увеличением количества кластеров. Таким образом, мы можем найти компромисс между различиями в методах кластеризации
9.2. Методы Группировок 123
Разделяющие границы
Рисунок 9.4: Классификация кластеров на минимальном расстоянии
и их количество в некотором роде аналогично принципу минимальной длины описания, рассмотренному ранее.
Усовершенствования нашей базовой процедуры поиска кластеров позволяют варьировать количество искателей кластеров в зависимости от расстояния между ними и в зависимости от выборочных отклонений кластеров. Например, если расстояние dij между двумя кластерными искателями, Ci и Cj, когда-либо упадет ниже некоторого порогового значения ;, то мы можем заменить их обоих одним кластерным искателем, расположенным в их центре тяжести (принимая во внимание их соответствующие массы). Таким образом, мы можем снизить общую некорректность разбиения за счет уменьшения количества кластеров при сравнительно небольших потерях при увеличении дисперсии.
С другой стороны, если какой-либо из искателей кластеров, скажем, Ci, определяет кластер, выборочная дисперсия которого больше некоторой величины ;, то мы можем разместить новый кластерный искатель, Cj, в некотором случайном местоположении, расположенном несколько ближе к Ci, и обнулить массы как Ci, так и Cj. Таким образом, качество разделения может в конечном итоге уменьшиться за счет уменьшения общей дисперсии выборки при сравнительно небольшом ущербе для дополнительного кластерного искателя. Значения параметров ; и ; устанавливаются в зависимости от относительных весов, присвоенных выборочным отклонениям и количеству кластеров.
В методах, основанных на расстояниях, важно масштабировать компоненты векторов шаблона. Изменение значений по некоторым измерениям шаблона вектор может сильно отличаться от вектора других измерений. Один из широко используемых методов заключается в вычислении стандартного отклонения (т.е. квадратного корня из дисперсии) каждого из компонентов по всему обучающему набору и нормализации значений компонентов таким образом, чтобы их скорректированные стандартные отклонения были равны.

ГЛАВА 9. ОБУЧЕНИЕ БЕЗ КОНТРОЛЯ 124
9.2.2 Метод, основанный на вероятностях
Предположим, что у нас есть разбиение обучающего набора, ;, на R взаимоисключающих и исчерпывающих кластеров, C1, ... , CR. Мы можем решить, к какому из этих кластеров следует присвоить некоторый произвольный шаблон X, выбрав Ci, для которого вероятность p(Ci |X) является наибольшей, при условии, что p(Ci|X) больше некоторого фиксированного порогового значения ;. Как мы видели ранее, мы можем использовать правило Байеса и основывать наше решение на максимизации p(X|Ci)p(Ci). Предполагая условную независимость компонентов шаблона, xi , количество, которое нужно максимизировать, равно:
S(X, Ci ) = p(x1 |Ci )p(x2 |Ci ) · · · p(xn |Ci )p(Ci )
Значение p(xj |Ci ) может быть оценено на основе выборочной статистики паттернов \шаблонов, узоров\ в кластерах и затем использовано в приведенном выше выражении. (Вспомним линейную форму, в которой это формула взята в случае двоичных компонентов.)
Мы называем S(X, Ci ) подобием X кластеру шаблонов Ci. Таким образом, мы присваиваем X кластеру, на который он наиболее похож, при условии, что сходство больше, чем ;.
Как и прежде, мы можем определить выборочное среднее значение кластера, Ci, равным:

, где Ki - количество паттернов в Ci .
Мы можем основать алгоритм итеративной кластеризации на этой мере сходства [Махадеван и Коннелл, 1992]. Его можно описать следующим образом:
а. Начните с набора немаркированных шаблонов ; и пустого списка L кластеров.
b. Для следующего шаблона, X, в ; вычисляем S(X, Ci ) для каждого кластера, Ci .
(Изначально все эти сходства равны нулю) Предположим, что наибольшее из этих
сходств равно S(X, Cmax ).
(a) Если S(X, Cmax ) > ;, присвойте X значение Cmax . То есть
Cmax ; Cmax ; {X}
Обновите статистику выборки p(x1 |Cmax ), p(x2 |Cmax ), . . . , p(xn |Cmax )
и p(Cmax ), чтобы учесть новый шаблон. Перейдите к пункту 3.
(b) Если S(X, Cmax ) ; ;, создайте новый кластер, Cnew = {X} и добавьте Cnew
в L. Перейдите к пункту 3.
c. Объедините все существующие кластеры, Ci и Cj, если (Mi ; Mj )2 < ;. Вычислите новую выборочную статистику p(x1 |Cmerge ), p(x2 |Cmerge ), . . . , p(xn |Cmerge ) и p(Cmerge ) для объединенного кластера, Cmerge = Ci ; Cj .
9.3. МЕТОДЫ ИЕРАРХИЧЕСКОЙ КЛАСТЕРИЗАЦИИ  125
d. Если выборочная статистика кластеров не изменилась в течение всей итерации по ;, то завершите с кластерами в L; в противном случае перейдите к 2.
Значение параметра ; определяет количество кластеров. Если ; велико, то в каждом кластере будет большое количество кластеров с небольшим количеством шаблонов. При малых значениях ; в каждом кластере будет небольшое количество кластеров с большим количеством шаблонов. Аналогично, чем больше значение ;, тем меньшее количество кластеров будет найдено.
Разработка классификатора на основе шаблонов, помеченных разделением, проста. Мы относим любой шаблон, X, к той категории, которая максимизирует количество найденных кластеров S(X, Ci ).
Упомяните методы “k-средних“ и ”EM"
9.3 Методы иерархической кластеризации
9.3.1 Метод, основанный на евклидовом расстоянии
Предположим, что у нас есть набор ; немаркированных обучающих шаблонов. Мы можем составить иерархическую классификацию паттернов в ; простым агломеративным методом. (Описание этого алгоритма основано на неопубликованной рукописи автора Пэт Лэнгли.) Наше описание здесь дает общую идею; мы оставляем читателю возможность сгенерировать точный алгоритм.
Сначала мы вычисляем евклидово расстояние между всеми парами шаблонов \узоров\ в ;. (Опять же, предполагается соответствующее масштабирование размеров). Предположим, что наименьшее расстояние находится между шаблонами Xi и Xj . Мы собираем Xi и Xj в кластер C, исключаем Xi и Xj из ; и заменяем их вектором кластера C, равным среднему значению Xi и Xj . Затем мы снова вычисляем евклидово расстояние между всеми парами точек в ;. Если наименьшее расстояние находится между парами паттернов, мы формируем новый кластер C, как и раньше, и заменяем пару паттернов в ; на их среднее значение. Если кратчайшее расстояние находится между шаблоном Xi и вектором кластера Cj (представляющим кластер Cj ), мы формируем новый кластер C, состоящий из объединения Cj и {Xi }. В этом случае мы заменяем Cj и Xi в ; на их (соответственно взвешенное) среднее значение и продолжаем. Если кратчайшее расстояние находится между двумя кластерными векторами, Ci и Cj , мы формируем новый кластер C, состоящий из объединения Ci и Cj . В этом случае мы заменяем Ci и Cj на их (соответствующим образом взвешенное) усредненное и продолжаем. Поскольку мы каждый раз уменьшаем количество точек в ; на единицу, в конечном итоге мы получаем дерево кластеров, корни которого уходят в кластер, содержащий все точки из исходного обучающего набора.
Пример того, как этот метод объединяет набор двумерных шаблонов, показан на рис. 9.5. Номера, связанные с каждым кластером, указывают на порядок, в котором они были сформированы. Эти кластеры могут быть организованы иерархически в виде бинарного дерева с кластером 9 в качестве корневого, кластерами 7 и 8 в качестве двух потомков корня и так далее. Вместо этого можно построить троичное дерево, если найти три точки в ;, треугольник которых, определенный этими шаблонами, имеет минимальную площадь.
ГЛАВА 9. ОБУЧЕНИЕ БЕЗ УЧИТЕЛЯ 126
Рисунок 9.5: Агломеративная кластеризация
9.3.2 Метод, основанный на вероятностях
Вероятностный показатель качества разбиений
Мы можем определить качество разбиения на группы, основываясь на том, насколько точно мы можем угадать шаблон, учитывая только то, в какой секции он находится. Предположим, что нам задано разбиение ; на R классов, C1 , . . . , CR . Как и прежде, мы можем вычислить выборочную статистику p(xi |Ck ), которая дает значения вероятности для каждого компонента с учетом класса, присвоенного ему в результате разбиения. Предположим, что каждый компонент xi из X может принимать значения vij , где индекс j превышает область применения этого компонента. Мы используем обозначение pi (vij |Ck ) = вероятность probability(xi = vij |Ck ).
Предположим, мы используем следующее вероятностное правило угадывания значений компонентов вектора X, учитывая только то, что он относится к классу k. Предположим, что xi = vij с вероятностью pi (vij |Ck ). Тогда вероятность того, что мы правильно угадаем i-й компонент, равна:
вероятность (предполагаю, что это vij )
Среднее число (n) компонентов, значения которых правильно угаданы с помощью этого метода, затем определяется как сумма этих вероятностей по всем компонентам X:
9.3. МЕТОДЫ ИЕРАРХИЧЕСКОЙ КЛАСТЕРИЗАЦИИ 127
Учитывая наше разбиение на R классов, показатель качества G этого разбиения является средним значением приведенного выше выражения по всем классам:
, где p(Ck ) - это вероятность того, что шаблон относится к классу Ck . Чтобы оценить этот показатель за большое количество классов, мы делим его на R, чтобы получить общий показатель “качества” разбиения:
Мы приводим пример использования этой меры для тривиально простой кластеризации четырех трехмерных шаблонов, показанных на рис. 9.6. Существует несколько различных вариантов разбиения. Давайте оценим значения Z для следующих значений: P1 = {a, b, c, d}, P2 = {{a, b}, {c, d}}, P3 = {{a, c}, {b, d}} и P4 = {{a}, {b}, {c}, {d}}. Первый параметр, P1, объединяет все шаблоны в один кластер. Выборочные вероятности pi (vi1 = 1) и pi (vi0 = 0) равны ; для каждого из трех компонентов. Суммирование значений компонентов (0 и 1) дает (1/2)2 + (1/2)2 = 1/2. Суммирование по трем компонентам дает 3/2. Усреднение по всем кластерам (есть только один) также дает 3/2. Наконец, деление на количество кластеров дает итоговое значение Z для этого разбиения, Z(P1 ) = 3/2.
Второе разбиение, P2 , дает следующие выборочные вероятности:
p1 (v11 = 1|C1 ) = 1
p2 (v21 = 1|C1 ) = 1/2
p3 (v31 = 1|C1 ) = 1
Суммирование значений компонентов (0 и 1) дает (1)2 + (0)2 = 1 для компонента 1, (1/2)2 + (1/2)2 = 1/2 для компонента 2 и (1)2 + (0)2 = 1 для компонента 3. Суммирование по трем компонентам дает 2 1/2 для класса 1. A аналогичный расчет также дает 2 1/2 для класса 2. Усреднение по двум кластерам также дает 2 1/2. Наконец, деление на количество кластеров дает итоговое значение Значение Z для этого разбиения, Z(P2 ) = 1 1/4, не такое высокое, как Z(P1 ).
Аналогичные вычисления дают Z(P3 ) = 1 и Z(P4 ) = 3/4, поэтому такой метод оценки разбиений предпочтительнее для размещения всех шаблонов в одном кластере.
ГЛАВА 9. ОБУЧЕНИЕ БЕЗ КОНТРОЛЯ 128
Рисунок 9.6: Структуры \шаблоны\ в трехмерном пространстве
Итеративный метод иерархической кластеризации
Оценка всех разбиений m шаблонов и последующий выбор наилучшего были бы трудноразрешимыми с точки зрения вычислений. Следующий итеративный метод основан на иерархической процедуре кластеризации, называемой COBWEB [Fisher, 1987]. Процедура создает дерево, каждый узел которого помечен набором шаблонов. В конце процесса корневой узел содержит все шаблоны в ;. Последующие узлы корневого узла будут содержать взаимоисключающие и исчерпывающие подмножества ;. В общем случае последователи узла ; помечаются взаимоисключающими и исчерпывающие подмножества набора шаблонов, обозначающего узел ;. Вершины дерева будут содержать одноэлементные множества. Метод использует значения Z для размещения шаблонов в различных узлах; выборочная статистика используется для обновления значений Z всякий раз, когда шаблон размещается в узле. Алгоритм заключается в следующем:
a. Мы начинаем с дерева, корневой узел которого содержит все шаблоны в ; и один пустой узел-преемник. Мы делаем так, чтобы в течение всего процесса каждый непустой узел в дереве имел (помимо любых других преемников) ровно один пустой преемник.
b. Выберите шаблон Xi в ; (если больше нет шаблонов для выбора, завершите работу).
c. Присвойте µ значение корневого узла.
d. Для каждого из последователей µ (включая пустого преемника!) вычислите наилучший хост для Xi . Наилучший хост определяется путем предварительного размещения Xi в одном из последователей и вычисления результирующего значения Z для каждого из
9.3. МЕТОДЫ ИЕРАРХИЧЕСКОЙ КЛАСТЕРИЗАЦИИ 129
этих способов размещения Xi . Наилучший узел соответствует заданию с наибольшим значением Z.
e. Например, если наилучшим узлом является пустой узел, ;, мы помещаем Xi в ;, генерируем пустой узел-преемник ;, генерируеv пустой родственный узел ; и переходим к 2.
f. Если лучшим узлом является непустой одноэлементный узел ;, мы помещаем Xi в ;, создаем один узел-преемник из ;, содержащий одноэлементный шаблон, который был в ;, создаем другой узел-преемник из ;, содержащий Xi, создаем пустой узел-преемник из ;, создаем пустой узел-преемник из последующие узлы новых непустых последователей ; и переходим к 2.
g. Если лучшим хостом является непустой, не одноэлементный узел ;, мы помещаем Xi в ;, устанавливаем для µ значение ; и переходим к 4.
Этот процесс довольно чувствителен к порядку представления шаблонов. Чтобы сделать конечное дерево классификации менее зависимым от порядка, процедура COBWEB включает в себя слияние и разбиение \раскол\ узлов.
Объединение узлов:
Может случиться так, что два узла, имеющие одного и того же родительского узла, могут быть объединены, что приведет к общему повышению качества результирующей классификации, выполняемой преемниками этого родительского узла. Вместо того, чтобы пытаться объединить все пары, хорошей эвристикой будет попытка объединить два лучших узла. Когда такое объединение улучшает значение Z, создается новый узел, содержащий объединение шаблонов в объединенных узлах, заменяет объединенные узлы, и два узла, которые были объединены, устанавливаются в качестве преемников нового узла.
Разделение узлов:
Эвристический подход к разделению узлов заключается в том, чтобы рассмотреть возможность замены лучшего узла из группы родственных узлов преемниками этого узла. Эта операция выполняется только в том случае, если она увеличивает значение Z при классификации, выполняемой группой родственных узлов \братьев и сестер.
Пример получен из COBWEB
Мы упоминаем два эксперимента с COBWEB. Во-первых, программа попыталась найти две категории (мы будем называть их Класс 1 и Класс 2) объединенных Сенаторов штатов основываясь на их голосах ("да" или "нет") по шести вопросам. После того, как были созданы группы, было подсчитано большинство голосов в каждой категории. Они приведены в таблице ниже.

Вопрос
Токсичные отходы
Сокращение бюджетных ассигнований
Сокращение ИПД
Контрпомощь
Право вето на выбор позиции
Продукция MX
Класс 1
да, нет
Класс 2
ГЛАВА 9. ОБУЧЕНИЕ БЕЗ ПРИСМОТРА 130
Во втором эксперименте программа попыталась классифицировать болезни сои на основе различных характеристик. COBWEB сгруппировала болезни по таксономии, показанной на рис. 9.7.
болезни сои
Диапортез
Язва стеблей
Древесный уголь
Гниль
Ризоктониоз
Гниль
Фитофтора
Гниль
Рис. 9.7. Классификация болезней, вызываемых соей
9.4 Библиографические и исторические замечания
Будет добавлено позднее.
Глава 10
Временные различия  Обучения
10.1 Временные закономерности и проблемы прогнозирования

В этой главе мы рассмотрим задачи, в которых мы хотим научиться предсказывать будущее значение некоторой величины, скажем, z, из n-мерного входного шаблона, X. Во многих из этих задач шаблоны возникают во временной последовательности X1 , X2 , ..., Xi , Xi+1 , ..., Xm и генерируются динамическим процессом.  Компоненты Xi — это объекты, значения которых доступны в момент времени t = i. Мы различаем два вида задач прогнозирования. В одной из них мы хотим предсказать значение z в момент времени t = i + 1 на основе входных данных Xi для каждого i. Например, мы могли бы захотеть предсказать некоторые аспекты завтрашней погоды на основе набора измерения сделаных сегодня. В задаче прогнозирования другого типа мы хотим сделать последовательность прогнозов относительно значения z в некоторый фиксированный момент времени, скажем, t = m + 1, на основе каждого из Xi , i = 1, . . . , m. Например, мы могли бы захотеть сделать ряд из прогнозов о некоторых аспектах погоды на следующий Новый Год на основе измерений, проводимых каждый день перед Новым годом. Саттон [Sutton, 1988] назвал эту последнюю проблему многоступенчатым прогнозированием, и именно эту проблему мы рассматриваем здесь. При многоступенчатом прогнозировании мы могли бы ожидать, что точность прогнозирования должна становиться все лучше и лучше по мере приближения i к m.
10.2 Контролируемые методы и методы с разницей во времени
Метод обучения, который естественно напрашивается сам собой, заключается в использовании фактического значения z в момент времени m + 1 (как только оно станет известно) в контролируемой процедуре обучения с использованием
131
ГЛАВА 10.ОБУЧЕНИЕ НА РАЗНИЦЕ ВО ВРЕМЕНИ 132
Последовательности обучающих паттернов, {X1 , X2 , . . ., Xi , Xi+1 , . . ., Xm }. То есть мы стремимся обучить функцию f , такую, чтобы f (Xi ) была как можно ближе к z для каждого i.
Как правило, нам понадобится обучающий набор ;, состоящий из нескольких таких последовательностей. Мы покажем, что для решения некоторых важных задач метод, который лучше, чем обучение под наблюдением, заключается в том, чтобы основывать обучение на разнице между f (Xi+1 ) и f (Xi ), а не на разнице между z и f (Xi ). Такие методы включают так называемое обучение на разнице во времени (TD).
Мы предполагаем, что наш прогноз, f (X), зависит от вектора изменяемых весов, W. Чтобы сделать эту зависимость явной, мы записываем f (X, W). Для усовершенствованного обучения мы рассматриваем процедуры следующего типа: для каждого Xi вычисляется предсказание f (Xi , W) и сравнивается с z, а правило обучения (что бы это ни было) вычисляет изменение (;Wi ), которое должно быть внесено в W. Затем, принимая во внимание изменения веса для каждого шаблона в последовательности сразу после выполнения всех прогнозов со старым вектором веса, мы изменяем W следующим образом:
Всякий раз, когда мы пытаемся минимизировать квадрат ошибки между z и f (Xi , W) с помощью градиентного спуска, правило изменения веса для каждого шаблона таково:
, где c - параметр скорости обучения, fi - наше предсказание z, f (Xi , W), в момент времени t = i, а ;fi /;W - это, по определению, вектор частных производных ( ;fi /;w1 , . . . , ;fi /;wi  , . . . ,;fi /;wn ), в котором есть wi отдельные компоненты W. (Выражение ;fi /;W иногда пишется ;Wfi и Вт .) Читатель, вероятно, помнит, что мы использовали эквивалентное выражение для (;W)i при выводе формул обратного распространения, используемых при обучении многослойных нейронных сетей.
Правило Видроу-Хоффа выполняется, когда f (X, W) = X • W. Затем:
(;W)i = c(z ; fi )Xi
Можно получить интересную форму для (;W)i , если учесть , что

, где мы определяем fm+1 = z. Подставляя в нашу формулу (;W)i, получаем:
10.2. КОНТРОЛИРУЕМЫЕ МЕТОДЫ И МЕТОДЫ С РАЗНИЦЕЙ ВО ВРЕМЕНИ 133
В этой форме вместо использования разницы между предсказанием и значением z мы используем различия между последовательными предсказаниями — таким образом, мы получаем выражение "обучение с временной разницей" (TD).
В случае, когда f (X, W) = X • W, форма временной разницы в правиле Видроу-Хоффа равна:
Одна из причин написания (;W)i в форме временной разницы заключается в том, чтобы сделать интересное обобщение следующим образом:
где 0 < ; ; 1. Здесь член ; придает экспоненциально уменьшающийся вес различиям, возникающим позже, чем t = i. Когда ; = 1, мы применяем то же правило, с которого начинали — взвешиваем все различия одинаково, но при ; ; 0 мы взвешиваем разницу только (fi+1 ; fi ). Используя ;-член, метод называется TD(;).
Интересно сравнить два крайних случая:
Для TD(0):
Для TD(1):
Оба крайних значения могут быть обработаны одним и тем же механизмом обучения; различается только условие ошибки. В TD(0) ошибка - это разница между последовательными предсказаниями, а в TD(1) ошибка представляет собой разницу между окончательно выявленным значением z и прогнозом. Промежуточные значения ; учитывают по-разному взвешенные различия между будущими парами последовательных прогнозов.
Только TD(1) можно считать чисто контролируемой учебной процедурой, зависящей от конечного значения z, предоставленного преподавателем. При ; < 1 мы имеем различные степени неконтролируемого обучения, при котором функция прогнозирования стремится сделать каждое предсказание более похожим на последующие (какими бы они ни были). Вскоре мы увидим убедитесь, что эти неконтролируемые процедуры приводят к лучшему усвоению материала по сравнению с контролируемыми процедурами для решения важного класса проблем.

ГЛАВА 10. ОБУЧЕНИЕ С учетом ВРЕМЕННЫХ РАЗЛИЧИЙ 134
10.3 Постепенное  вычисление \прибавлением\ (;W)i
Мы можем переписать нашу формулу для (;W)i , а именно
, что позволяет выполнять вычисления по нарастающей. Сначала мы записываем выражение для правила изменения веса, которое учитывает все (;W)i :
Меняя порядок суммирования , получаем:
Меняя местами индексы k и i, в итоге получаем:
Если, как и ранее, мы хотим использовать выражение вида W ; W+;mi=1(;W)i, мы видим, что можем записать:
Теперь, если мы допустим, что ei = ; ik=1 ;(i;k) ;f k /;W, мы можем составить эффективное с точки зрения вычислений рекуррентное уравнение для ei+1 следующим образом:
10.4. ЭКСПЕРИМЕНТ С ИСПОЛЬЗОВАНИЕМ МЕТОДОВ TD 135
Переписав (;W)i в этих терминах, получим:
(;W)i = c(fi+1 ; fi )ei
, где:
и т.д.
Цитирую Саттона [Sutton, 1988, стр. 15] (о другом уравнении, но в цитата в равной степени применима и к этой):
“...это уравнение можно вычислять постепенно, потому что каждое (;W)i зависит только от пары последовательных прогнозов и от [взвешенной] суммы всех прошлых значений для ;fi/;W. Это существенно экономит память, поскольку больше нет необходимости индивидуально запоминать все прошлые значения ;fi /;W .”
10.4 Эксперимент с методами TD
Методы прогнозирования TD [особенно TD(0)] хорошо подходят для ситуаций, в которых закономерности генерируются динамическим процессом. В этом случае последовательности временно представленные паттерны содержат важную информацию, которая игнорируется обычным контролируемым методом, таким как правило Видроу-Хоффа. Саттон [Sutton, 1988, стр. 19] приводит интересный пример случайного блуждания, который мы повторяем здесь. На рис. 10.1 последовательности векторов X генерируются следующим образом: мы начинаем с вектора XD; следующий вектор в последовательности с равной вероятностью будет одним из соседних векторов на диаграмме. Если следующий вектор равен XC (или XE ), следующий после этого с равной вероятностью будет одним из векторов смежно с XC (или XE ). Если в последовательности есть XB, то с равной вероятностью последовательность заканчивается на z = 0 или следующим вектором является XC. Аналогично, когда в последовательности присутствует XF, с равной вероятностью последовательность заканчивается на z = 1 или следующим вектором является XE. Таким образом, последовательности являются случайными, но они всегда начинаются с XD . Некоторые примеры последовательностей показаны на рисунке.
ГЛАВА 10. ОБУЧЕНИЕ С учетом ВРЕМЕННЫХ РАЗЛИЧИЙ 136
Типичные последовательности:
Рисунок 10.1: Марковский процесс
Это случайное блуждание является примером марковского процесса; переходы из состояния i
в состояние j происходят с вероятностями, зависящими только от i и j.
Учитывая набор последовательностей, сгенерированных этим процессом в качестве обучающего набора, мы хотим иметь возможность предсказать значение z для каждого X в тестовой последовательности. Мы предполагаем, что обучающая система не знает вероятностей перехода.
Для своих экспериментов с этим процессом Саттон использовал линейный предсказатель, который равен f (X, W) = X • W. Задача обучения состоит в том, чтобы найти весовой вектор W, который минимизирует среднеквадратичную ошибку между z и прогнозируемым значением z. Учитывая из пяти различных значений, которые может принимать X, мы получаем следующие прогнозы: f (XB ) = w1 , f (XC ) = w2 , f (XD ) = w3 , f (XE ) = w4 , f (XF ) = w5 , где wi - i-я составляющая весового вектора. (Обратите внимание, что значения прогнозов не ограничены 1 или 0, хотя z может иметь только одно из этих значений, поскольку мы минимизируем среднеквадратичную ошибку.) После обучения эти прогнозы будут сравниваться с оптимальными с учетом вероятностей перехода.
Экспериментальная установка была следующей: было сгенерировано десять случайных последовательностей используя вероятности перехода. Каждая из этих последовательностей была по очереди представлена методу TD(;) для различных значений ;. Приращения весового вектора (;W)i вычислялись после представления каждого шаблона, но никаких изменений веса не производилось до тех пор, пока не были представлены все десять последовательностей. Приращения весового вектора суммировались после представления всех десяти последовательностей, и эта сумма использовалась для изменения весового вектора, который будет использоваться при следующем просмотре десяти последовательностей. Этот процесс повторялся снова и снова (с использованием одних и тех же обучающих последовательностей) до тех пор, пока (цитирую Саттона) “процедура больше не приводила к каким-либо существенным изменениям в весовом векторе. При малых c весовой вектор всегда сходился таким образом,
10.4. ЭКСПЕРИМЕНТ С МЕТОДАМИ TD 137
и всегда к одному и тому же конечному значению [для 100 различных обучающих наборов из десяти случайных последовательностей], независимо от его начального значения.” (Несмотря на то, что при фиксированном малом c весовой вектор всегда сходился к одному и тому же  вектору, при разных значениях c он может сходиться к несколько иному вектору.)
После сходимости прогнозы, сделанные с помощью конечного весового вектора, сопоставляется с оптимальными прогнозами, сделанными с использованием вероятностей перехода. Эти оптимальные прогнозы просто равны p(z = 1|X). Мы можем вычислить, что эти вероятности равны 1/6, 1/3, 1/2, 2/3 и 5/6 для XB , XC , XD , XE , XF соответственно. Среднеквадратичные различия между наилучшими полученными прогнозами (по всем c) и этими оптимальными показаны на рис. 10.2 для семи различных значений ;. (Для каждой точки данных стандартная ошибка составляет приблизительно ; = 0,01.)
Ошибка при использовании лучше с
Видроу Хофф
(Адаптировано по Саттону, стр. 20, 1988)
Рисунок 10.2: Ошибки прогнозирования для TD(;)
Обратите внимание, что процедура Видроу-Хоффа работает не так хорошо, как другие
версии TD(;) для ; < 1! Цитирую [Саттон, 1988, стр. 21]:
“Этот результат противоречит общепринятому мнению. Хорошо известно, что при повторных презентациях процедура Уидроу-Хоффа минимизирует среднеквадратичную ошибку между ее прогнозами и фактическими результатами в обучающей выборке ([Widrow & Stearns, 1985]). Как могло случиться, что этот оптимальный метод оказался хуже, чем все методы TD для ; <1. Ответ заключается в том, что процедура Видроу-Хоффа минимизирует ошибку только на обучающем наборе; она не обязательно минимизирует ошибку для будущего опыта. [Позже] мы докажем, что на самом деле именно линейный TD(0) сходится к тому, что можно считать оптимальными оценками для
ГЛАВА 10. ОБУЧЕНИЕ с РАЗНИЦЕЙ во ВРЕМЕНИ 138
сопоставления будущему опыту, соответствует максимальной оценке вероятности лежащего в основе марковского процесса.- ”
10.5 Теоретические результаты
Можно проанализировать эффективность методов линейного предсказания TD(;) для марковских процессов. Здесь мы приводим некоторые теоремы без доказательств.
Теорема 10.1 (Саттон, стр. 24, 1988) Для любой поглощающей цепи Маркова и для любого линейно независимого набора векторов наблюдения {Xi } для нетерминальных состояний существует ; > 0, такое, что для всех положительных c < ; и для любого начального весового вектора предсказания линейных TD(0) (с обновлением веса после каждой последовательности) приближает ожидаемое значение к оптимальному (с максимальной вероятностью) предсказанию истинного процесса.
Несмотря на то, что ожидаемые значения прогнозов сходятся, сами прогнозы не сходятся, а варьируются в зависимости от их ожидаемых значений в зависимости от их последнего опыта. Саттон предполагает, что если c приблизиться к 0 по мере прохождения обучения, дисперсия прогнозов также будет приближаться к 0.
Даян [Dayan, 1992] расширил результат теоремы 9.1 на TD (;) для произвольного ; в диапазоне от 0 до 1. (см. также [Dayan & Sejnowski, 1994].)
10.6 Обновление веса внутри последовательности
Наше стандартное правило обновления веса для методов TD(;) таково:
где обновление веса происходит после просмотра всей последовательности. Чтобы сделать метод действительно инкрементальным (по аналогии с правилами обновления веса для нейронных сетей), было бы желательно изменять вектор веса после каждого представления шаблона. Очевидным расширением является:
, где fi+1 вычисляется перед изменением веса; то есть fi+1 = f (Xi+1 , Wi ). Но это сделало бы fi = f (Xi , Wi;1 ), и такое правило сделало бы разницу в прогнозировании, а именно (fi+1 ; fi ), чувствительной как к изменениям в X и изменения в W и могут привести к нестабильности. Вместо этого мы изменяем правило таким образом, чтобы для каждой пары прогнозов fi+1 = f (Xi+1 , Wi ) и fi = f (Xi , Wi ). Эта версия правила была использована на практике с отличными результатами.
10.6. ОБНОВЛЕНИЕ ВЕСА ВНУТРИ ПОСЛЕДОВАТЕЛЬНОСТИ 139
Для TD(0) и линейных предикторов правило таково:
Wi+1 = Wi + c(fi+1; fi )Xi
Правило реализуется следующим образом:
a. Произвольно инициализируйте весовой вектор W.
b. Для i = 1, ..., m выполните:
(a) fi ;Xi • W
(Мы вычисляем fi заново каждый раз до конца, а не используем значение fi+1 в предыдущий раз до конца.)
(b) fi+1 ; Xi+1 • W
(c) di+1 ;fi+1 ; fi
(d) W ;W + c di+1 Xi
(Если бы fi был вычислен снова с этим измененным весовым вектором, его значение
было бы ближе к fi+1, как и требовалось.)
Линейный метод TD (0) можно рассматривать как метод обучения очень простой сети, состоящей из одной единицы скалярного произведения (без пороговой или сигмовидной функции). Методы TD также могут использоваться в сочетании с обратным распространением для обучения нейронных сетей. Для TD(0) мы изменяем веса сети в соответствии с выражением:
Единственное изменение, которое необходимо внести в стандартный вес обратного распространения- изменяющееся правило заключается в том, что разностный элемент между желаемым выходом и выходом модуля на конечном (k-м) уровне, а именно (d ; f (k)), должен быть заменен разностным элементом между последовательными выходами (fi+1 ; fi). Это изменение оказывает прямое влияние только на выражение для ; (k), которое становится:
; (k) = 2(f`(k) ; f (k))f (k) (1 ; f (k) )
где f`(k) и f (k) - два последовательных выхода сети.
Правило изменения веса для i-го вектора весов в j-м слое весов имеет ту же форму, что и раньше, а именно:
, где ;i (j) задаются рекурсивно через:
, где wil(j+1) - это l-я составляющая i-го вектора весов в (j + 1)-м слое весов. Конечно, здесь также предполагается, что f`(k) и f(k) вычисляются с использованием одних и тех же весовых коэффициентов, а затем веса меняются. В следующем разделе мы увидим интересный пример такого применения TD-обучения.
ГЛАВА 10. ОБУЧЕНИЕ С УЧЕТОМ ВРЕМЕННЫХ РАЗЛИЧИЙ 140
10.7 Пример применения: TD-gammon \окорок\
Программа под названием TD-gammon [Tesauro, 1992] обучает игре в нарды, обучая нейронную сеть с помощью методов временной разницы. Структура нейронной сети и ее кодирование представлены на рис. 10.3. Сеть обучена минимизировать ошибку между фактическим выигрышем и предполагаемым выигрышем, где фактический выигрыш определяется как df = p1 + 2p2 ; p3 ; 2p4 , а pi - это фактические вероятности различных исходов, как указано на рисунке.

предполагаемый выигрыш:
d = p1 + 2p2 < p3 < 2p4
количество белых
на клетке 1
3 оцененные вероятности:
(белые выигрывают)
 (белые окорока)
клетки
p3 = выигрыш (выигрывают черные)
p4 = выигрыш (выигрывают черные окорока)
4 единицы на выходе
: кто на стойке,
кто за бортом
и кто
перемещает
до 40 скрытых единиц
198 входных
данных скрыты, а выходными единицами являются сигмоиды
скорость обучения: c = 0,1; начальные значения выбираются
случайным образом в диапазоне от <0,5 до +0,5.
Рисунок 10.3: Сеть TD-gammon \окорок\
TD-gammon обучился, используя сеть, выбирать тот ход, который приводит к наилучшему прогнозируемому выигрышу. То есть на любом этапе игры возможен некоторый конечный набор ходов, которые приводят к набору {X} новых позиций на доске. Каждый
участник этого набора оценивается сетью, и выбирается тот, у кого больше всего  БИБЛИОГРАФИЧЕСКИЕ И ИСТОРИЧЕСКИЕ ПРИМЕЧАНИЯ 141
прогнозируемый выигрыш, если это ход белых (и наименьший, если это ход черных). Выполняется перемещение, и веса сети корректируются таким образом, чтобы приблизить прогнозируемый выигрыш от исходной позиции к выигрышу от результирующей позиции. Процедура корректировки веса сочетает в себе временную \темповую, текущего хода\ разницу (TD(;)) обучения с обратным распространением. Если dt - это оценка выигрыша сетью в момент времени t (до совершения перемещения), а dt+1 - это оценка в момент времени t + 1 (после выполняется перемещение), правило корректировки веса таково:
, где Wt - вектор всех весов в сети в момент времени t, а ;dk/;W -градиент dk в этом пространстве весов. (Для многоуровневой сети с прямой связью, такой как сеть TD-gammon, изменения веса для векторов веса в каждом слое могут быть выражены обычным образом.)
Чтобы прояснить особые случаи, напомним, что для TD(0) сеть была бы обучена таким образом, чтобы при всех t ее выходные данные, dt, для входных данных Xt стремились к ожидаемому значению выход, dt+1 , для входных данных Xt+1 . Для TD(1) сеть была бы обучена таким образом, чтобы при всех t ее выходные данные, dt , для входных данных Xt стремились к ожидаемому конечному результату, df, с учетом этих входных данных. Последний случай аналогичен правилу Видроу-Хоффа.
После примерно 200 000 игр были получены следующие результаты. TD-gammon (с 40 скрытыми единицами, ; = 0,7 и c = 0,1) выиграл 66,2% из 10 000 игр против SUN Microsystems Gammontool и 55% из 10 000 игр против нейронной сети, обученной с использованием экспертных приемов. Комментируя более позднюю версию TD- gammon, используя специальные функции в качестве исходных данных, Тесауро сказал: “Похоже, это самая мощная программа, которую когда-либо видел этот автор”.
10.8 Библиографические и исторические замечания
Будут добавлены позднее.
ГЛАВА 10. ОБУЧЕНИЕ С учетом ВРЕМЕННЫХ РАЗЛИЧИЙ 142
Глава 11
 Обучение c Отложенным подкреплением

11.1 Общая проблема
Представьте себе робота, который существует в среде, в которой он может чувствовать и действовать. Предположим (в качестве крайнего случая), что он понятия не имеет о последствиях своих действий. То есть он не знает, как действие изменит его сенсорные сигналы. Вместе с его сенсорные сигналы - это “награды”, которые он время от времени получает. Как он должен выбирать свои действия, чтобы максимизировать вознаграждение в долгосрочной перспективе? Чтобы максимизировать вознаграждение, ему нужно уметь предсказывать, как действия изменяют входные данные и, в частности, как действия приводят к вознаграждению.
Мы формализуем задачу следующим образом: робот существует в среде, состоящей из набора состояний S. Мы предполагаем, что сенсорный аппарат робота формирует входной вектор X из окружающей среды, который информирует робота о том, в каком состоянии находится среда. На данный момент мы будем предположим, что отображение состояний в векторы является взаимно однозначным и, по сути, будет использовать обозначение X для обозначения состояния окружающей среды, а также входного вектора. Получив входной вектор, робот решает, какое действие из набора A действий выполнить. Выполнение действия оказывает влияние на окружающую среду — переводит ее в новое состояние. Новое состояние приводит к тому, что робот воспринимает новый входной вектор, и цикл повторяется. Мы используем дискретную временную модель; входной вектор в момент времени t = i равен Xi , действие выполняется в момент это время равно ai , а ожидаемая награда ri , полученная в момент t = i , зависит от предпринятых действий и состояния, то есть ri = r(Xi , ai ). Цель обучающегося — найти политику ;(X), которая сопоставляет входные векторы с действиями таким образом, чтобы максимизировать вознаграждение, накапливаемое с течением времени. Этот тип обучения называется обучение подкреплением. Обучающийся должен найти политику методом проб и ошибок; у него нет начальных знаний о последствиях его действий. Ситуация такова, как показано на рис. 11.1.
143
ГЛАВА 11. ОБУЧЕНИЕ С ОТСРОЧЕННЫМ ПОДКРЕПЛЕНИЕМ 144
(состояние)
Учащийся
(действие)
(вознаграждение)
Окружающая среда
Рисунок 11.1: Обучение с подкреплением
11.2 Вот пример
“Сетчатый мир”, подобный тому, что показан на рис. 11.2, часто используется для иллюстрации обучения с подкреплением. Представьте себе робота, который изначально находится в ячейке (2,3). Робот получает входной вектор (x1, x2 ), сообщающий ему, в какой ячейке он находится; он способен выполнять четыре действия: n, e, s, w, перемещая робота на одну ячейку вверх, вправо, вниз или влево соответственно. Он получает одну отрицательную единицу каждый раз, когда натыкается на стену или на заблокированные ячейки. Например, если входные данные для робота равны (1,3), и робот выбирает действие w, следующий ввод для робота по-прежнему (1,3), и он получает вознаграждение в размере ;1. Если робот приземляется в ячейку с пометкой G (для достижения цели), он получает награду в размере +10. Давайте предположим, что всякий раз, когда робот приземляется в целевой ячейке и получает свою награду, он немедленно перемещается в какую-нибудь случайную ячейку, и поиск награды продолжается.
Политика для нашего робота - это спецификация того, какие действия следует предпринять для каждого из его входных данных, то есть для каждой ячейки сетки. Например, компонентом такой политики было бы “находясь в ячейке (3,1), двигайтесь вправо”. Оптимальный вариант политики - это политика, которая максимизирует долгосрочное вознаграждение. Один из способов отображения политики для нашего робота в сетевом мире - это стрелка в каждой ячейке, указывающая направление, в котором робот должен двигаться, находясь в этой ячейке. На рис. 11.3 мы показываем оптимальную политику, отображаемую таким образом. В этой главе мы опишем методы обучения оптимальной политики, основанные на значениях вознаграждения, получаемого учащимся.
11.3. ВРЕМЕННОЕ ДИСКОНТИРОВАНИЕ И ОПТИМАЛЬНАЯ ПОЛИТИКА
Рисунок 11.2: Сетевой мир
11.3 Временное дисконтирование и оптимальная политика
При обучении с отсроченным подкреплением часто предполагается, что награды в отдаленном будущем не так ценны, как более непосредственные. Это предпочтение может быть учтено с помощью временного коэффициента дисконтирования, 0 ; ; < 1. Текущая стоимость вознаграждения ri , получаемая в i единицах времени в будущем, принимается равной ; i ri . Предполагать  у нас есть политика ;(X), которая преобразует входные векторы в действия, и пусть ri;(X) - награда, которая будет получена на i-м временном шаге после того, как кто-то начнет выполнять политику ;, начиная с состояния X. Тогда общее вознаграждение, накопленное за все время шаги по политике ;, начинающиеся в состоянии X, равно:
Одна из причин использования временного коэффициента дисконтирования заключается в том, что приведенная выше сумма будет конечной. Оптимальная политика - это та, которая максимизирует V ; (X) для всех входных данных, X.
В общем, мы хотим рассмотреть случай, когда вознаграждения, ri, являются случайными величинами и когда влияние действий на состояние окружающей среды является случайным. Например, в марковских средах вероятность того, что действие a в состоянии Xi приведет к состоянию Xj, определяется вероятностью перехода p[Xj |Xi , a]. Затем, мы захотим максимизировать ожидаемое будущее вознаграждение и определим V ; (X) как:

В любом случае мы называем V ; (X) значением параметра политики ; для входных данных X.
ГЛАВА 11. ОБУЧЕНИЕ С ОТСРОЧЕННЫМ ПОДКРЕПЛЕНИЕМ 146
Рисунок 11.3: Оптимальная политика в сетевом мире
Если действие, предписанное ;, предпринятое в состоянии X, приводит к состоянию X` (случайным образом в соответствии с вероятностями перехода), то мы можем записать V ; (X) в терминах V ; (X`) следующим образом:
, где (в обобщенном виде):
; = коэффициент дисконтирования,
V ; (X) = значение состояния X в соответствии с политикой ;,
r[X, ;(X)] = ожидаемое немедленное вознаграждение, получаемое при выполнении
действия, предписанного ; в состоянии X, и
p[X` |X, ;(X)] = вероятность того, что окружающая среда переходит в состояние X`, когда мы выполняем действие, предписанное ; в состоянии X.
Другими словами, значение состояния X в соответствии с политикой ; - это ожидаемое значение немедленного вознаграждения, полученного при выполнении действия, рекомендованного в политике ;, плюс среднее значение (в соответствии с политикой ;) всех состояний, доступных из политики X.
Для оптимальной политики ;; (и никакой другой!) мы имеем знаменитое “уравнение оптимальности :”
Теория динамического программирования (DP) [Беллман, 1957, Росс, 1983] гарантирует нам, что существует по крайней мере одна оптимальная политика, ;;, которая удовлетворяет этому уравнению. DP
11.4. Q-LEARNING 147
также приведены методы расчета V;*(X) и, по крайней мере, одного ;;, предполагающие, что мы знаем среднее вознаграждение и вероятности перехода. Если бы мы знали вероятности перехода, средние вознаграждения и V;*(X) для всех X и a, тогда было бы легко реализовать оптимальную политику. Мы бы просто выбрали что a, которое максимизирует r(X, a) + ; ;X`p [X`|X, a]V ;* (X` ). То есть
Но, конечно, мы предполагаем, что не знаем ни этих средних вознаграждений, ни вероятностей перехода, поэтому нам нужно найти метод, который эффективно их обучает.
Если бы у нас была модель действий, то есть если бы мы знали для каждого состояния X и действия a, результатом которого является состояние X`, мы могли бы использовать метод, называемый итерацией значений, для поиска оптимальной политики. Итерация значений работает следующим образом: Мы начинаем случайным образом присваивая расчетное значение ^V (X) каждому состоянию, X. На i-м шаге процесса предположим, что мы находимся в состоянии Xi (то есть наши входные данные на i-м шаге равны Xi), и что расчетное значение состояния Xi на i-м шаге равно ^Vi (Xi ). Затем мы выбираем действие a, которое максимизирует оценочное значение прогнозируемого последующего состояния. Предположим, что это последующее состояние, имеющее наибольшее оценочное значение, равно X`i . Затем мы обновляем оценочное значение ^Vi (Xi) состояния Xi следующим образом:
если X = Xi ,
то = ^Vi;1 (X)
в противном случае.
Мы видим, что эта корректировка приводит к увеличению значения Vi (Xi ) ( в зависимости от ci ), приближая его к ri + ; ^Vi (X`i ) . Предполагая, что ^Vi (X`i ) является хорошей оценкой для Vi (X`i ), то эта корректировка помогает сделать две оценки более согласованными. При условии, что 0 < ci < 1 и что мы посещаем каждое состояние бесконечно часто, этот процесс итерации значений будет сходиться к оптимальным значениям.
Обсудите синхронное динамическое
программирование, асинхронное
динамическое программирование и
итерацию политики.
11.4 Q-обучение
Уоткинс [Watkins, 1989] предложил методику, которую он называет инкрементальным динамическим программированием. Пусть a; ; означает политику, которая выбирает действие a один раз,  а затем выбирает действия в соответствии с политикой ;. Мы определяем:
Q; (X, a) = Va;; (X)
ГЛАВА 11. ОБУЧЕНИЕ С ОТЛОЖЕННЫМ ПОДКРЕПЛЕНИЕМ 148
Тогда оптимальное значение из состояния X задается формулой:
Это уравнение справедливо только для оптимальной политики, ;; . Оптимальная политика определяется как:
Заметим, что если действие a делает Q; (X, a) больше, чем V ; (X), то мы можем улучшить ;, изменив его таким образом, что ;(X) = a. Такое изменение является основой для эффективного правила обучения, которое мы вскоре опишем.
Предположим, что действие a в состоянии X приводит к состоянию X`. Тогда, используя определения Q и V, легко показать, что:
Q;* (X, a) = r(X, a) + yE[V ; (X`)]
где r(X, a) - среднее значение немедленного вознаграждения, получаемого при выполнении действия a в состоянии X. Для оптимальной политики (и никакой другой) у нас есть другая версия уравнения оптимальности в терминах значений Q:
для всех действий a и состояний X. Теперь, если бы у нас были оптимальные значения Q (для всех a и X), мы могли бы просто реализовать оптимальную политику выбрав, то действие, которое максимизировало r(X, a) + yE Q;*(X`, a) .
То есть,
Предложение Уоткинса сводится к методу TD(0) для обучения значений Q. Мы цитируем (с небольшими изменениями в обозначениях) из [Watkins & Dayan, 1992, стр. 281]:
“В Q-обучении опыт агента состоит из последовательности
отдельных этапов или эпизодов. В i-м эпизоде агент:
• наблюдает за своим текущим состоянием Xi,
• выбирает [используя метод, описанный ниже] и выполняет
действие ai ,
• наблюдает за последующим состоянием X`i ,
• получает немедленное вознаграждение ri и
11.4. Q-ОБУЧЕНИЕ 149
• корректирует свои значения Qi;1, используя коэффициент обучения ci, в соответствии с:
Qi (X, a) = (1 ; ci )Qi;1 (X, a) + ci [ri + yVi;1 (X`i )]
если X = Xi и a = ai ,
= Qi;1 (X, a)
в противном случае, где
максимальное значение
- это лучшее, что, по мнению агента, он может сделать из состояния X` . . . .
Начальные значения Q, Q0 (X, a), для всех состояний и действий считаются
заданными.”
Используя текущие значения Q, Qi (X, a), агент всегда выбирает то действие, которое максимизирует Qi (X, a). Обратите внимание, что корректируется только значение Q, соответствующее только что завершенному состоянию и только что выполненному действию. И это значение Q корректируется таким образом, чтобы оно было ближе (на величину, определяемую ci) к сумме немедленное вознаграждение плюс дисконтированный максимум (за все действия) значений Q для только что введенного состояния. Если мы представим, что значения Q являются предсказаниями конечного (с бесконечным горизонтом) суммарного вознаграждения, то описанная выше процедура обучения в точности является методом TD (0) для обучения прогнозированию этих значений Q. Однако Q-обучение усиливает обычные методы TD, поскольку TD (применяемый к задачам подкрепления с использованием итерации значений) требует одноэтапного анализа с использованием модели последствий действий, в то время как Q-обучение этого не делает.
Удобным обозначением (предложенным [Schwartz, 1993]) для представления
изменения значения Q является:
где Q(X, a) - это новое значение Q для входных данных X и действия a, r — немедленное вознаграждение, когда действие a выполняется в ответ на входные данные X, V (X`) - максимальное (по сравнению со всеми действиями) значение Q состояния, следующего за достигнутым при выполнении действия a берется из состояния X, а ; - это доля пути, по которому новое значение Q, Q(X, a), корректируется так, чтобы оно было равно r + yV (X`).
Уоткинс и Даян [Watkins & Dayan, 1992] доказывают, что при определенных условиях значения Q, вычисленные с помощью этой процедуры обучения, сходятся к оптимальным (то есть к тем, на которых может быть основана оптимальная политика).
Мы определяем ni (X, a) как индекс (номер эпизода) i-го раза, когда действие a было опробовано в состоянии X. Тогда мы имеем:
ГЛАВА 11. ОБУЧЕНИЕ С ОТСРОЧЕННЫМ ПОДКРЕПЛЕНИЕМ 150
Теорема 11.1 (Уоткинс и Даян) Для задач Маркова с состояниями {X} и действиями {a} и заданными ограниченными вознаграждениями |rn | ; R, скоростью обучения 0 ; cn < 1 и
для всех X и a, тогда
Qn (X, a) ; Q;n (X, a) как n ; ; для всех X и a с вероятностью 1, где Q;n (X, a) соответствует значениям Q оптимальной политики.
И снова мы цитируем [Watkins & Dayan, 1992, стр. 281]:
“Самое важное условие, подразумеваемое теоремой о сходимости ... заключается в том, что последовательность эпизодов, которая составляет основу обучения, должна включать бесконечное количество эпизодов для каждого начального состояния и действия. Это можно считать важным условием выбора состояний и действий, однако в стохастических условиях теоремы нельзя гарантировать, что ни один метод не найдет оптимальной политики в более слабых условиях. Однако обратите внимание, что эпизоды не обязательно должны образовывать непрерывную последовательность — то есть X` одного эпизода не обязательно должно быть X следующего эпизода.”
Взаимосвязи между Q-обучением, динамическим программированием и управлением
очень хорошо описаны в [Barto, Bradtke, & Singh, 1994]. Q-обучение лучше всего рассматривать как метод стохастической аппроксимации для вычисления значений Q. Хотя определение оптимальных значений Q для любого состояния рекурсивно зависит от ожидаемых значений Q для последующих состояний (и от ожидаемого значения вознаграждений), процедура явно не вычисляет ожидаемые значения. Вместо этого эти значения аппроксимируются путем итеративной выборки с использованием реального стохастического механизма, который генерирует последующие состояния.
11.5 Обсуждение, ограничения и расширения Q-обучения
11.5.1 Наглядный пример
Процедура Q-обучения требует, чтобы мы сохраняли таблицу значений Q(X, a) для всех пар состояние-действие. В сетевом мире, который мы описали ранее, такая таблица не была бы чрезмерно большой. Мы могли бы начать со случайных записей в таблице; часть такой исходной таблицы может быть следующей:
11.5. ОБСУЖДЕНИЕ, ОГРАНИЧЕНИЯ И РАСШИРЕНИЯ Q-LEARNING151
Предположим, что робот находится в ячейке (2,3). Максимальное значение Q достигается при a = w, поэтому робот перемещается на запад, в ячейку (1,3), не получая немедленного вознаграждения. Максимальное значение Q в ячейке (1,3) равно 5, и механизм обучения пытается приблизить значение Q((2, 3), w) к дисконтированному значению 5 плюс непосредственное вознаграждение (которое в данном случае было равно 0). При параметре скорости обучения c = 0,5 и ; = 0,9 значение Q((2, 3), w) изменяется с 7 до 5,75.  В этом эпизоде в таблицу не вносятся другие изменения. Читатель может попробовать эту процедуру обучения в сетевом мире с помощью простой компьютерной программы. Обратите внимание, что оптимальная политика может быть не найдена, если некоторые ячейки не посещаются или некоторые действия выполняются недостаточно часто.
Задача обучения, с которой сталкивается агент, состоит в том, чтобы связать определенные действия с конкретными входными данными. Q обучение постепенно усиливает те действия, которые отдавают должное положительным вознаграждениям, увеличивая связанные с ними значения Q. Как правило, как в этом примере, вознаграждения появляются через некоторое время после действий, которые к ним приводят, — отсюда и выражение "обучение с отсроченным подкреплением". Можно представить, что все лучшие и лучшие приближения к оптимальным значениям Q постепенно распространяются от состояний, приносящих вознаграждение, ко всем другим состояниям, которые агент часто посещает. При случайных начальных значениях Q действия агента сводятся к случайному блужданию по его пространству состояний. Только когда это случайное блуждание происходит чтобы перейти в состояния вознаграждения, Q-обучение начинает вырабатывать полезные значения Q, и даже в этом случае значения Q должны пробиваться наружу из этих состояний вознаграждения. Общая проблема, связанная с привязкой вознаграждений к парам состояние-действие, называется проблемой временного присвоения кредитов — как следует распределять кредиты за вознаграждение между действиями, ведущими к нему? Q обучение на сегодняшний день является наиболее успешным методом присвоения временных баллов, хотя связанный с ним метод, называемый алгоритмом бригады ведер, был предложен [Холланд, 1986].
Проблемы обучения, подобные тем, с которыми сталкивается агент в нашем сетевом мире, были тщательно изучены Саттоном, который предложил архитектуру, названную DYNA, для их решения [Sutton, 1990]. DYNA сочетает в себе обучение с подкреплением и планирование. Саттон характеризует планирование как обучение в моделируемом мире, который моделирует мир, в котором живет агент. Модель мира агента создается путем Q обучения в реальном мире, а планирование осуществляется путем Q обучения в своей модели мира.
Мы должны отметить, что проблему обучения, с которой столкнулся наш робот из грид \сеточного\ -мира
ГЛАВА 11. ОБУЧЕНИЕ С ОТСРОЧЕННЫМ ПОДКРЕПЛЕНИЕМ  152
можно изменить, чтобы в таблице было несколько мест, которые дают положительные результаты. Эта возможность представляет собой интересный способ обобщения классического понятия “цель” в системах планирования с использованием искусственного интеллекта — даже в тех, которые не требуют обучения. Вместо того чтобы представлять цель как условие, которое должно быть достигнуто, мы представляем “структуру целей ” как набор вознаграждений, которые должны быть получены за выполнение различных условий. Тогда обобщенная “цель” становится максимизацией дисконтированного будущего вознаграждения, а не просто достижением какого-то конкретного условия. Это обобщение может быть сделано для включают в себя так называемые цели поддержания и цели избегания. Приведенный выше пример включал в себя предотвращение столкновения с границей мира-сетки. Цель поддержания определенного состояния может быть выражена в виде вознаграждения, которое получалось всякий раз, когда агент находился в этом состоянии и выполнял действие, которое возвращало его в это состояние за один шаг.
11.5.2 Использование случайных действий
Когда следующее представление паттерна в последовательности паттернов вызвано собственным действием агента в ответ на предыдущий паттерн, мы получаем то, что называется метод интерактивного обучения. В терминологии Уоткинса и Даяна, в режиме онлайн эпизоды обучения образуют непрерывную последовательность. Как уже упоминалось, теорема о сходимости для Q-обучения не требует онлайн-обучения; действительно, необходимо принять особые меры предосторожности, чтобы гарантировать, что онлайн-обучение соответствует условиям теоремы. Если в процессе онлайн-обучения обнаруживаются хорошие пути к вознаграждению, агент может зациклиться на них и так и не найти политику, которая, возможно, приведет к большему долгосрочному вознаграждению. Во фразеологии обучения с подкреплением, эта проблема называется проблемой использования \освоения\ (уже обученного поведения) в противовес исследованию (возможно, лучшего поведения).
Один из способов форсировать исследование - выполнять случайные действия (вместо того единственного действия, которое предписывается текущими значениями Q). Например, в задаче о сетевом \сеточном, решетчатом \ мире можно представить случайный выбор действия в соответствии с распределением вероятностей между действиями (n, e, s и w). Это распределение, в свою очередь, может зависеть от значений Q. Например, мы могли бы сначала найти действие, предписанное значениями Q, а затем выбрать это действие с вероятностью ;, выбрать два ортогональных действия с вероятностью 3/16 каждое и выбрать противоположное действие с вероятностью 1/8. Эта политика может быть изменена с помощью “имитационного отжига”, который постепенно увеличит вероятность выполнения действий, предписанных значениями Q, с течением времени. Эта стратегия будет способствовать исследованию в начале обучения и последующей эксплуатации.
Были также предложены другие методы проведения разведки, в том числе создание благоприятных условий для непосещенных государств \состояний\ и использование “оценки интервала”, которая связана с неопределенностью в оценке значения состояния [Келблинг, 1993].
11.5. ОБСУЖДЕНИЕ, ОГРАНИЧЕНИЯ И РАСШИРЕНИЯ Q-ОБУЧЕНИЯ. 153
11.5.3 Обобщение на основе исходных данных
Для больших задач было бы непрактично вести таблицу, подобную той, что использовалась в нашем примере с грид-миром. Различные исследователи предлагали механизмы вычисления значений Q с учетом входных данных и действий по шаблону. Один из методов, который напрашивается сам по себе, заключается в использовании нейронной сети. Для примера рассмотрим простой линейный тренажер, показанный на рис. 11.4.
способный обучаться вес
R точечных единиц измерения продукта
Рисунок 11.4: Сеть, вычисляющая значения Q
Такая нейронная сеть может использоваться агентом, у которого есть R действий для выбора. Значения Q (как функция входного шаблона X и действия ai) вычисляются как точечные произведения весовых векторов (по одному для каждого действия) и входного вектора. Корректировка веса производится в соответствии с процедурой TD(0), чтобы приблизить значение Q для последнего выбранного действия к сумме немедленного вознаграждения (если таковое имеется) и (со скидкой) максимальному значению Q для следующего входного шаблона.
Если оптимальные значения Q для задачи (какими бы они ни были) являются более сложными, чем те, которые могут быть вычислены с помощью линейной машины, можно использовать многоуровневую нейронную сеть. Сигмовидные блоки на последнем уровне будут вычислять значения Q в диапазоне от 0 до 1. В этом случае метод TD(0) для обновления значений Q должен быть объединен с многоуровневым правилом изменения веса, таким как обратное распространение.
Сети такого типа способны объединять различные входные векторы в области, для которых необходимо выполнить одно и то же действие. Этот вид агрегации является примером того, что называется структурным распределением кредитов. Сочетание TD(;) и обратного распространения является методом решения как временных, так и структурных проблем распределения кредитов.
ГЛАВА 11. ОБУЧЕНИЕ С ОТСРОЧЕННЫМ ПОДКРЕПЛЕНИЕМ 154
Интересные примеры обучения с отсроченным подкреплением для смоделированных и реальных роботов, требующие структурного распределения баллов, были описаны в [Lin, 1992, Mahadevan & Connell, 1992].
11.5.4 Частично наблюдаемые состояния
До сих пор мы отождествляли входной вектор X с фактическим состоянием окружающей среды. Когда входной вектор является результатом работы перцептивного аппарата агента (как мы предполагаем), нет оснований полагать, что он однозначно идентифицирует состояние окружающей среды. Из-за неизбежных ограничений восприятия один и тот же входной вектор может быть получен из нескольких разных состояний окружающей среды. Это явление получило название перцептивного псевдонимирования /наложение. При использовании перцептивного наложения мы больше не можем гарантировать, что Q-обучение приведет политику в результате даже полезных действий, не говоря уже об оптимальных. Несколько исследователей пытались разобраться с для решения этой проблемы используются различные методы, включая попытку смоделировать “ скрытые” состояния с помощью внутренней памяти [Lin, 1993]. То есть, если какой-то аспект окружающей среды не может быть обнаружен в данный момент, возможно, он был обнаружен когда-то и может быть запомнен агентом. Когда это так, у нас больше нет проблемы Маркова; то есть следующий вектор X при любом действии может зависеть от последовательности предыдущих, а не только от непосредственно предшествующего.  Возможно, удастся восстановить марковскую структуру (поверх X), если X включает не только текущие сенсорные предписания, но и информацию из памяти агента.
11.5.5 Проблемы масштабирования
Некоторые трудности до сих пор препятствовали широкому применению обучения с подкреплением к решению крупных задач. (Программа TD-gammon, упомянутая в предыдущей главе, вероятно, уникальна с точки зрения успеха в решении многомерных задач.) Мы уже упоминали о некоторых трудностях; эти и другие кратко описаны ниже со ссылками на попытки их преодоления.
a. Разведка \исследование\ или эксплуатация.
• используйте случайные действия
• предпочитайте государства \состояния\, которые недавно не посещались
• отделите этап обучения от этапа использования
• наймите преподавателя для руководства исследованиями
. b. Сократите время на сближение
• сочетайте обучение с предварительными знаниями; изначально используйте оценки значений Q (а не случайные величины).
• используйте иерархию действий; сначала обучите примитивные действия и закрепите
полезные последовательности в макросах, а затем научитесь использовать макросы
11.6. БИБЛИОГРАФИЧЕСКИЕ И ИСТОРИЧЕСКИЕ ПРИМЕЧАНИЯ 155
• наймите учителя; используйте поэтапные “уроки” — начинайте с вознаграждений, а затем отступайте, и используйте примеры хорошего поведения [Лин, 1992].
• используйте более эффективные вычисления, например, делайте несколько обновлений за эпизод [Moore & Atkeson, 1993]
в. Большие пространства состояний
• используйте функции, закодированные вручную
• используйте нейронные сети
• используйте методы поиска ближайших соседей [Moore, 1990]
г. Проблемы временного дисконтирования. Использование малого ; может сделать учащегося слишком жадным к настоящему вознаграждению и безразличным к будущему; но использование большого ; замедляет процесс обучения.
• используйте метод обучения, основанный на среднем вознаграждении [Schwartz, 1993]
е. Не допускайте “переноса” знаний. То, что обучается, зависит от структуры вознаграждения
; если вознаграждения меняются, обучение приходится начинать сначала.
• Разделите процесс обучения на две части: обучите “модель действия”, которая предсказывает, как действия изменяют состояния (и остается неизменной во всех задачах ), а затем обучите “ценности” состояний, обучаясь с подкреплением для каждого отдельного набора вознаграждений. Иногда обучение  с подкреплением  может быть заменено “планировщиком”, который использует модель действия вырабатывать планы по достижению целей.
Также смотрите другие статьи в специальном выпуске на обучение с подкреплением: Машинное обучение, 8, Май, 1992.
11.6 Библиографические и исторические заметки
Будет добавлено позднее.
ГЛАВА 11. Обучение с ОТСРОЧЕННЫМ ПОДКРЕПЛЕНИЕМ 156
Глава 12
Обучение основанное на объяснениях
12.1 Дедуктивное обучение
В рассмотренных до сих пор методах обучения, как правило, обучающий набор не расширяет пространство версий. Используя логическую терминологию, мы могли бы сказать, что выходные данные классификатора логически не вытекают из обучающего набора. В этом смысле эти методы являются индуктивными. В логике дедуктивная система - это система, выводы которой логически вытекают из набора входных фактов, если система надежна \звуковая, здоровая\.1
Чтобы противопоставить индуктивные и дедуктивные системы в логической среде, предположим, что у нас есть набор фактов (обучающий набор), который включает в себя следующие формулы:
{Круглый(Obj1), Округлый(Obj2), Округлый(Obj3), Округлый(Obj4),
Шар(Obj1), Шар(Obj2), Шар(Obj3), Шар(Obj4)}
Система обучения, которая формирует вывод (;x)[Мяч Ball(x) ; Круг Round(x)], является информативной. Этот вывод может быть полезен (если нет фактов в форме Шар Ball(;) ; Круглый Round(;)), но это логически не вытекает из фактов. С другой стороны, если бы у нас были факты Зелёный Green(Obj5) и Green(Obj5) ; Раунд Round(Obj5), то мы могли бы логически завершить раунд Round(Obj5). Вывод и сохранение этого вывода является примером дедуктивного обучения - темы, которую мы изучаем в этой главе.
Предположим, что некоторое логическое предложение ; логически следует из некоторого набора фактов ;. При каких обстоятельствах мы могли бы сказать, что процесс вывода ; из ; приводит к нашему усвоению ;? В некотором смысле, мы неявно знали ; с самого начала, поскольку это было присуще знанию ;. Тем не менее, ; может быть неочевидным, учитывая ;, и
1  Системы логического рассуждения, которые не являются надежными, например те, которые используют немонотонные рассуждения, сами по себе могут приводить к индуктивным выводам, которые логически не вытекают из вводимых фактов,
157
Глава 12. ОБУЧЕНИЕ, ОСНОВАННОЕ НА ОБЪЯСНЕНИЯХ 158
процесс дедукции к утверждению ; будет напряжённым. Вместо того, чтобы снова выводить значение ;, мы, возможно, захотим сохранить его, возможно, вместе с его выводом, на случай, если оно понадобится позже. Разве этот процесс не должен считаться обучением? Диттерих [Диттерих, 1990] назвал этот тип обучения ускоренным обучением.
Строго говоря, ускоренное обучение не приводит к тому, что система становится способной принимать решения, которые в принципе не могли быть приняты до начала обучения. Ускоренное обучение просто позволяет принимать такие решения более эффективно. Но на практике такой тип обучения может привести к принятию определенных решений, которые в противном случае были бы неосуществимы.
В качестве крайнего случая можно сказать, что игрок учится играть в шахматы, даже если оптимальная игра присуща правилам шахмат. На первый взгляд кажется, что есть нет никакой реальной разницы между основанными на опыте гипотезами игрока в шахматы о том, что представляет собой хорошая игра, и тем типом обучения, который мы изучали до сих пор.
В качестве другого примера предположим, что нам даны некоторые теоремы из геометрии и нас просят доказать, что сумма углов прямоугольного треугольника равна 180 градусам. Давайте далее предположим, что построенное нами доказательство не зависело от того, является ли данный треугольник прямоугольным; в этом случае мы можем узнать более
общий факт. Методика обучения, которую мы рассмотрим далее, связана с этим примером. Это называется обучением на основе объяснений (EBL). EBL можно рассматривать как процесс, в ходе которого неявные знания преобразуются в явные.
В EBL мы специализируем части теории предметной  области \домайн\ для объяснения конкретного примера, затем обобщаем объяснение, чтобы создать другой элемент теории предметной области, которая будет использоваться на аналогичных примерах. Этот процесс проиллюстрирован на рис. 12.1.
12.2 Теории предметной области \домене\
В индуктивных методах, которые мы изучали, присутствовали два типа информации: информация присущая обучающим выборкам и информация о предметной области указаная "выбором \смещением, биасом\" (например, набор гипотез, из которых мы выбираем функции). Методы обучения успешны только в том случае, если набор гипотез соответствует задаче. Как правило, чем меньше набор гипотез (то есть чем больше у нас априорной информации об искомой функции), тем меньше мы зависим от информации, предоставляемой обучающим набором (то есть меньшим количеством выборок). Априорная информация о проблеме может быть выражена в определённых способах \путях\. Методы, которые мы изучали до сих пор, ограничивают гипотезы в довольно прямой способ. Менее прямой метод предполагает составление утверждений на логическом языке о свойстве, которое мы пытаемся обучать. Набор таких утверждений обычно называется "теорией домена”.
Предположим, например, что мы хотим классифицировать людей в соответствии с тем, являются ли они хорошими кредитными рисками. Мы могли бы представить человека по набору характеристик (доход, семейное положение, тип занятости и т.д.), так могут быть собраны
12. 3.  ПРИМЕР 159

домен
Специализация
Пример
Доказательствао: X равно P
Процесс Сложного доказательства
Объяснение (Доказательство)
обобщить
Новое правило домена: Вещи, "подобные" X, равны P
Тривиальное доказательство
Это Y равно X
Рисунок 12.1: EBL процесс
данные о людях, которые, как известно, подвержены хорошим и плохим кредитным рискам, и обучает классификатора принимать решения. Или мы могли бы обратиться к кредитному инспектору банка, спросить его или ее, на что он обращает внимание при принятии решения о выдаче кредита, преобразовать эти знания в набор правил для экспертной системы, а затем использовать экспертную систему для принятия решений. Знания, используемые кредитным инспектором, возможно, возникли как набор "политик" (теория предметной области), но, возможно, применение этих стратегий было специализированным и стало более эффективным благодаря опыту работы с особыми случаями ссуд, сделанных в его или ее районе.
12.3 Пример
Чтобы сделать наше обсуждение более конкретным, давайте рассмотрим следующий необычный экзамен. Мы хотим найти способ классифицировать роботов как "надежных" или нет. Атрибуты , которые мы используем для представления робота, могут включать в себя как те, которые имеют отношение к данному решению, так и те, которые таковыми не являются.
Глава 12. ОБУЧЕНИЕ, ОСНОВАННОЕ НА ОБЪЯСНЕНИИ 160
Предположим, что у нас есть теория предметной области логических предложений, которые, взятые вместе, помогут определить, можно ли классифицировать робота как надежного. (Та же теория предметной области может быть полезна и для ряда других целей, но, помимо прочего, она описывает понятие "надежный”.)
В этом примере давайте предположим, что наша теория предметной области включает предложения:
Значения Fixes(u, u) ; Надежные Robust(u)
(Человек, который может сам себя исправить, является надежным.)
Видит Sees(x, y) ; Способный Habile(x) ; Значения Fixes(x, y)
(Умелый человек, который может видеть другую сущность, может исправить эту сущность.)
Робот Robot(w) ; Видит Sees(w, w)
(Все роботы могут видеть себя.)
R2D2 (x) ; Умелый Habile(x)
(Индивиды класса R2D2 являются способными.)
C3P O (x) ; Способные Habile(x)
(Люди класса C3PO являются способными.)
...
(По соглашению, предполагается, что переменные имеют универсальную количественную оценку.) Мы могли бы использовать методы доказательства теорем, основанные на теории предметной области, чтобы определить, надежны ли определенные роботы. Эти методы могут быть вычислительными довольно дорого, поскольку, возможно, потребуется выполнить обширный поиск, чтобы получить конспект \заключение\. Но после того, как мы найдем доказательство для какого-то конкретного робота, мы, возможно, сможем вывести какое-то новое предложение, использование которого позволит работать намного быстрее.
Далее мы покажем, как такое новое правило может быть получено в этом примере. Предположим нам дается ряд фактов о Num5, таких как:
Результат Robot(num5)
R2D2 (num5)
Возраст Age(num5, 5)
Лучший актер Manufacturer (num5, ГР. GR)
12.3. ПРИМЕР 161
Надежный (Num5)
Исправления (u, u) = > Надежный(u)
Исправления (Num5, Num5)
Видит (x,y) и умеет (x)
= > Исправляет(x, y)
Умеет(Num5)
Видит (Num5,Num5)
Работать (w)
= > Видит (w, w)
Работать(номер 5)
R2D2 (x)
= > Уметь (x)
R2D2 (Номер 5)
Рисунок 12.2: Дерево доказательств
Нам также говорят, что значение Robust (num5) истинно, но мы, тем не менее, пытаемся найти доказательство этого утверждения, используя эти факты о Num5 и теорию предметной области. Факты о Num5 соответствуют функциям, которые мы могли бы использовать для представления Num5. В этом примере не все из них имеют отношение к решению о надежности Robust(Num5). Релевантными \уместными\ являются те, которые используются или необходимы для доказательства Надежность(N um5) с использованием теории предметной области. Дерево доказательств на рис. 12.2 - это то, что смогла  создать типичная система доказательства теорем.
На языке EBL это доказательство является объяснением того факта, что Надежный Robust(num5). Из этого объяснения мы видим, что единственными фактами о Num5, которые были использованы, были Robot(num5) и R2D2(num5). Фактически, из этого объяснения мы могли бы вывести следующее правило:
Robot(N um5) ; R2D2(N um5) ; Надежный(N um5)
Это объяснение позволило нам исключить некоторые атрибуты Num5, которые не имеют отношения к делу (по крайней мере, для определения надежности (Num5)). Этот тип сокращения является первым способом, в котором объяснение используется для обобщения проблемы классификации. ([DeJong & Mooney, 1986] называют этот аспект обучения, основанного на объяснении исключением.) Но правило, которое мы извлекли из объяснения, применимо только к Номеру Num5. Возможно, нет особого смысла изучать это правило, поскольку оно настолько специфично. Можно ли его обобщить, чтобы его можно было применять и к другим людям?
ГЛАВА 12. ОБУЧЕНИЕ, ОСНОВАННОЕ НА ОБЪЯСНЕНИИ 162
Проверка доказательства показывает, что одна и та же структура доказательства, использующая одни и те же предложения из теории предметной области, может использоваться независимо от того, говорим ли мы о Num5 или о каком-либо другом человеке. Мы можем обобщить доказательство с помощью процесса, который заменяет константы в вершинных узлах дерева доказательств с переменными и работает в восходящем направлении, используя унификацию для ограничения значений переменных, необходимых для получения доказательства.
В этом примере мы заменяем Robot(num5) на Robot(r) и R2D2(num5) на R2D2(s) и повторите доказательство, используя пояснительное доказательство в качестве шаблона. Обратите внимание, что мы используем разные значения для двух разных вхождений num5 в вершинных узлах. Иногда это приводит к более общим, но, тем не менее, допустимым правилам. Теперь мы применяем правила, использованные в доказательстве, в прямом направлении, отслеживая замены, налагаемые наиболее общими унификаторами, используемыми в доказательство. (Обратите внимание, что мы всегда заменяем переменные в правилах терминами, которые уже есть в дереве.) В результате этого процесса получается обобщенное дерево доказательств, показанное на рисунке Рис. 12.3. Обратите внимание, что появление Sees(r, r) в качестве узла в дереве приводит к объединению x с y в правиле домена, Sees(x, y) ; Habile(y) ; fixes(x, y). Затем подстановки применяются к переменным в конечных узлах и корневом узле, чтобы получить общее правило: Robot(r) ; R2D2(r) ; Robust(r).
Это правило является конечным результатом EBL для данного примера. Процесс способ, с помощью которого numm5 в этом примере был обобщен до переменной, - это то, что [DeJong & Mooney, 1986] называют устранением идентичности (точная идентичность Num5  оказалась несущественной). (Процесс обобщения, описанный в этом примере, основан на [DeJong & Mooney, 1986] и отличается от процесса, описанного в [Mitchell и др., 1986]. Это также похоже на то, что используется в [Fikes, et al., 1972].) Очевидно, что при определенных допущениях это общее правило легче использовать для получения достоверной информации о человеке, чем при первоначальном процессе доказательства.
Важно отметить, что мы могли бы вывести общее правило из теории предметной области без использования примера. (В литературе это называется статическим анализом [Etzioni, 1991].) На самом деле, этот пример не сообщил нам ничего нового, кроме того, что он рассказал нам о Num5. Единственная роль примера в данном примере EBL заключалась в том, чтобы предоставить шаблон для доказательства, который поможет в процессе обобщения. Построение процесса обобщения на примерах помогает гарантировать, что мы усвоим правила, соответствующие распределению возникающих проблем.
Существует ряд оговорок и уточнений, касающихся EBL, которые необходимо
упомянуть.
12.4 Оцениваемые предикаты
Теория предметной области включает в себя ряд предикатов, отличных от того, который встречается в формуле, которую мы пытаемся доказать, и отличных от тех, которые обычно могут использоваться для описания индивида. Можно, например, отметить, что если бы мы использовали Habile(num5) для описания Num5, доказательство было бы короче. Почему мы этого не сделали? Ситуация аналогична ситуации с использованием базы данных, дополненной с помощью логических правил. В последнем приложении формулы в фактической базе данных
12.4. ВЫЧИСЛЯЕМЫЕ ПРЕДИКАТЫ 163
Надежный(r)
Исправления(u, u) => Надежный(u)
Исправления(r, r)
Видит(x,y) и умеет(x)
=> Исправляет(x,y)
Видит(r, r)
Робот(w)
=> Видит(w,w)
Робот(r)
Умеет(s)
{s/x}
R2D2(x)
=> Habile Умеет(x)
R2D2(s)
становится R2D2(r) после
применения {r/s}
Рисунок 12.3: Обобщенное дерево доказательств
является “экстенсиональным”, а логические правила - “интенсиональными”. Такое использование отражает тот факт, что предикаты в части базы данных определяются их расширением — мы явно перечисляем все кортежи, определяющие отношение. Логические правила служат для соединения предикатов базы данных с абстракциями более высокого уровня, которые описываются (если не определены) правилами. Обычно мы не можем найти значения истинности формул, содержащих эти интенсиональные предикаты; они должны быть получены с использованием правил и базы данных.
Процесс EBL предполагает нечто подобное. Теория предметной области полезна для сопоставления формул, которые мы, возможно, захотим доказать, с теми, истинностные значения которых можно “посмотреть” или оценить иным образом. В литературе по EBL такие формулы удовлетворяют так называемому критерию функциональности. Возможно, можно провести еще одну аналогию с нейронными сетями. Вычисляемые предикаты соответствуют компонентам входного вектора шаблонов; предикаты в теории предметной области соответствуют скрытым единицам. Нахождение нового правила соответствует нахождению более простого выражения для формулы, которое должно быть доказано только в терминах оцениваемых предикатов.

ГЛАВА 12. ОБУЧЕНИЕ, ОСНОВАННОЕ НА ОБЪЯСНЕНИЯХ 164
12.5 Более общие доказательства
Рассмотрение теории предметной области для нашего примера показывает, что альтернативным правилом могло бы быть: Robot(u) ; C3P O(u) ; Robust(u). Такое правило могло бы привести к результату, если бы нам было дано {C3P O(N um6), Robot(N um6), . . .} и доказано Прочный Robust(Num6). После рассмотрения этих двух примеров (Num5 и Num6) возникает вопрос, хотим ли мы обобщить эти два правила на что-то вроде: Robot(u) ; [C3P O(u) ; R2D2(u)] ; Robust(u)? Это является примером того, что [DeJong & Mooney, 1986] называют структурным обобщением (посредством дизъюнктивного дополнения).
Добавление дизъюнкций для каждого альтернативного доказательства вскоре может стать громоздким и свести на нет все преимущества EBL в эффективности. В нашем примере эффективность могла бы быть восстановлена, если бы существовал другой вычисляемый предикат, скажем, Bionic(u), такой, что теория предметной области также содержала R2D2(x) ; Bionic(x) и C3P O(x) ; Бионический Bionic (x). После просмотра ряда подобных примеров мы, возможно, захотим вывести формулу Bionic(u) ; [C3P O(u) ; R2D2(u)], и в этом случае правило с дизъюнкцией можно заменить на Robot(u) ; Bionic(u) ; Robust(u).
12.6 Полезность  EBL
В области доказательства теорем хорошо известно, что сложность поиска доказательства зависит как от количества формул в теории предметной области, так и от глубины кратчайшего доказательства. Добавление нового правила уменьшает глубину кратчайшего доказательства, но также увеличивает количество формул в теории предметной области. В реальных приложениях добавленные правила будут актуальны для одних задач, а не для других. Таким образом, неясно, будет ли общая полезность новых правил положительной. Методы EBL применялись в нескольких ситуациях, обычно с положительной полезностью. (Анализ см. в [Minton, 1990]).
12.7 Приложения
Было несколько применений методов EBL. Здесь мы упомянем два из них, а именно формирование макрооператоров для автоматической генерации плана и обучения управлению поиском.
12.7.1 Макрооператоры в планировании
В системах автоматического планирования эффективность иногда может быть повышена путем объединения последовательности операторов в макрооператоры. Мы приводим пример процесса создания макрооператоров, основанного на методах, изученных в [Файкс и др., 1972].
Обратившись к рис. 12.4, рассмотрим задачу поиска плана для робота из комнаты R1, который должен принести коробку B1, перейдя в соседнюю комнату R2 и толкнув ее.
12.7. ПРИЛОЖЕНИЯ 165
вернемся к R1. Цель робота находится В КОМНАТЕ (B1, R1), а факты, которые
верны в исходном состоянии, указаны на рисунке.
Начальное состояние:
В ПОМЕЩЕНИИ (РОБОТ, R1)
В ПОМЕЩЕНИИ(B1,R2)
ПОДКЛЮЧАЕТСЯ(D1,R1,R2)
ПОДКЛЮЧАЕТСЯ(D1,R2,R1)
...
Рисунок 12.4: Исходное состояние проблемы с роботом
Мы построим план из набора операторов STRIPS, которые включают:

GOTHRU(d, r1, r2)
Предварительные условия: В КОМНАТЕ (РОБОТ, r1), КОНТАКТЫ (d, r1, r2)
Удалить список: В КОМНАТЕ (РОБОТ, r1)
Добавить список: В КОМНАТЕ (РОБОТ, r2)
НАЖАТИЕ (b, d, r1, r2)
Предварительные условия: В КОМНАТЕ (РОБОТ, r1), ПОДКЛЮЧЕНИЕ (d, r1, r2), В КОМНАТЕ (b, r1)
Список удаленных: В КОМНАТЕ (ROBOT, r1), В КОМНАТЕ (b, r1)
Добавить список: В КОМНАТЕ (ROBOT, r2), В КОМНАТЕ (b, r2)
Система STRIPS с обратным рассуждением могла бы создать план, показанный на рисунке Рис. 12.5. Здесь мы показываем основную цель и подцели на пути решения. (Показаны условия в каждой подцели, которые выполняются в начальном состоянии подчеркнуто.) Предварительные условия для этого плана, верные в исходном состоянии, следующие:
INROOM (ROBOT,R1)
В КОМНАТЕ (РОБОТ, R1)
ГЛАВА 12. ОБУЧЕНИЕ НА ОСНОВЕ ОБЪЯСНЕНИЙ 166
ПОСЛЕДОВАТЕЛЬНОСТЬ действий (D1, R1, R2)
СОЕДИНЕНИЕ S(D1, R2, R1)
В КОМНАТЕ (B1, R2)
Сохранение этого конкретного плана, действительного только для конкретных констант, которые в нем указаны, было бы не так полезно, как сохранение более общего плана. Сначала мы обобщим эти предварительные условия, заменив константы переменными. Затем мы следуем структуре конкретного плана, чтобы создать обобщенный план, показанный на рис. 12.6 который выполняется В ПОМЕЩЕНИИ (b1, r4). Обратите внимание, что для выполнения обобщенного плана не требуется возвращать коробку на то место, с которого робот начал работу. Предварительными условиями для обобщенного плана являются:

В ПОМЕЩЕНИИ (РОБОТ, r1)
ПОСЛЕДОВАТЕЛЬНОСТЬ действий(d1, r1, r2)
ПОСЛЕДОВАТЕЛЬНОСТЬ действий(d2, r2, r4)
В КОМНАТЕ (b, r4)
В КОМНАТЕ (B1,R1)
НАЖИМАЕМ(B1,d,r1,R1)
В КОМНАТЕ (РОБОТ, r1),
ПОДКЛЮЧАЕТСЯ(d, r1, R1 R1),
В ПОМЕЩЕНИИ(B1, r1)
В ПОМЕЩЕНИИ(РОБОТ, R2),
ПОДКЛЮЧАЕТСЯ(D1, R2, R1),
{R2/r1, В ПОМЕЩЕНИИ(B1, R2)
GOTHRU(d2, r3, R2)
В ПОМЕЩЕНИИ(РОБОТ, r3),
ПОДКЛЮЧАЕТСЯ(d2, r3, R2),
ПОДКЛЮЧАЕТСЯ(D1, R2, R1),
В ПОМЕЩЕНИИ(B1, R2)
план:
ДВИЖЕНИЕ ВПЕРЕД(D1,R1,R2)
ДВИЖЕНИЕ ВПЕРЕД(B1,D1,R2,R1)
В ПОМЕЩЕНИИ (РОБОТ, R1),
ПОДКЛЮЧАЕТСЯ(D1, R1, R2),
ПОДКЛЮЧАЕТСЯ(D1, R2, R1),
ПОДКЛЮЧАЕТСЯ В ПОМЕЩЕНИИ(B1, R2)
Рисунок 12.5: План решения задачи о роботе
Еще один связанный метод, который связывает последовательности операторов для к более общим относится механизм разделения \чанкинг\ на фрагменты в Soar [Laird и др., 1986].
12.7. ПРИЛОЖЕНИЯ 167
ВНУТРЕННЯЯ КОМНАТА(b1,r4)
НАЖИМАЕМ(b1,d2,r2,r4)
В ПОМЕЩЕНИИ (РОБОТ, r2),
ПОДКЛЮЧАЕМСЯ(d1, r1, r2),
ПОДКЛЮЧАЕМСЯ(d2, r2, r4),
В ПОМЕЩЕНИИ(b1, r4)
GOTHRU(d1, r1, r2)
В ПОМЕЩЕНИИ(РОБОТ, r1),
ПОДКЛЮЧАЕТСЯ(d1, r1, r2),
ПОДКЛЮЧАЕТСЯ(d2, r2, r4),
В ПОМЕЩЕНИИ(b1, r4)
Рисунок 12.6: Обобщенный план
12.7.2 Обучение поиску и управлению знаниями
Помимо использования при создании макрооператоров, методы EBL могут быть использованы и для повышения эффективности планирования другим способом. В своей системе под названием Компания PRODIGY, Минтон, предложила использовать EBL для изучения эффективных способов управления поиском [Minton, 1988]. PRODIGY - это система в виде полос, которая решает проблемы планирования в мире блоков, в мире простых мобильных роботов и в планировании рабочих мест. У PRODIGY есть теория предметной области, охватывающая как саму проблему, так и простую (мета) теорию планирования. Его метатеория включает утверждения о том, является ли решение органа управления о подцели, над которой следует работать, об операторе, который следует применить, успешные или неудачные. После разработки плана он анализирует его успешные и неудачные варианты \выборы\ и попытки объяснить их с точки зрения теории предметной области. Используя процесс, подобный EBL, он способен создавать полезные управляющие правила, такие как:
ГЛАВА 12. ОБУЧЕНИЕ НА ОСНОВЕ ОБЪЯСНЕНИЙ 168
ЕСЛИ (И (ТЕКУЩИЙ УЗЕЛ узла)
(Узел;КАНДИДАТ НА ДОСТИЖЕНИЕ ЦЕЛИ (НА ОСИ xy))
(Узел ;КАНДИДАТ НА ДОСТИЖЕНИЕ ЦЕЛИ (НА ОСИ yz)))
ЗАТЕМ (ПРЕДПОЧТИТЕ ЦЕЛЬ (НА ОСИ yz) ЦЕЛИ (НА ОСИ xy))
PRODIGY ведет статистику о том, как часто используются эти обученные правила, об их экономии (чтобы вовремя найти планы) и стоимости их применения. Он сохраняет только те правила, полезность которых, измеренная таким образом, оценивается как высокая. Минтон [Minton, 1990] показал, что использование этих правил имеет общее преимущество (по сравнению с отсутствием каких-либо правил и по сравнению с правилами управления поиском, закодированными вручную).
12.8 Библиографические и исторические примечания
Будет добавлено позднее.
Библиография
[Acorn & Walden, 1992] Акорн Т. и Уолден С., “SMART:
технология автоматизированного анализа управления для обслуживания клиентов COMPAQ”, Сборник статей
 Четвертая ежегодная конференция посвященная инновационным применениям искусственных
Intelligence, Менло-Парк, Калифорния: AAAI Press, 1992.
[Aha, 1991] Ага Д., Киблер Д. и Альберт М., “Обучение на основе примеров".
Алгоритмы”, Машинное обучение, 6, 37-66, 1991.
[Андерсон и Бауэр, 1973] Андерсон Дж. Р. и Бауэр Г. Х., Ассоциативная
память человека, Хиллсдейл, Нью-Джерси: Эрлбаум, 1973.
[Андерсон, 1958] Андерсон, Т. У. Введение в многомерную статистику
Анализ, Нью-Йорк: Джон Уайли, 1958.
[Барто, Брадтке и Сингх, 1994] Барто А., Брадтке С. и Сингх С. “Учимся
действовать, используя динамическое программирование в реальном времени”, выйдет в 1994 году в журнале Artificial
Intelligence.
[Баум и Хаусслер, 1989] Баум Э. и Хаусслер Д., “Сеть какого размера дает
Достоверное обобщение?” Нейронные вычисления, 1, стр. 151-160, 1989.
[Баум, 1994] Баум Э., “Когда k-Ближайший сосед и обратное распространение
Точны для наборов примеров допустимого размера?” в книге Хэнсона С., Драстала
Г. и Ривеста Р. (ред.), "Теория вычислительного обучения и естественные
Обучающие системы, Том 1: Ограничения и перспективы, стр. 415-442,
Кембридж, Массачусетс: издательство Массачусетского технологического института, 1994.
[Беллман, 1957] Беллман Р. Э., Динамическое программирование, Принстон: Princeton
Издательство университета, 1957.
[Блумер и др., 1987] Блумер А. и др., “Бритва Оккама”, Информация. Процесс. Литература,
том 24, стр. 377-80, 1987.
[Блумер и др., 1990] Блумер А. и др., “Способность к обучению и учебник-
Измерение Червоненкиса”, JACM, 1990.
[Боллинджер и Даффи, 1988] Боллинджер Дж. и Даффи Н., Компьютерное управление
машинами и процессами, Рединг, Массачусетс: Эддисон-Уэсли, 1988.
169170
библиография
[Брэйн и др., 1962] Брэйн А. Э. и др., “Исследование в области обработки графических данных"
Исследование и экспериментальные исследования, отчет № 8 (стр. 9-13) и № 100.
9 (стр. 3-10), Контракт DA 36-039 SC-78343, SRI International, Менло
Парк, Калифорния, июнь 1962 и сентябрь 1962.
[Брейман и др., 1984] Брейман Л., Фридман Дж., Олшен Р. и Стоун С.,
Деревья классификации и регрессии, Монтерей, Калифорния: Уодсворт, 1984.
[Брент, 1990] Брент Р. П., “Алгоритмы быстрого обучения многослойных нейронных сетей".
Nets”, Рукопись проекта по численному анализу NA-90-03,
факультет компьютерных наук Стэнфордского университета, Стэнфорд, Калифорния 94305, март 1990 года.
[Брайсон и Хо, 1969] Брайсон А. и Хо Ю.-К., Прикладное оптимальное управление, Нью-Йорк
Йорк: Блейсделл.
[Buchanan & Wilkins, 1993] Бьюкенен Б. и Уилкинс Д., (ред.), "Чтения по
приобретению знаний и обучению", Сан-Франциско: Morgan Kaufmann,
1993.
[Карбонелл, 1983] Карбонелл Дж., “Обучение по аналогии”, машинное обучение:
Подход к искусственному интеллекту, Михальски Р., Карбонелл Дж. и
Митчелл Т., (ред.), Сан-Франциско: Морган Кауфманн, 1983.
[Чизман и др., 1988] Чизман П. и др., “Автокласс: байесовская
система классификации”, Сборник статей. Пятый международный раздел. Семинар по машинному обучению,
Морган Кауфманн, Сан-Матео, Калифорния, 1988 г. Перепечатано в изданиях Шавлик Дж. и
Диттерих Т. "Чтения по машинному обучению", Морган Кауфманн, Сан-Франциско.
Франциско, стр. 296-306, 1990.
[Кавер и Харт, 1967] Кавер Т. и Харт П., “Классификация моделей ближайшего соседа
”, IEEE Trans. по теории информации, 13, 21-27, 1967.
[Обложка, 1965] Обложка, Т., “Геометрические и статистические свойства систем
линейных неравенств с приложениями в распознавании образов”, IEEE
Транс. Электорат. Сост., EC-14, 326-334, июнь 1965 г.
[Дасарати, 1991] Дасарати Б. В., Классификация паттернов ближайшего соседа.
Методы, издательство IEEE Computer Society Press, 1991.
[Даян и Сейновски, 1994] Даян П. и Сейновски Т., “Td(;) сходится
с вероятностью 1”, Машинное обучение, 14, стр. 295-301, 1994.
[Даян, 1992] Даян П., “Сходимость TD (;) для общего ;”, Машинное
Обучение, 8, 341-362, 1992.
[Деджонг и Муни, 1986] Деджонг Г. и Муни Р., “Обучение, основанное на объяснениях"
Обучение: альтернативный взгляд, ”Машинное обучение", 1: 145-176, 1986.
Перепечатано в изданиях Шавлика Дж. и Диттериха Т., "Чтения по машинному
обучению", Сан-Франциско: Morgan Kaufmann, 1990, стр. 452-467.БИБЛИОГРАФИЯ
171
[Диттерих и Бакири, 1991] Диттерих Т. Г. и Бакири Г., “Исправление ошибок
Выходные коды: Общий метод совершенствования многоклассовых программ индуктивного
обучения”, Proc. Девятый Нат. Конференция. посвященная искусственному интеллекту, стр. 572-577,
AAAI-91, издательство Массачусетского технологического института, 1991.
[Диттерих и др., 1990] Диттерих Т., Хилд Х. и Бакири Г., “Сравнительное
исследование ID3 и обратного распространения для преобразования английского текста в речь
”, Proc. Седьмой международный Конф. Мах. Обучение, Портер Б. и Муни
Р. (ред.), стр. 24-31, Сан-Франциско: Morgan Kaufmann, 1990.
[Диттерих, 1990] Диттерих Т., “Машинное обучение”, Ежегодный сборник вычислений.
Sci., 4: 255-306, Palo Alto: Annual Reviews Inc., 1990.
[Дуда и Фоссум, 1966] Дуда Р. О. и Фоссум Х., “Классификация паттернов
с помощью итеративно определяемых линейных и кусочно-линейных дискриминантов
Функции”, IEEE Trans. по выбору. Компьютеры, том. EC-15, стр. 220-232,
апрель 1966.
[Дуда и Харт, 1973] Дуда Р. О. и Харт П.Э., Классификация паттернов и
Анализ сцены, Нью-Йорк: Уайли, 1973.
[Дуда, 1966] Дуда Р. О., “Обучение линейной машины на шаблонах с неправильной маркировкой”,
SRI Tech. Отчет подготовлен для ONR по контракту 3438(00),
Международный нии, Менло-Парк, Калифорния, апрель 1966 года.
[Эфрон, 1982] Эфрон Б., "Складной нож", "Bootstrap" и другие методы повторной выборки
Plans, Филадельфия: SIAM, 1982.
[Эренфойхт и др., 1988] Эренфойхт А. И др., “Общая нижняя граница для
количество примеров, необходимых для обучения”, в сборнике материалов семинара
по теории компьютерного обучения за 1988 год, стр. 110-120, Сан-Франциско: Morgan
Кауфман, 1988.
[Эциони, 1991] Эциони О., “STATIC: Компилятор проблемного пространства для
PRODIGY”, Сборник трудов Девятой национальной конференции. об искусственном интеллекте,
стр. 533-540, Менло Парк: AAAI Press, 1991.
[Эциони, 1993] Эциони О., “Структурная теория обучения, основанного на объяснении
”, Искусственный интеллект, 60: 1, стр. 93-139, март 1993 г.
[Эванс и Фишер, 1992] Эванс Б. и Фишер Д. Анализ задержки процесса с использованием
Построение дерева решений, технология. Отчет CS92-06, факультет
компьютерных наук, Университет Вандербильта, Теннесси, 1992.
[Фалман и Лебьер, 1990] Фалман С. и Лебьер К., “Каскад-
Архитектура корреляционного обучения” в Турецком, Д., (ред.), Достижения в области
Нейронные системы обработки информации, 2, стр. 524-532, Сан-Франциско:
Морган Кауфманн, 1990.172
библиография
[Файяд и др., 1993] Файяд У. М., Вейр Н. и Джорговски С., “SKICAT:
Система машинного обучения для автоматизированной каталогизации крупномасштабных
Обзоры неба”, в сборнике Proc. Десятая международная Конференция по машинному обучению, стр. 112-
119, Сан-Франциско: Морган Кауфман, 1993. (Более подробную версию
этой статьи смотрите в: Файяд, У. Джорговски, Г., и Вейр, Н., “Автоматизация
анализа и каталогизации обзоров неба”, в Файяд, У. и др. (ред.),
Достижения в области обнаружения знаний и интеллектуального анализа данных, глава 19, стр.
471ff., Cambridge: The MIT Press, март 1996 г.)
[Фейгенбаум, 1961] Фейгенбаум Э. А., “Моделирование вербального обучения может быть-



библиография
[Файяд и др., 1993] Файяд У. М., Вейр Н. и Джорговски С., “SKICAT:
Система машинного обучения для автоматизированной каталогизации крупномасштабных
Обзоры неба”, в сборнике Proc. Десятый Международный аэропорт. Конференция по машинному обучению, стр. 112-
119, Сан-Франциско: Morgan Kaufmann, 1993. (Более подробную версию
этой статьи смотрите в: Файяд, У. Джорговски, Г., и Вейр, Н., “Автоматизация
анализа и каталогизации обзоров неба”, в Файяд, У. и др. (ред.),
Достижения в области обнаружения знаний и интеллектуального анализа данных, глава 19, стр.
471ff., Кембридж: Издательство Массачусетского технологического института, март 1996 г.)
[Фейгенбаум, 1961] Фейгенбаум Э. А., “Моделирование
поведения при вербальном обучении”, материалы Западной объединенной компьютерной конференции, 19:121-
132, 1961.
[Файкс и др., 1972] Файкс Р., Харт П. и Нильссон Н., “Обучение и
выполнение обобщенных планов роботов”, Искусственный интеллект, стр. 251-288, 1972.
Перепечатано в изданиях Shavlik, J. и Dietterich, T., Readings in Machine Learning
, Сан-Франциско: Morgan Kaufmann, 1990, стр. 468-486.
[Фишер, 1987] Фишер Д., “Приобретение знаний посредством постепенного концептуального
Кластеризация”, Машинное обучение, 2: 139-172, 1987. Перепечатано в журнале "Шавлик",
Дж. и Диттерих, Т., "Чтения по машинному обучению", Сан-Франциско:
Морган Кауфман, 1990, стр. 267-283.
[Фридман и др., 1977] Фридман Дж. Х., Бентли Дж. Л. и Финкель Р. А., “Исследование
Алгоритм поиска наилучших совпадений за логарифмическое ожидаемое время,”
ACM пер. с англ. по математике. Программное обеспечение, 3 (3): 209-226, сентябрь 1977 г.
[Фу, 1994] Фу Л., Нейронные сети в искусственном интеллекте, Нью-Йорк:
Макгроу-Хилл, 1994.
[Галлант, 1986] Галлант, С. И., “Оптимальные линейные дискриминанты”, на Восьмой
международной конференции по распознаванию образов, стр. 849-852, Нью-Йорк: IEEE,
1986.
[Генесерет и Нильссон, 1987] Генесерет М. и Нильссон Н., Логические
основы искусственного интеллекта, Сан-Франциско: Morgan Kaufmann, 1987.
[Глюк и Румельхарт, 1989] Глюк М. и Румельхарт Д., Неврология и
Теория коннекционизма, Развитие теории коннекционизма, Хиллс-
Дейл, Нью-Джерси: Erlbaum Associates, 1989.
[Хаммерстром, 1993] Хаммерстром Д., “Нейронные сети в действии”, IEEE
Spectrum, стр. 26-32, июнь 1993 г.
[Хаусслер, 1988] Хаусслер Д., “Количественная оценка индуктивного смещения: алгоритмы обучения ИИ
и система обучения Valiant”, Искусственный интеллект.,
36:177-221, 1988. Перепечатано в изданиях Шавлика Дж. и Диттериха Т. "Чтения в
Машинное обучение, Сан-Франциско: Morgan Kaufmann, 1990, стр. 96-107.БИБЛИОГРАФИЯ
173
[Хаусслер, 1990] Хаусслер Д., “Вероятно, приблизительно правильное обучение”,
Тез.Докл. Восьмой Нац. Конф. на AI, С. 1101-1108. Кембридж, Массачусетс: МИТ
Пресс, 1990.
[Хебб, 1949] Хебб, Д. О., "Организация поведения", Нью-Йорк: Джон
Уайли, 1949.
[Герц, Крог и Палмер, 1991] Герц Дж., Крог А. и Палмер Р., Введение
в теорию нейронных вычислений, Конспекты лекций, том 1, Санта-Клаус.
Ин-т философии. Исследования в области сложных наук, Нью-Йорк: Эддисон-
Уэсли, 1991.
[Хирш, 1994] Хирш Х., “Обобщение пространств версий”, Машинное обучение, 17,
5-45, 1994.
[Холланд, 1975] Холланд Дж., Адаптация в естественных и искусственных системах, Энн
Издательство Arbor: The University of Michigan Press, 1975. (Второе издание
вышло в 1992 году в издательстве MIT Press, Кембридж, Массачусетс.)
[Холланд, 1986] Холланд Дж. Х., “Как избежать нестабильности: возможности
алгоритмов обучения общего назначения, применяемых к параллельным системам, основанным на правилах
”. В работе Михальски Р., Карбонелла Дж. и Митчелла Т. (ред.), Массачусетс-
китайское обучение: подход к искусственному интеллекту, Том 2, глава
20, Сан-Франциско: Morgan Kaufmann, 1986.
[Хант, Марин и Стоун, 1966] Хант Э., Марин Дж. и Стоун П., Эксперименты
по индукции, Нью-Йорк: Academic Press, 1966.
[Джаббур К. и др., 1987] Джаббур К. и др., “ALFA: автоматизированный
помощник по предустановке нагрузки”, издание инженерного общества IEEE Pwer.
Конференция, Сан-Франциско, Калифорния, 1987.
[Джон, 1995] Джон Г., “Надежные линейные дискриминантные деревья”, материалы конференции.
об искусственном интеллекте и статистике, Форт-Лодердейл, Флорида, январь
1995 года.
[Келблинг, 1993] Келблинг Л. П., Обучение во встроенных системах, Кембридж,
Массачусетс: Издательство Массачусетского технологического института, 1993.
[Кохави, 1994] Кохави Р., “Восходящая индукция забывчивых
графиков однократного принятия решений”, материалы Европейской конференции по машинному обучению
(ECML-94), 1994.
[Колоднер, 1993] Колоднер Дж., Рассуждения, основанные на конкретных примерах, Сан-Франциско: Morgan
Кауфман, 1993.
[Коза, 1992] Коза Дж., Генетическое программирование: о
программировании компьютеров посредством естественного отбора, Кембридж, Массачусетс: Издательство Массачусетского технологического института, 1992.
[Коза, 1994] Коза Дж., Генетическое программирование II: Автоматическое обнаружение
Программы многократного использования, Кембридж, Массачусетс: Издательство Массачусетского технологического института, 1994.174
библиография
[Лэрд и др., 1986] Лэрд Дж., Розенблум П. и Ньюэлл А., “Разбивка на фрагменты в
Soar: Анатомия общего механизма обучения”
, Машинное обучение, 1, стр. 11-46, 1986. Перепечатано в изданиях Бьюкенена Б. и Уилкинса Д.
(ред.), "Чтения по приобретению знаний и обучению", стр. 518-535,
Морган Кауфманн, Сан-Франциско, Калифорния, 1993.
[Лэнгли, 1992] Лэнгли П., “Области применения машинного обучения”, Сборник трудов
Пятого международного семинара Симпозиум по инженерии знаний, Севилья, 1992.
[Лэнгли, 1996] Лэнгли П., Элементы машинного обучения, Сан-Франциско:
Морган Кауфманн, 1996.
[Лаврач и Джероски, 1994] Лаврач Н. и Джероски С., Индуктивное логическое
программирование, Чичестер, Англия: Эллис Хорвуд, 1994.
[Лин, 1992] Лин Л., “Самосовершенствующиеся реактивные агенты, основанные на подкреплении"
Обучение, планирование и преподавание, ”Машинное обучение", 8, 293-321, 1992.
[Лин, 1993] Лин Л., “Расширение масштабов обучения с подкреплением для управления роботами”,
Прок. Десятый Международный аэропорт. Конференция по машинному обучению, стр. 182-189, Сан-Франциско:
Морган Кауфман, 1993 год.
[Литтлстоун, 1988] Литтлстоун Н., “Быстрое обучение при
большом количестве нерелевантных факторов: новый алгоритм с линейным порогом”
, Машинное обучение, 2: 285-318, 1988.
[Маасс и Туран, 1994] Маасс У. и Туран Г., “Как быстро могут обучаться
врата нового поколения?”, в книге Хэнсона С., Драстала Г. и Ривеста Р. (ред.),
Теория вычислительного обучения и естественные обучающие системы, Том
1: Ограничения и перспективы, стр. 381-414, Кембридж, Массачусетс: издательство Массачусетского технологического института,
1994.
[Махадеван и Коннелл, 1992] Махадеван С. и Коннелл Дж., “Автоматическая
Программирование роботов, основанных на поведении, с использованием обучения с подкреплением-
ing”, Искусственный интеллект, 55, стр. 311-365, 1992.
[Маршан и Голеа, 1993] Маршан М. и Голеа М., “Об изучении
простых нейронных концепций: от полупространственных пересечений к нейронному принятию решений
Списки”, Сеть, 4: 67-85, 1993.
[McCulloch & Pitts, 1943] Маккаллох У. С. и Питтс У. Х., “Логический
расчет идей, присущих нервной деятельности”
, Бюллетень математической биофизики, том 5, стр. 115-133, Чикаго: Чикагский университет
Издательство, 1943.
[Мичи, 1992] Мичи Д., “Некоторые направления в машинном интеллекте”, неопубликованный-
опубликованная рукопись, Институт Тьюринга, Глазго, Шотландия, 1992 г.
[Минтон, 1988] Минтон С., "Изучение поиска и контроля знаний":

Подход, основанный на объяснении, издательство Kluwer Academic Publishers, Бостон.,
МАГИСТР, 1988.БИБЛИОГРАФИЯ
175
[Минтон, 1990] Минтон С., “Количественные результаты, касающиеся полезности
обучения, основанного на объяснениях”, Искусственный интеллект, 42, с. 363-392,
1990. Перепечатано в изданиях Шавлик Дж. и Диттерих Т. "Чтения по машинному обучению"
Сан-Франциско: Morgan Kaufmann, 1990, стр. 573-587.
[Mitchell и др., 1986] Митчелл Т. и др., “Обобщение, основанное на объяснении:
Объединяющий взгляд”, Машинное обучение, 1:1, 1986. Перепечатано в изданиях
Шавлика Дж. и Диттериха Т., "Чтения по машинному обучению", Сан-Франциско.:
Морган Кауфман, 1990, с. 435-451.
[Митчелл, 1982] Митчелл Т., “Обобщение как поиск”, Искусственный интеллект.,
18:203-226, 1982. Перепечатано в изданиях Шавлика Дж. и Диттериха Т. "Чтения в
Машинное обучение, Сан-Франциско: Morgan Kaufmann, 1990, стр. 96-107.
[Moore & Atkeson, 1993] Мур А. и Аткесон С., “Приоритетное подметание:
Обучение с подкреплением при меньшем объеме данных и времени”
, Машинное обучение, 13, стр. 103-130, 1993.
[Moore и др., 1994] Мур А. В., Хилл Д. Дж. и Джонсон М. П., “
Эмпирическое исследование грубой силы для выбора функций, сглаживания и
Аппроксиматоры функций” в книге Хэнсона С., Джадда С. и Петше Т.
(ред.), Теория вычислительного обучения и системы естественного обучения,
том 3, Кембридж: издательство Массачусетского технологического института, 1994.
[Moore, 1990] Мур А., Эффективное обучение на основе памяти для управления роботами,
доктор философии. Диссертация; Технический отчет № 209, Компьютерная лаборатория Кембриджского
университета, октябрь 1990 года.
[Moore, 1992] Мур А., “Быстрое и надежное адаптивное управление только за счет обучения
Перспективные модели”, в книге Муди Дж., Хэнсона С. и Липпмана Р. (ред.),
"Достижения в области нейронных систем обработки информации", Сан-Франциско, 4:
Морган Кауфман, 1992.
[Мюллер и Пейдж, 1988] Мюллер Р. и Пейдж Р., Символьные вычисления с помощью
Lisp и Prolog, Нью-Йорк: John Wiley & Sons, 1988.
[Магглтон, 1991] Магглтон С., “Индуктивное логическое программирование”
, Новое поколение вычислений, 8, с. 295-318, 1991.
[Магглтон, 1992] Магглтон С., Индуктивное логическое программирование, Лондон: Academic
Press, 1992.
[Мурога, 1971] Мурога С., Пороговая логика и ее приложения, Нью-Йорк:
Уайли, 1971.
[Натарджан, 1991] Натарджан Б., Машинное обучение: теоретический подход,
Сан-Франциско: Морган Кауфманн, 1991.176
библиография
[Нильссон, 1965] Нильссон, Н. Й., “Теоретические и экспериментальные исследования в
Обучаемых системах классификации образов”, Технический журнал. Отчет №. RADC-TR-
65-257, Окончательный отчет по контракту AF30(602)-3448, Римский
центр развития авиации (ныне Римские лаборатории), база ВВС Гриффисс, Нью-Йорк
Сентябрь 1965 года.
[Нильссон, 1990] Нильссон, Н. Дж., "Математические основы обучающих машин
", Сан-Франциско: Морган Кауфман, 1990. (Эта книга является переизданием
об обучающихся машинах: Основы обучаемой классификации образов
Системы, Нью-Йорк: Макгроу-Хилл, 1965.)
[Оливер, Доу и Уоллес, 1992] Оливер Дж., Доу Д. и Уоллес С., “
Построение графов принятия решений с использованием принципа минимальной длины сообщения”,
Proc. 1992 Австралийская конференция по искусственному интеллекту, 1992.
[Пагалло и Хаусслер, 1990] Пагалло Г. и Хаусслер Д., “Логическая характеристика".-


[Минтон, 1990] Минтон С., “Количественные результаты, касающиеся полезности
обучения, основанного на объяснениях”, Искусственный интеллект, 42, с. 363-392,
1990. Перепечатано в изданиях Шавлик Дж. и Диттерих Т. "Чтения по машинному обучению"
Сан-Франциско: Morgan Kaufmann, 1990, стр. 573-587.
[Митчелл и др., 1986] Митчелл Т. и др., “Обобщение, основанное на объяснении":
Объединяющий взгляд, ”Машинное обучение", 1:1, 1986. Перепечатано в изданиях
Шавлика Дж. и Диттериха Т., "Чтения по машинному обучению", Сан-Франциско:
Морган Кауфман, 1990, стр. 435-451.
[Митчелл, 1982] Митчелл Т., “Обобщение как поиск”, Искусственный интеллект,
18:203-226, 1982. Перепечатано в изданиях Шавлика Дж. и Диттериха Т. "Чтения в
Машинное обучение, Сан-Франциско: Morgan Kaufmann, 1990, стр. 96-107.
[Мур и Аткесон, 1993] Мур А. и Аткесон С., “Приоритетное развертывание".:
Обучение с подкреплением при меньшем объеме данных и времени”
, Машинное обучение, 13, стр. 103-130, 1993.
[Moore и др., 1994] Мур А. В., Хилл Д. Дж. и Джонсон М. П., “
Эмпирическое исследование грубой силы для выбора функций, сглаживания и
Аппроксиматоры функций” в книге Хэнсона С., Джадда С. и Петше Т.
(ред.), Теория вычислительного обучения и естественные обучающие системы,
том 3, Кембридж: издательство Массачусетского технологического института, 1994.
[Moore, 1990] Мур А., Эффективное обучение на основе памяти для управления роботами,
доктор философии. Диссертация; Технический отчет № 209, Компьютерная лаборатория Кембриджского
университета, октябрь 1990 года.
[Moore, 1992] Мур А., “Быстрое и надежное адаптивное управление только за счет обучения
Перспективные модели”, в книге Муди Дж., Хэнсона С. и Липпмана Р. (ред.),
"Достижения в области нейронных систем обработки информации", Сан-Франциско, 4:
Морган Кауфман, 1992.
[Мюллер и Пейдж, 1988] Мюллер Р. и Пейдж Р., Символьные вычисления с помощью
Lisp и Prolog, Нью-Йорк: John Wiley & Sons, 1988.
[Магглтон, 1991] Магглтон С., “Индуктивное логическое программирование”
, Новое поколение вычислений, 8, с. 295-318, 1991.
[Магглтон, 1992] Магглтон С., Индуктивное логическое программирование, Лондон: Academic
Press, 1992.
[Мурога, 1971] Мурога С., Пороговая логика и ее приложения, Нью-Йорк:
Уайли, 1971.
[Натарджан, 1991] Натараджан Б., Машинное обучение: теоретический подход.,
Сан-Франциско: Морган Кауфманн, 1991.176
библиография
[Нильссон, 1965] Нильссон, Н. Й., “Теоретические и экспериментальные исследования в
Обучаемых системах классификации образов”, Технический журнал. Отчет №. RADC-TR-
65-257, Окончательный отчет по контракту AF30(602)-3448, Римский
центр развития авиации (ныне Римские лаборатории), база ВВС Гриффисс, Нью-Йорк
Сентябрь 1965 года.
[Нильссон, 1990] Нильссон, Н. Дж., Математические основы обучающих машин
, Сан-Франциско: Morgan Kaufmann, 1990. (Эта книга является переизданием
книги "Обучающиеся машины: основы обучаемой классификации образов"
Systems, Нью-Йорк: McGraw-Hill, 1965.)
[Оливер, Доу и Уоллес, 1992] Оливер Дж., Доу Д. и Уоллес С., “
Построение графов принятия решений с использованием принципа минимальной длины сообщения”,
Материалы Австралийской конференции по искусственному интеллекту 1992 года, 1992.
[Пагалло и Хаусслер, 1990] Пагалло Г. и Хаусслер Д., “Обнаружение логических функций
в эмпирическом обучении”, Машинное обучение, том 5, № 1, стр. 71-99,
март 1990 г.
[Паццани и Киблер, 1992] Паццани М. и Киблер Д., “Полезность
знаний в индуктивном обучении”, Машинное обучение, 9, с. 57-94, 1992.
[Петерсон, 1961] Петерсон У., Коды для исправления ошибок, Нью-Йорк: Джон Уайли,
1961.
[Померло, 1991] Померло Д., “Быстро адаптирующиеся искусственные нейронные сети
для автономной навигации”, в работе Липпманна П. и др. (ред.)
, "Достижения в системах нейронной обработки информации", 3, с. 429-435, Сан-Франциско
Франциско: Морган Кауфманн, 1991.
[Померло, 1993] Померло, Д., Восприятие нейронной сети для мобильных роботов
Руководство, Бостон: Kluwer Academic Publishers, 1993.
[Квинлан и Ривест, 1989] Квинлан, Дж. Росс и Ривест, Рон, “
Вывод деревьев решений с использованием принципа минимальной длины описания”, "
Информация и вычисления", 80: 227-248, март, 1989.
[Квинлан, 1986] Квинлан, Дж. Росс, “Индукция деревьев принятия решений”, машина
Обучение, 1: 81-106, 1986. Перепечатано в Шавлике Дж. и Диттерихе Т.,
"Чтения по машинному обучению", Сан-Франциско: Morgan Kaufmann, 1990,
стр. 57-69.
[Куинлан, 1987] Куинлан Дж. Р., “Создание производственных правил на основе принятия решений
Деревья” в IJCAI-87: Материалы Десятой международной конференции. Совместная конференция. об искусственном
интеллекте, стр. 304-7, Сан-Франциско: Morgan-Kaufmann, 1987.
[Куинлан, 1990] Куинлан Дж. Р., “Изучение логических определений на основе отношений”,
Машинное обучение, 5, 239-266, 1990.БИБЛИОГРАФИЯ
177
[Квинлан, 1993] Квинлан, Дж. Росс, C4.5: Программы для машинного обучения, Сан-Франциско
Франциско: Морган Кауфманн, 1993.
[Куинлан, 1994] Куинлан Дж. Р., “Сравнение методов коннекционистского и символического
обучения”, в книге Хэнсона С., Драстала Г. и Ривеста Р., (ред.),
"Теория вычислительного обучения и естественные системы обучения", том 1:
Ограничения и перспективы, с. 445-456,, Кембридж, Массачусетс: издательство Массачусетского технологического института,
1994.
[Риджуэй, 1962] Риджуэй У. С. Адаптивная логическая система с обобщающими
Свойства, докторская диссертация, технический номер 1556-1, Стэнфордская лаборатория электроники,
Стэнфорд, Калифорния, апрель 1962 года.
[Риссанен, 1978] Риссанен Дж., “Моделирование с помощью кратчайшего описания данных”
, Automatica, 14: 465-471, 1978.
[Ривест, 1987] Ривест Р. Л., “Списки решений для обучения”, Машинное обучение, 2,
229-246, 1987.
[Розенблатт, 1958] Розенблатт Ф., "Принципы нейродинамики", Вашингтон:
"Спартанские книги", 1961.
[Росс, 1983] Росс С., "Введение в стохастическое динамическое программирование", Нью-Йорк.
Йорк: Academic Press, 1983.
[Румельхарт, Хинтон и Уильямс, 1986] Румельхарт Д. Э., Хинтон Г. Э. и
Уильямс, Р. Дж., “Изучение внутренних представлений с помощью описания ошибок-
гейтация”, Под ред. Румельхарта Д. Э. и Макклелланда Дж. Л. Параллель
Распределенная обработка, Том 1, 318-362, 1986.
[Russell & Norvig, 1995] Рассел С. и Норвиг П., Искусственный интеллект: A
Современный подход, Энглвуд-Клиффс, Нью-Джерси: Прентис-Холл, 1995.
[Сэмюэл, 1959] Сэмюэл А., “Некоторые исследования в области машинного обучения с использованием игры
в шашки”, IBM Journal of Research and Development, 3: 211-229, июль
1959.
[Шварц, 1993] Шварц А., “Метод обучения с подкреплением для максимального
увеличения недисконтированных вознаграждений”, Сборник статей. Десятая международная Конференция по машинному обучению.
Обучение, стр. 298-305, Сан-Франциско: Morgan Kaufmann, 1993.
[Сейновски, Кох и Черчленд, 1988] Сейновски Т., Кох С. и
Черчленд П., “Вычислительная нейронаука”, Science, 241: 1299-1306, 1988.
[Шавлик, Муни и Тоуэлл, 1991] Шавлик Дж., Муни Р. и Тоуэлл Г.,
“Алгоритмы символьного и нейронного обучения: экспериментальное
сравнение”, Машинное обучение, 6, с. 111-143, 1991.
[Шавлик и Диттерих, 1990] Шавлик Дж. и Диттерих Т., "Чтения по
машинному обучению", Сан-Франциско: Морган Кауфманн, 1990.178
библиография
[Саттон и Барто, 1987] Саттон Р. С. и Барто А. Г., “Временная-
Разностная модель классического обусловливания”, в трудах Девятого
Ежегодная конференция Общества когнитивных наук, Хиллсдейл, Нью-Джерси: Эрл-
Баум, 1987.
[Саттон, 1988] Саттон Р. С., “Учимся предсказывать с помощью методов временной
Различия”, Машинное обучение, 3: 9-44, 1988.
[Саттон, 1990] Саттон Р., “Интегрированные архитектуры для обучения, планирования
и реагирования на основе аппроксимирующего динамического программирования”
, Выпуск Седьмой международной конференции. Конференция по машинному обучению, стр. 216-224, Сан-Франциско:
Морган Кауфман, 1990.
[Тейлор, Мичи и Шпигальхальтер, 1994] Тейлор С., Мичи Д. и Шпигаль-
Хальтер Д., Машинное обучение, нейронная и статистическая классификация,
международное издательство Paramount.
[Тесауро, 1992] Тесауро Г., “Практические вопросы изучения временных различий
”, Машинное обучение, 8, № 3/4, с. 257-277, 1992.
[Towell & Shavlik, 1992] Тоуэлл Г. и Шавлик Дж., “Интерпретация
искусственных нейронных сетей: отображение нейронных сетей, основанных на знаниях, в
Правила” в книге Муди Дж., Хэнсона С. и Липпманна Р. (ред.), посвященной достижениям в
Нейронные системы обработки информации, 4, стр. 977-984, Сан-Франциско:
Морган Кауфманн, 1992.
[Тоуэлл, Шавлик и Нордвайер, 1990] Тоуэлл Г., Шавлик Дж. и Нордвайер
М., “Уточнение приближенных теорий предметной области с помощью основанных на знаниях методов".
Искусственные нейронные сети”, Proc. Восьмая международная конференция. об искусственном
интеллекте, стр. 861-866, 1990.
[Унгер, 1989] Унгер С., "Сущность логических схем", Энглвуд Клиффс, Нью-Джерси.:
Прентис-Холл, 1989.
[Утгофф, 1989] Утгофф П., “Инкрементальная индукция деревьев решений”, Машинный
Обучение, 4: 161-186, ноябрь 1989.
[Вэлиант, 1984] Вэлиант Л., “Теория познаваемого”, Сообщения
ACM, том 27, стр. 1134-1142, 1984.
[Вапник и Червоненкис, 1971] Вапник В. и Червоненкис А., “О
равномерной сходимости относительных частот", Теория вероятностей и
ее приложения, Том 16, № 2, стр. 264-280, 1971.
[Различные редакторы, 1989-1994] Достижения в области нейронных систем обработки информации
, тома с 1 по 6, Сан-Франциско: Morgan Kaufmann, 1989-1994.
[Уоткинс и Даян, 1992] Уоткинс, Си Джей Си Х., и Даян П., “Техническое примечание:
Q-Learning, ”Машинное обучение", 8, 279-292, 1992.БИБЛИОГРАФИЯ
179
[Уоткинс, 1989] Уоткинс, Си Джей Си Эйч, "Учимся на основе отсроченных вознаграждений", доктор философии
Диссертация, Кембриджский университет, Англия, 1989.
[Вайс и Куликовски, 1991] Вайс С. и Куликовски К., Компьютерные системы
, которые обучаются, Сан-Франциско: Морган Кауфман, 1991.
[Вербос, 1974] Вербос П., За пределами регрессии: новые инструменты для прогнозирования и
Анализ в области поведенческих наук, докторская диссертация, Гарвардский университет,
1974.
[Уидроу и Лер, 1990] Уидроу Б. и Лер М. А., “30 лет адаптивности"
Нейронные сети: персептрон, Madaline и обратное распространение, "Proc.
IEEE, том 78, № 9, стр. 1415-1442, сентябрь 1990 г.
[Уидроу и Стернс, 1985] Уидроу Б. и Стернс С., Адаптивная
обработка сигналов, Энглвуд Клиффс, Нью-Джерси: Прентис-Холл.
[Уидроу, 1962] Уидроу Б., “Обобщение и хранение в сетях нейронов Ada-
линии”, в книге Йовитса, Якоби и Гольдштейна (ред.), "Самоорганизующиеся
Системы—1962, стр. 435-461, Вашингтон, Округ Колумбия: Spartan Books, 1962.
[Уиндер, 1961] Уиндер Р., “Одноступенчатая пороговая логика”, издание AIEE.


[Уидроу, 1962] Уидроу Б., “Обобщение и хранение в сетях нейронов Ada-
линии”, в книге Йовитса, Якоби и Гольдштейна (ред.), "Самоорганизующиеся
Системы—1962, стр. 435-461, Вашингтон, Округ Колумбия: Spartan Books, 1962.
[Уиндер, 1961] Уиндер Р., “Одноступенчатая пороговая логика”, издание AIEE.
Симпозиум по коммутационным схемам и логическому проектированию, документ для конференции CP-60-
1261, стр. 321-332, 1961.
[Уиндер, 1962] Уиндер Р., Пороговая логика, докторская диссертация, Принстонский
университет, Принстон, Нью-Джерси, 1962.
[Внек и др., 1990] Внек Дж. и др., “Сравнение парадигм обучения с помощью Ди-
аграмматическая визуализация”, в сборнике. Пятый международный Симпозиум по методологиям
для интеллектуальных систем, стр. 428-437, 1990. (Также Технический. Отчет MLI90-2,
Иллинойский университет в Урбана-Шампейн.)


Рецензии