close

Вход

Забыли?

вход по аккаунту

?

Palmov Intellektualnye sistemy i tehnologii uchebnoe posobie

код для вставкиСкачать
ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ
Федеральное государственное бюджетное образовательное
учреждение высшего образования
«ПОВОЛЖСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ТЕЛЕКОММУНИКАЦИЙ И ИНФОРМАТИКИ»
Кафедра Информационных систем и технологий
Пальмов С.В.
ИНТЕЛЛЕКТУАЛЬНЫЕ
СИСТЕМЫ И ТЕХНОЛОГИИ
Учебное пособие
Самара
2017
УДК 004.8
Рекомендовано к изданию методическим советом ПГУТИ, протокол
№41, от 27.02.2017 г.
Рецензент:
научный сотрудник, к.э.н., доцент ИПУСС РАН
Моисеева Т.В.
Пальмов, С. В.
П Интеллектуальные системы и технологии: учебное пособие / С. В.
Пальмов. – Самара: ПГУТИ, 2017. –196 с.
Аннотация
Рассматриваются основы методов искусственно интеллекта,
история возникновения области искусственного интеллекта и
становления её как науки. Рассмотрены базовые алгоритмы
(ассоциативные правила, деревья решений, нейронные сети и т.д.),
позволяющие решать типичные задачи для вышеуказанной области:
представление знаний и поиск.
Предназначено в качестве учебного пособия для студентов
направления подготовки 09.03.02. «Информационные системы и
технологии» по дисциплине «Интеллектуальные системы и
технологии».
ISBN
©, Пальмов С.В., 2017
2
Оглавление
1.1. Определение искусственного интеллекта. История развития 6
1.2. Тест Тьюринга ............................................................................ 9
1.3. Биологические и социальные модели интеллекта: агенты ... 11
1.4. Место и роль интеллектуальных систем ................................ 13
1.5. Данные ...................................................................................... 21
1.6. Знания ........................................................................................ 22
1.7. Data Mining ............................................................................... 25
1.8. Понятие Data Mining ................................................................ 30
Вопросы для самоконтроля: ........................................................... 38
Глава 2. Состав и структура ИИС ....................................................... 39
2.1. Обзор прикладных областей искусственного интеллекта .... 39
2.2. Интеллектуальные информационно-поисковые системы .... 44
Вопросы для самоконтроля: ........................................................... 50
Глава 3. Экспертные системы ............................................................. 51
3.1. Экспертные системы. Введение .............................................. 51
3.2. Разработка экспертных систем, основанных на правилах. ... 52
3.3. Концептуальные модели и их роль в приобретении знаний 57
3.4. Экспертные систем, основанные на правилах ....................... 62
3.5. Объяснения и прозрачность при рассуждении на основе цели
........................................................................................................... 66
3.6. Использование ЭС для рассуждений на основе данных ....... 67
3.7. Введение в рассуждение на основе модели ........................... 72
3.8. Введение в рассуждение на основе опыта ............................. 75
3.9. Гибридные системы: достоинства и недостатки (сравнение
различных типов поиска)................................................................ 80
Вопросы для самоконтроля: ........................................................... 85
Глава 4. Семантические сети .............................................................. 86
4.1.История ...................................................................................... 86
4.2. Структура семантических сетей ............................................. 89
3
4.3. Использование семантических сетей ..................................... 96
Вопросы для самоконтроля: ........................................................... 97
Глава 5. Сценарии. Фреймы. Концептуальные графы ...................... 98
5.1.Сценарии .................................................................................... 98
5.2. Фреймы ................................................................................... 103
5.3. Концептуальные графы: сетевой язык ................................. 107
Вопросы для самоконтроля: ......................................................... 116
Глава 6. Нейронные сети ................................................................... 117
6.1. Нейронные сети. Краткая характеристика ........................... 117
6.2. Обучение персептрона ........................................................... 120
6.3. Общая теория классификации ............................................... 126
6.4. Обобщенное дельта-правило ................................................. 130
6.5. Обучение по методу обратного распространения ............... 133
6.6. Конкурентное обучение ......................................................... 138
6.7. Самоорганизующиеся карты Кохонена ................................ 140
Вопросы для самоконтроля: ......................................................... 147
Глава 7. Генетические алгоритмы .................................................... 148
7.1. Социальные и эмерджентные модели обучения ................. 148
Вопросы для самоконтроля: ......................................................... 154
Глава 8. Деревья решений ................................................................. 155
8.1. Деревья решений - общие принципы работы ...................... 155
8.2. Деревья решений - C4.5 математический аппарат. ............. 163
8.3. Деревья решений - CART математический аппарат. .......... 171
Вопросы для самоконтроля: ......................................................... 180
Глава 9. Ассоциативные правила ..................................................... 181
9.1. Ассоциативные правила ........................................................ 181
9.2. Характеристики ассоциативных правил .............................. 184
9.3. Методы поиска ассоциативных правил ................................ 186
Вопросы для самоконтроля: ......................................................... 191
4
Глоссарий ................................................................................................ 192
Список литературы ................................................................................. 194
Заключение .............................................................................................. 195
5
Глава 1. Введение в ИИ
1.1. Определение искусственного интеллекта. История развития
Определение
Искусственный интеллект (ИИ) можно определить, как область
компьютерной науки, занимающуюся автоматизацией разумного
поведения.
Однако это определение имеет существенный недостаток,
поскольку само понятие интеллекта не очень понятно и чётко
сформулировано. Большинство из нас уверено, что смогут отличить
«разумное поведение», когда с ним столкнутся. Тем не менее, вряд ли
кто-нибудь сможет дать интеллекту определение, достаточно
конкретное для оценки предположительно разумной компьютерной
программы и одновременно отражающее жизнеспособность, и
сложность человеческого разума.
Итак, проблема определения ИИ сводится к проблеме
определения интеллекта вообще: является ли он чем-то единым, или
же этот термин объединяет набор разрозненных способностей? Что
происходит при создании интеллекта? Что такое творчество и
интуиция? Можно ли судить о наличие интеллекта только по
наблюдаемому поведению, или же требуется свидетельство наличия
некоего скрытого механизма? Как представляются знания в нервных
тканях живых существ и как можно применить это в проектировании
интеллектуальных устройств? Что такое самоанализ и как он связан с
разумностью? Необходимо ли создавать компьютерную программу по
образу и подобию человеческого разума, или же достаточно строго
инженерного подхода? Возможно ли вообще достичь разумности
посредством компьютерной техники, или же сущность интеллекта
требует богатства чувств и опыта, присущего лишь биологическим
существам?
На эти вопросы ответа пока не найдено, но они помогли
сформировать задачи и методологию составляющие основу
современного ИИ. Отчасти привлекательность ИИ в том и состоит, что
он является оригинальным и мощным орудием для исследования
именно этих проблем. ИИ представляет средство и испытательную
модель для теорий интеллекта.
По этим причинам наше первоначальное определение,
очевидно, не даёт однозначной характеристики для этой области наук.
Оно лишь ставит новые вопросы и открывает парадоксы в области,
6
одной из главных задач которой является поиск самоопределения.
Однако проблема поиска точного определения ИИ вполне объяснима.
Изучение ИИ – ещё молодая дисциплина. И её структура, круг
вопросов и методики не так чётко определены, как в более зрелых
науках.
ИИ призван расширить возможности компьютерных наук, а не
определить их границы. Одной из важных задач, стоящих перед
исследователями, является поддержание этих условий ясными
теоретическими принципами.
Из-за специфики проблем и целей ИИ не поддаётся простому
определению. Поэтому пока опишем его как спектр проблем и
методологий, изучаемых разработчиками систем ИИ. Это определение
может бессмысленным, но оно отражает важный факт: ИИ, как и
любая наука, является сферой интересов человека, и лучше всего его
рассматривать в этом контексте.
В период с 18 по начало 20 века формализация науки и
математики создала интеллектуальные предпосылки для изучения
искусственного интеллекта, он не стал жизнеспособной научной
дисциплиной до появления цифровых вычислительных машин. К
концу 40-х годов прошлого века электронные цифровые компьютеры
продемонстрировали свои возможности в предоставлении памяти и
процессорной мощности, требуемой для интеллектуальных программ.
Стало возможным реализовать формальные системы рассуждений в
машине и эмпирически испытать их достаточность для проявления
разумности. Существенной составляющей теории ИИ является взгляд
на цифровые компьютеры как на средство создания и проверки теорий
интеллекта.
История развития
Кратко приведён основные вехи в развитии направления
искусственного интеллекта как науки.
Аристотель – основоположник современной науки и
искусственного интеллекта в том числе.
В «Логике» Аристотеля рассматриваются вопросы истинности
суждений на основе их взаимосвязи с другими истинными
утверждениями (ЕСЛИ «все люди смертны» И «Сократ - человек» ТО
«Сократ - смертен»).
В эпоху Ренессанса произошло переосмысление места человека в
природе. Мистицизм начал уступать место эмпиризму. Большинство
современных социальных и физических теорий уходят корнями к идее
7
о возможности математического анализа и постижимости природных
или искусственных процессов. Ученые и философы поняли, что
мышление само по себе как образ представления знаний является
трудным, но принципиальным предметом для научного изучения.
Наши представления о мире рассматривались как фундаментально
отличные от их видимости.
В 17-18 веках заметный вклад в развитие базы методов
искусственного интеллекта внесли Декарт и его последователи. Декарт
- центральная фигура в развитии современных концепций мышления и
разума («Cogito ergo sum» - «Я мыслю, следовательно, существую»).
Важными следствиям этих работ являются:


Строение идей о мире не обязательно соответствует
изучаемому предмету. На этом основывается методология ИИ,
а также, психологии, большей части высшей математики и
современной литературы: ментальные процессы существуют
сами по себе, подчиняются своим законам и могут изучаться
посредством себя же.
Поскольку разум и тело оказались разделенными, философы
сочли нужным найти способ воссоединить их, ведь
взаимодействие между умственным и физическим необходимо
для человеческого существования.
При этом проблема «ума и тела» до сих пор не решена. Можно
предложить такое её решение (как вариант): «…ум и тело вовсе не
принципиально разные сущности… ментальные процессы происходят
в таких физических системах, как мозг или компьютер. Умственные
процессы, как и физические, можно, в конечном счете,
охарактеризовать с помощью формальной математики». (Дж. Ф.
Люгер).
18 век. Лейбниц («Calculus Philosophicus») – первая система
формальной логики.
18 век. Эйлер - учение о представлениях, которые абстрактно
отражают структуру взаимосвязей реального мира (теория графов).
Сделало возможным поиск в пространстве состояний (state space
search) - основной концептуальный инструмент искусственного
интеллекта.
19 век. Бэббидж - первые программируемые механические
вычислительные устройства.
19 век. Буль - формализация законов логики («булева алгебра»
aka «алгебра логики»).
8
19 век. Фреге «Основы арифметики» - язык спецификации для
описания основ арифметики («язык Фреге» aka «исчисление
предикатов первого порядка»). Это инструмент для записи теорем и
задания значений истинности.
19-20 века. Рассел, Уайтхед - основоположники систем
автоматического доказательства теорем, теоретики ИИ.
20 век. Тарский - теория ссылок (theory of reference), согласно
которой правильно построенные формулы (well-formed formulae)
Фреге или Рассела-Уайтхеда определенным образом ссылаются на
объекты реального мира. Эта концепция лежит в основе большинства
теорий формальной семантики.
Конец 1940-х гг. и далее – создание и развитие электронных
цифровых компьютеров, что позволило в полной мере заняться
практическими исследованиями и развитием методов искусственного
интеллекта.
1.2. Тест Тьюринга
Одна из первых работ, посвящённых вопросу о машинном
разуме в отношении современных цифровых компьютеров,
«Вычислительные машины и интеллект» была написана в 1950 г.
британским математиком Аланом Тьюрингом и опубликована в
журнале «Mind». В ней он рассмотрел вопрос о том, можно ли
заставить
машину
действительно
думать.
Отмечая,
что
фундаментальная неопределённость в самом вопросе (что такое
«думать»? что такое «машина»?) исключает возможность
рационального ответа, он предложил заменить вопрос об И. более
чётко определённым эмпирическим тестом.
Рис.1.1
9
Тест Тьюринга сравнивает способности предположительно
разумной машины со способностями человека – лучшим и
единственным стандартом разумного поведения. В тесте, который
Тьюринг назвал «имитационной игрой», машину и её человеческого
соперника (следователя) помещают в разные комнаты, отделённые от
комнаты, в которой находится «имитатор». Следователь не должен их
видеть или говорить с ними напрямую – он сообщается с ними
исключительно с помощью текстового устройства, например,
компьютерного терминала. Следователь должен отличить компьютер
от человека исключительно на основе их ответов на вопросы,
задаваемых через это устройство. Если же следователь не может
отличить машину от человека, тогда, утверждает Тьюринг, машину
можно считать разумной.
Изолируя следователя от машины и другого человека, тест
исключает предвзятое отношение – на решение следователя не будет
влиять вид машины или её электронный голос. Следователь волен
задавать любые вопросы, не важно, на сколько окольные или
косвенные, пытаясь раскрыть «личность» компьютера. Например,
следователь может попросить обоих подопытных осуществить
довольно сложный математический подсчёт, предполагая, что
компьютер скорее даст верный ответ, чем человек. Чтобы обмануть
эту стратегию, компьютер должен знать, когда ему следует выдать
ошибочное число, чтобы показаться человеком. Чтобы обнаружить
эмоциональное поведение на основе эмоциональной природы,
следователь может попросить обоих субъектов высказаться по поводу
стихотворения или картины. Компьютер в таком случае должен знать
об эмоциональном складе человеческих существ.
Этот тест имеет следующие важные особенности:
1.
2.
3.
Даёт объективное понятие об интеллекте, т.е. реакции
заведомо разумного существа на определённый набор
вопросов. Т.о., вводится стандарт для определения интеллекта,
который предотвращает неминуемые дебаты об «истинности»
его природы.
Препятствует заведению в тупик сбивающими с толку и пока
безответными вопросами, такими как: должен ли компьютер
использовать какие-то внутренние процессы, или должна ли
машина по-настоящему осознавать свои действия.
Исключает предвзятость в пользу живых существ, заставляя
опрашиваемого
сфокусироваться
исключительно
на
содержании ответов на вопросы.
10
Благодаря этим преимуществам, тест Тьюринга представляет
собой хорошую основу для многих схем, которые используются на
практике для испытания современных интеллектуальных программ.
Программа, потенциально достигнувшая разумности в какой-либо
предметной области, может быть испытана сравнением её
способностей по решению данного множества проблем со
способностью человеческого эксперта. Этот метод испытания всего
лишь вариация на тему теста Тьюринга: группу людей просят
«вслепую» сравнить ответы компьютера и человека.
Тест
Тьюринга,
несмотря
на
свою
интуитивную
привлекательность, имеет недостатки. Одно из наиболее слабых мест –
пристрастие в пользу чисто символьных задач. Тест не затрагивает
способностей, требующих, например, навыков познания окружающего
мира или ловкости рук, хотя подобные аспекты являются важными
составляющими человеческого интеллекта. Иногда же, напротив тест
Тьюринга обвиняют в попытках втиснуть машинный интеллект в
форму интеллекта человеческого. Быть может машинный интеллект
просто настолько отличается от человеческого, что проверять его
человеческими критериями – фундаментальная ошибка? Нужна ли
машина, которая решала бы математические задачи так же медленно и
неточно, как человек? Не должна ли разумная машина извлекать
выгоду из своих преимуществ, таких как большая, быстрая, надёжная
память, и не пытаться сымитировать человеческое познание? Многие
современные учёные, которые работают в области ИИ, говорят, что
разработка систем, которые бы выдерживали всесторонний тест
Тьюринга, - это ошибка, отвлекающая нас от более важных, насущных
задач: разработка универсальных теорий, объясняющих механизмы
интеллекта людей и машин и применение этих теорий к
проектированию инструментов для решения конкретных практических
проблем. Всё же тест Тьюринга остаётся важной составляющей в
тестировании и «аттестации» современных интеллектуальных
программ.
1.3. Биологические и социальные модели интеллекта: агенты
Выше был рассмотрен математический подход к задаче
построения ИИ (основа интеллекта – объективные логические
умозаключения). Он традиционен для западной философии.
11
Во второй половине ХХ века появился ряд работ,
подвергнувших его критике (Виттгенштейн, Гедель, Тьюринг,
Хайдеггер,и т.д.).
Теория речи – значение любого высказывания зависит от
культурного контекста. Интеллект – не знание истины, но знание, как
вести себя в постоянно развивающемся и меняющемся мире.
Критика традиционного подхода породила (и продолжает
порождать) альтернативные модели интеллекта: нейронные сети,
генетические алгоритмы, социальные системы.
Корни интеллекта связаны с культурой и обществом,
следовательно, разум является эмерджентным.
Разумное поведение формируется совместными действиями
большого числа очень простых взаимодействующих полуавтономных
индивидуумов, или агентов.
Примеры агентов: нервные клетки, люди (как члены общества),
животные.
Основные аспекты агентских и эмерджентных взглядов на
интеллект
1. Агенты автономны или полуавтономны, следовательно, у
каждого агента есть определённый круг подзадач, причем он
располагает малым знанием (или вовсе не располагает
знанием) о том, что делают другие агенты или как они это
делают.
Каждый агент выполняет свою независимую часть решения
проблемы и либо выдаёт собственно результат (что-то совершает)
либо сообщает результат другим агентам.
2. Агенты являются «внедрёнными». Каждый агент чувствителен
к своей окружающей среде и (обычно) не знает о состоянии
полной области существования агентов.
Т.о., знание агента ограничено его текущими задачами: «файл,
который я обрабатываю» или «стенка рядом со мной», агент не
владеет информацией обо всех файлах одновременно или физических
границах предметной области.
3. Агенты взаимодействуют. Они формируют коллектив
индивидуумов, которые сотрудничают над решением задачи.
В этом смысле их можно рассматривать как «сообщество».
12
Как и в человеческом обществе, знания, умения и обязанности
распределяются среди отдельных индивидуумов.
4. Сообщество агентов структурировано. В
большинстве
агентно-ориентированных методов решения проблем каждый
индивидуум, работая со своим собственным окружением и
навыками, координирует общий ход решения с другими
агентами.
Т.о., окончательное решение
коллективным, но и кооперативным.
можно
назвать
не
только
5. Явление интеллекта в этой среде является «эмерджентным».
Эмерджентность - наличие у какой-либо системы особых
свойств, не присущих её элементам, а также сумме элементов, не
связанных особыми системообразующими связями; несводимость
свойств системы к сумме свойств её компонентов; синоним —
«системный эффект».
Агент – это элемент сообщества, который может воспринимать
(часто ограниченно) аспекты своего окружения и взаимодействовать с
этой окружающей средой либо непосредственно, либо путем
сотрудничества с другими агентами.
Большинство методов требуют разных агентов – простые
механизмы, координаторы, поисковые, обучающие, принимающие
решения.
Чтобы построить «сообщество агентов» нужны:
1. Структуры для представления информации.
2. Стратегии поиска в пространстве альтернативных решений.
3. Архитектура, обеспечивающая взаимодействие агентов.
1.4. Место и роль интеллектуальных систем
ИИС (Интеллектуальные информационные системы)
ИИС применяются, как правило, для решения сложных задач,
где логическая (смысловая) обработка информации превалирует над
вычислительной. Например:
13
-
Понимание и синтез текстов на естественном языке.
Понимание и синтез речи.
Анализ визуальной информации.
Управление роботами.
Анализ ситуаций и принятие решений и т.д.
Под ИИС будем понимать систему, способную принимать
решения в условиях:
1.
2.
3.
4.
5.
6.
7.
8.
9.
Необходимости обрабатывать и анализировать большой
массив информационной базы данных.
Ограниченной информации.
Неопределённости.
Многомерного пространства.
Необходимости распознавать ситуацию (образы, сцены и т.д.).
Различать стадии жизненного цикла объектов (процессов) –
проектирования, производства, эксплуатации.
Динамических,
эволюционирующих,
нестационарных
факторов, влияющих на решение задачи.
Формализации и представления знаний.
Адаптации, самообучения, самоорганизации и т.д.
Все существующие ИИС можно разбить на два класса: общего
назначения и специализированные. К ИИС общего назначения
относятся те, которые не только исполняют заданные процедуры, но
на основе метапроцедур поиска генерируют и исполняют процедуры
решения новых конкретных задач. Технология использования таких
систем состоит в следующем. Пользователь-оператор (эксперт)
формирует знания (данные и правила), описывающие выбранное
приложение (прикладные задачи, предметную область). Затем на
основании этих знаний, заданной цели и исходных данных
метапроцедуры системы генерируют и исполняют процедуру решения
конкретной задачи.
Данную технологию называют технологией систем, основанных
на знании, или технологией инженерии знаний.
К специализированным ИИС отнесены те, которые выполняют
решение фиксированного набора задач, предопределённого при
проектировании системы. Для использования таких систем требуется
наполнить их данными, соответствующими выбранному приложению
(прикладным задачам, предметной области).
14
До недавнего времени при разработке специализированных
ИИС использовалась технология традиционного (процедурного)
программирования, что позволяет обеспечить их высокую
эффективность.
Однако эта технология существенно ограничивала способность
ИИС к изменению поведения при изменяющимся окружении, что
крайне важно при решении многих интеллектуальных задач. В связи с
этим в последнее время для устранения этого недостатка отдельные
виды ИИС (системы речевого общения, обработки изображений и т.д.)
стали разрабатывать, используя технологию инженерии знаний, в идее
экспертных систем.
Как показал почти 20-и летний опыт интенсивной разработки
ИИС для различных приложений, существует порядка 8-10 типовых
задач, для которых использование ИИС приносит значительные
результаты (табл. 1.1).
Представление данных и знаний (данные и знания – это
форма представления информации в компьютере)
Информация, с которой имеет дело компьютер, разделяется на
процедурную
и
декларативную.
Процедурная
информация
овеществлена в программах, которые выполняются в процессе
решения задачи, декларативная – в данных, с которыми эти программы
работают (рис. 1.3).
Стандартной формой представления информации в компьютере
является машинное слово, состоящее из определённого для данного
типа ЭВМ числа двоичных разрядов. Одинаковое число разрядов в
машинных словах для команд и данных позволяет рассматривать их в
ЭВМ в качестве одинаковых информационных единиц и выполнять
операции над командами, как над данными. Содержимое памяти
образует информационную базу (рис 1.4).
Для удобства сравнения данных и знаний можно выделить
основные формы (уровни) существования знаний и данных (см. табл.
1.2)
Знания имеют более сложную структуру, и переход от данных к
знаниям является закономерным следствием развития и усложнения
информационных структур, обрабатываемых на компьютере. Поэтому
знания иногда называют хорошо структурированными данными,
метаданными, данными о данных.
Сравнение данных и знаний можно проиллюстрировать
сравнением ИИС и обычных программных средств.
15
Рис. 1.2. Технология использования ИИС общего назначения
(инженерия знаний)
ИИС существенным образом отличается от традиционных
программных систем не только наличием базы знаний, в которой
знания хранятся и модифицируются в форме, понятной специалистам
предметной области (именно поэтому вопросы разработки базы знаний
являются центральными при создании ИИС). Стиль программирования
ИИС непохож на стиль традиционного программирования с
использованием обычных алгоритмических языков. На рис.1.5 и 1.6 и
в табл.1.3 показаны характерные различия.
16
Табл.1.1.
Тип задачи
Интерпретация
Диагностика
Слежение
(мониторинг)
Прогнозирование
Планирование
Проектирование
Отладка, ремонт
Обучение
Управление
Определение (адресуемые задачи)
Процесс определения смысла данных
(построение описаний по наблюдаемым
данным)
Процесс обнаружения неисправностей
Непрерывная интерпретация данных в
реальном
масштабе
времени
и
сигнализация о выходе параметров за
допустимые пределы
Предсказание будущих событий на базе
моделей прошлого и настоящего (вывод
вероятных следствий из заданных
ситуаций)
Конструирование программы действий
Построение спецификаций на создание
объектов с заранее определёнными
свойствами
Выработка рекомендаций по устранению
неисправностей
Диагностика,
интерпретация,
планирование, проектирование
Интерпретация, прогноз, планирование,
моделирование,
оптимизация
выработанных решений, мониторинг
Кроме общих выделенных особенностей разработки ИИС и
традиционных программных систем каждый тип ИИС обладает, как
правило, своим собственным стилем программирования, что
затрудняет его использование для других ИИС.
Тем не менее, в качестве основного вывода по сравнительной
характеристике ИИС и традиционных программных систем можно
отметить, что обычное для классических систем соотношение
заменяется на новую архитектуру, основу которой составляет база
знаний и интерпретатор базы знаний (машина логического вывода),
т.е.
ДАННЫЕ + АЛГОРИТМЫ = ПРОГРАММА
ЗНАНИЯ + ВЫВОДЫ = СИСТЕМА.
17
Рис. 1.3. Классификация информации в ЭВМ
Рис. 1.4. Представление информации в ЭВМ
18
Табл. 1.2.
Знания (Зн)
Зн1 – знания в памяти человека
Зн2 – материализованные знания
(учебники, справочники и т.д.)
Зн3 – поле (структурированное
полуформализованное
описание
Зн1 и Зн2)
Зн4
–
знания
на
языках
представления
знаний
(формализация Зн3)
Зн5 – база знаний в ЭВМ (на
машинных носителях информации)
Традиционно выделяют три уровня:
Зн1 (знания) → Зн3 (поле знаний)
→ Зн5 (база знаний)
Данные (Д)
Д1- результат наблюдения над
объектами или данными в
памяти человека
Д2 – фиксация данных на
материальном
носителе
(таблицы, графики и т.д.)
Д3- модель данных (некоторая
схема описания, связывающая
несколько объектов)
Д4 – данные на языке описания
данных
Д5 – база данных на машинных
носителях информации
Традиционно выделяют три
уровня:
Д1
(внешний)
→
Д3
(логический)
→
Д5
(физический)
Рис. 1.5. Сравнение двух технологий разработки приложения:
а – классическая технология разработки программного обеспечения;
б – технология разработки программного обеспечения с
использованием ИИС.
19
Табл. 1.3.
Тип
системы
Характерные параметры
Тип
обрабо
тки
Методы
решени
я задач
ИИС
Симво
ль-ная
Традицио
нная
программ
а
Числов
ая
Эврист
ический
поиск
Алгори
тмы
Задан
ие
шагов
реше
ния
Неяв
ное
Искомые
решения
Управле
ние
и
данные
Моди
фикация
Удовлетворительные
Перемешаны
Часты
е
Точн
ое
Оптимал
ьные
Разделе
ны
Редки
е
Рис. 1.6. Различие структур обычной программы и ИИС:
а – обычная программа;
б – программа ИИС.
20
1.5. Данные
Параллельно с развитием структуры компьютеров происходило
развитие информационных структур для представления данных.
Появились способы описания данных в виде: векторов, матриц,
списочных структур, иерархических структур, структур, создаваемых
программистом (абстрактных типов данных). Появление баз данных
знаменовало собой ещё один шаг на пути организации работы с
информацией.
База данных как естественнонаучное понятие характеризуется
двумя основными аспектами: информационным и манипуляционным.
Первый аспект отражает такую структуризацию данных, которая
является наиболее подходящей для обеспечения информационных
потребностей, возникающих в предметной области. С каждой
предметной областью ассоциируется совокупность «информационных
объектов», связей между ними, а также задач их обработки.
Манипуляционный аспект базы данных касается смысла тех действий
над структурами данных, с помощью которых осуществляется выборка
из них различных компонентов, добавление новых, удаление и
обновление устаревших компонентов структур данных, а также их
преобразование.
Средств СУБД может не хватать для решения задач той или
иной предметной области. На практике приходится адаптировать
средства СУБД для обеспечения требуемых возможностей. Системы,
получаемые в результате такой адаптации, также относятся к ИИС.
Жизнеспособная ИИС, т.е. способная поддерживать модель
базы данных с учётом динамики развития предметной области, по
необходимости должна в качестве своего ядра содержать СУБД.
Выработанная на сегодняшний день методология проектирования
ИИС (с точки зрения базы данных) включает четыре основные части:
1. системный анализ предметной области, спецификацию
информационных объектов и связей между ними (в результате
вырабатывается так называемая концептуальная, или
семантическая, модель предметной области);
2. построение модели базы данных, обеспечивающей адекватное
представление концептуальной модели предметной области;
3. разработку СУБД, поддерживающей выбранную модель базы
данных;
4. функциональное
расширение
(посредством
некоторой
системы программирования) СУБД с целью обеспечения
21
возможностей решения требуемого класса задач, т.е. задач
обработки данных, характерных для данной предметной
области.
На практике в каждом рассматриваемом случае пути решения
этих задач выбираются исходя из специфики предметной области,
функциональных возможностей доступных СУБД и вычислительных
систем, допустимых затрат на создание ИИС и др.
1.6. Знания
Знания имеют более сложную структуру, чем данные. При этом
знания задаются как экстенсионально (т.е. через набор конкретных
фактов, соответствующих данному понятию и касающихся
предметной области), так и интенсионально (т.е. через свойства,
соответствующие данному понятию, и схему связей между
атрибутами). С учётом сказанного перечислим свойства.
Внутренняя
интерпретируемость
знаний.
Каждая
информационная единица (ИЕ) должна иметь уникальное имя, по
которому ИИС находит её, а также отвечает на запросы, в которых это
имя упомянуто.
Структурированность (рекурсивная структурированность)
знаний. ИЕ должны обладать гибкой структурой. Для них должен
выполнятся «принцип матрёшки», т.е. рекурсивная вложимость одних
ИЕ в другие. Каждая ИЕ может быть включена в состав любой другой,
а из каждой ИЕ можно выделить некоторые составляющие её ИЕ.
Другими словами, должна существовать возможность произвольного
установления между отдельными ИЕ отношений типа «часть» «целое», «род» - «вид» или «элемент» - «класс».
Связность (взаимосвязь единиц знаний). В информационной
базе между ИЕ должна быть предусмотрена возможность
установления связей различного типа. Прежде всего, эти связи могут
характеризовать отношения между ИЕ. Семантика отношений может
носить декларативный или процедурный характер. Например, две или
более ИЕ могут быть связаны отношений «одновременно», две ИЕ
отношением «причина - следствие» или отношением «аргумент функция». Приведённые отношения характеризуют декларативные
знания. Различают отношения структуризации, функциональные
отношения, казуальные отношения и семантические отношения. С
помощью первых задаются иерархии ИЕ, вторые несут процедурную
информацию, позволяющую находить (вычислять) одни ИЕ через
22
другие, третьи задают причинно-следственные связи, четвёртые
соответствуют всем остальным отношениям. Между ИЕ могут
устанавливать и иные связи, например, определяющие порядок выбора
ИЕ из памяти или указывающие на то, что две ИЕ несовместимы друг
с другом в одном описании.
Перечисленные три особенности знаний позволяют ввести
общую модель представления знаний, которую можно назвать
семантической сетью, представляющую собой иерархическую сеть, в
вершинах которой находятся ИЕ. Эти единицы снабжены
индивидуальными именами. Дуги семантической сети соответствуют
различным связям между ИЕ. При этом иерархические связи
определяются отношениями структуризации, а семантические связи –
отношениями иных типов.
Семантическая метрика (семантическое пространство
знаний с метрикой). На множестве ИЕ в некоторых случаях полезно
задавать отношение, характеризующее ситуационную близость ИЕ,
т.е. ассоциативную связь между ИЕ. Такое отношение даёт
возможность выделять в информационной базе некоторые типовые
ситуации (например, «покупка», «регулирование движения на
перекрёстке»). Отношение такого вида при работе с ИЕ позволяет
находить знания, близкие к уже найденным.
Активность знаний. С момента появления ЭВМ и разделения
используемых в них ИЕ на данные и команды создалась ситуация, при
которой данные пассивны, а команды активны. Все процессы,
протекающие в ЭВМ, инициируются командами, а данные
используются этими командами лишь в случае необходимости. Для
ИИС такая ситуация неприемлема. Как и у человека, в ИИС
актуализации тех или иных действий способствуют знания,
имеющиеся в системе. Таким образом, выполнение программ в ИИС
должно инициироваться текущим состоянием информационной базы.
Появление в базе фактов или описаний событий, установление связей
может стать источником активности системы.
Перечисленные пять особенностей ИЕ определяют ту грань, за
которой данные превращаются в знания, а базы данных перерастают в
базы знаний. Совокупность средств, обеспечивающих работы со
знаниями, образует систему управления базой знаний (СУБЗ). Однако
к БЗ, в которых в полной мере была бы реализована внутренняя
интерпретируемость,
структуризация,
связность,
введена
семантическая мера и обеспечена активность знаний, ещё необходимо
проделать определённый путь.
23
Все приведённые выше качественные свойства знаний касаются
в основном уровня Зн1 и связаны со сложной природой знания,
изучение которой происходит на междисциплинарном стыке таких
наук, как кибернетика, лингвистика, психология и т.д.
Из всего многообразия существующих способов классификации
знаний на рис.1.7 – 1.10 представлены наиболее важные с точки зрения
ИИС.
Рис. 1.7. Классификация знаний по глубине.
Рис. 1.8. Классификация знаний по «жёсткости».
24
Рис. 1.9. Номенклатура (состав) знаний, используемых различными
компонентами ИИС
Рис. 1.10. Классификация знаний на основе учёта их использования
в процессе работы в ИИС
1.7. Data Mining
«За последние годы, когда, стремясь к повышению
эффективности и прибыльности бизнеса, при создании БД все стали
25
пользоваться средствами обработки цифровой информации, появился
и побочный продукт этой активности - горы собранных данных: И вот
все больше распространяется идея о том, что эти горы полны золота».
В прошлом процесс добычи золота в горной промышленности
состоял из выбора участка земли и дальнейшего её просеивания
большое количество раз. Иногда искатель находил несколько ценных
самородков или мог натолкнуться на золотоносную жилу, но в
большинстве случаев он вообще ничего не находил и шёл дальше к
другому многообещающему месту или же вовсе бросал добывать
золото, считая это занятие напрасной тратой времени.
Сегодня
появились
новые
научные
методы
и
специализированные
инструменты,
сделавшие
горную
промышленность намного более точной и производительной. Data
Mining для данных развилась почти таким же способом. Старые
методы, применявшиеся математиками и статистиками, отнимали
много времени, чтобы в результате получить конструктивную и
полезную информацию.
Сегодня на рынке представлено множество инструментов,
включающих различные методы, которые делают Data Mining
прибыльным делом, все более доступным для большинства компаний.
Термин Data Mining получил своё название из двух понятий:
поиска ценной информации в большой базе данных (data) и добычи
горной руды (mining). Оба процесса требуют или просеивания
огромного количества сырого материала, или разумного исследования
и поиска искомых ценностей.
Термин Data Mining часто переводится как добыча данных,
извлечение информации, раскопка данных, интеллектуальный анализ
данных, средства поиска закономерностей, извлечение знаний, анализ
шаблонов, «извлечение зёрен знаний из гор данных», раскопка знаний
в базах данных, информационная проходка данных, «промывание»
данных. Понятие «обнаружение знаний в базах данных» (Knowledge
Discovery in Databases, KDD) можно считать синонимом Data Mining.
Понятие Data Mining, появившееся в 1978 году, приобрело
высокую популярность в современной трактовке примерно с первой
половины 1990-х годов. До этого времени обработка и анализ данных
осуществлялся в рамках прикладной статистики, при этом в основном
решались задачи обработки небольших баз данных.
О популярности Data Mining говорит и тот факт, что результат
поиска термина «Data Mining» в поисковой системе Google на декабрь
2011 года – примерно 36 000 000.
26
Что же такое Data Mining? Data Mining - это
мультидисциплинарная область, возникшая и развивающаяся на базе
таких наук как прикладная статистика, распознавание образов,
искусственный интеллект, теория баз данных и др., см. рис. 1.11.
Рис. 1.11. Data Mining как мультидисциплинарная область
Приведём краткое описание некоторых дисциплин, на стыке
которых появилась технология Data Mining.
Понятие Статистики
Статистика - это наука о методах сбора данных, их обработки и
анализа для выявления закономерностей, присущих изучаемому
явлению.
Статистика является совокупностью методов планирования
эксперимента, сбора данных, их представления и обобщения, а также
анализа и получения выводов на основании этих данных.
Статистика оперирует данными, полученными в результате
наблюдений либо экспериментов. Одна из последующих глав будет
посвящена понятию данных.
Понятие Машинного обучения
Единого определения машинного обучения на сегодняшний
день нет.
Машинное обучение можно охарактеризовать как процесс
получения программой новых знаний. Митчелл в 1996 году дал такое
определение: «Машинное обучение - это наука, которая изучает
27
компьютерные алгоритмы, автоматически улучшающиеся во время
работы».
Одним из наиболее популярных примеров алгоритма
машинного обучения являются нейронные сети.
Понятие Искусственного интеллекта
Искусственный интеллект - научное направление, в рамках
которого ставятся и решаются задачи аппаратного или программного
моделирования видов человеческой деятельности, традиционно
считающихся интеллектуальными.
Термин интеллект (intelligence) происходит от латинского
intellectus, что означает ум, рассудок, разум, мыслительные
способности человека.
Соответственно, искусственный интеллект (AI, Artificial
Intelligence) толкуется как свойство автоматических систем брать на
себя отдельные функции интеллекта человека. Искусственным
интеллектом называют свойство интеллектуальных систем выполнять
творческие функции, которые традиционно считаются прерогативой
человека.
Каждое из направлений, сформировавших Data Mining, имеет
свои особенности. Проведём сравнение с некоторыми из них.
Сравнение статистики, машинного обучения и Data Mining



Статистика
o Более, чем Data Mining, базируется на теории.
o Более сосредотачивается на проверке гипотез.
Машинное обучение
o Более эвристично.
o Концентрируется на улучшении работы агентов
обучения.
Data Mining.
o Интеграция теории и эвристик.
o Сконцентрирована на едином процессе анализа
данных, включает очистку данных, обучение,
интеграцию и визуализацию результатов.
Понятие Data Mining тесно связано с технологиями баз данных
и понятием «данные», которые будут подробно рассмотрены в
следующей лекции.
28
Развитие технологии баз данных
1960-е гг.
В 1968 году была введена в эксплуатацию первая промышленная
СУБД система IMS фирмы IBM.
1970-е гг.
В 1975 году появился первый стандарт ассоциации по языкам систем
обработки данных - Conference on Data System Languages (CODASYL),
определивший ряд фундаментальных понятий в теории систем баз
данных, которые до сих пор являются основополагающими для
сетевой модели данных. В дальнейшее развитие теории баз данных
большой вклад был сделан американским математиком Э.Ф. Коддом,
который является создателем реляционной модели данных.
1980-е гг.
В течение этого периода многие исследователи экспериментировали с
новым подходом в направлениях структуризации баз данных и
обеспечения к ним доступа. Целью этих поисков было получение
реляционных прототипов для более простого моделирования данных.
В результате, в 1985 году был создан язык, названный SQL. На
сегодняшний день практически все СУБД обеспечивают данный
интерфейс.
1990-е гг.
Появились специфичные типы данных – «графический образ»,
«документ», «звук», «карта». Типы данных для времени, интервалов
времени, символьных строк с двухбайтовым представлением символов
были добавлены в язык SQL. Появились технологии Data Mining,
хранилища данных, мультимедийные базы данных и web-базы данных.
Возникновение и
различными факторами,
следующие:




развитие Data Mining обусловлено
основными среди которых являются
совершенствование аппаратного и программного обеспечения;
совершенствование технологий хранения и записи данных;
накопление большого количества ретроспективных данных;
совершенствование алгоритмов обработки информации.
29
1.8. Понятие Data Mining
Data Mining - это процесс поддержки принятия решений,
основанный на поиске в данных скрытых закономерностей (шаблонов
информации).
Технологию Data Mining достаточно точно определяет Григорий
Пиатецкий-Шапиро (Gregory Piatetsky-Shapiro) - один из основателей
этого направления:
Data Mining - это процесс обнаружения в сырых данных ранее
неизвестных, нетривиальных, практически полезных и доступных
интерпретации знаний, необходимых для принятия решений в
различных сферах человеческой деятельности.
Суть и цель технологии Data Mining можно охарактеризовать
так: это технология, которая предназначена для поиска в больших
объёмах данных неочевидных, объективных и полезных на практике
закономерностей.
Неочевидных - это значит, что найденные закономерности не
обнаруживаются стандартными методами обработки информации или
экспертным путём.
Объективных - это значит, что обнаруженные закономерности
будут полностью соответствовать действительности, в отличие от
экспертного мнения, которое всегда является субъективным.
Практически полезных - это значит, что выводы имеют
конкретное значение, которому можно найти практическое
применение.
Знания - совокупность сведений, которая образует целостное
описание, соответствующее некоторому уровню осведомлённости об
описываемом вопросе, предмете, проблеме и т.д.
Использование знаний (knowledge deployment) означает
действительное применение найденных знаний для достижения
конкретных преимуществ (например, в конкурентной борьбе за
рынок).
Приведём ещё несколько определений понятия Data Mining.
Data Mining - это процесс выделения из данных неявной и
неструктурированной информации и представления ее в виде,
пригодном для использования.
Data Mining - это процесс выделения, исследования и
моделирования больших объёмов данных для обнаружения
неизвестных до этого структур (patterns) с целью достижения
преимуществ в бизнесе (определение SAS Institute).
30
Data Mining - это процесс, цель которого - обнаружить новые
значимые корреляции, образцы и тенденции в результате просеивания
большого объёма хранимых данных с использованием методик
распознавания образцов плюс применение статистических и
математических методов (определение Gartner Group).
В основу технологии Data Mining положена концепция
шаблонов (patterns), которые представляют собой закономерности,
свойственные подвыборкам данных, кои могут быть выражены в
форме, понятной человеку.
«Mining»
по-английски
означает
«добыча
полезных
ископаемых», а поиск закономерностей в огромном количестве данных
действительно сродни этому процессу.
Цель поиска закономерностей - представление данных в виде,
отражающем
искомые
процессы.
Построение
моделей
прогнозирования также является целью поиска закономерностей.
Data Mining как часть рынка информационных технологий
Классификация аналитических систем
Агентство Gartner Group, занимающееся анализом рынков
информационных технологий, в 1980-х годах ввело термин «Business
Intelligence» (BI), деловой интеллект или бизнес-интеллект. Этот
термин предложен для описания различных концепций и методов,
которые улучшают бизнес решения путём использования систем
поддержки принятия решений.
В 1996 году агентство уточнило определение данного термина.
Business Intelligence - программные средства, функционирующие в
рамках предприятия и обеспечивающие функции доступа и анализа
информации, которая находится в хранилище данных, а также
обеспечивающие
принятие
правильных
и
обоснованных
управленческих решений.
Понятие BI объединяет в себе различные средства и технологии
анализа и обработки данных масштаба предприятия.
На основе этих средств создаются BI-системы, цель которых повысить качество информации для принятия управленческих
решений.
BI-системы также известны под названием Систем Поддержки
Принятия Решений (СППР, DSS, Decision Support System). Эти
системы превращают данные в информацию, на основе которой можно
принимать решения, т.е. поддерживающую принятие решений.
31
Gartner Group определяет состав рынка систем Business
Intelligence как набор программных продуктов следующих классов:





средства построения хранилищ данных (data warehousing, ХД);
системы оперативной аналитической обработки (OLAP);
информационно-аналитические
системы
(Enterprise
Information Systems, EIS);
средства интеллектуального анализа данных (data mining);
инструменты для выполнения запросов и построения отчетов
(query and reporting tools).
Классификация Gartner базируется на методе функциональных
задач, где программные продукты каждого класса выполняют
определенный набор функций или операций с использованием
специальных технологий.
Мнение экспертов о Data Mining
Приведём несколько кратких цитат [4] наиболее влиятельных
членов бизнес-сообществ, которые являются экспертами в этой
технологии.
Руководство по приобретению продуктов Data Mining
(Enterprise Data Mining Buying Guide) компании Aberdeen Group: "Data
Mining - технология добычи полезной информации из баз данных.
Однако в связи с существенными различиями между инструментами,
опытом и финансовым состоянием поставщиков продуктов,
предприятиям необходимо тщательно оценивать предполагаемых
разработчиков Data Mining и партнёров.
Чтобы максимально использовать мощность масштабируемых
инструментов Data Mining коммерческого уровня, предприятию
необходимо выбрать, очистить и преобразовать данные, иногда
интегрировать информацию, добытую из внешних источников, и
установить специальную среду для работы Data Mining алгоритмов.
Результаты Data Mining в большой мере зависят от уровня
подготовки данных, а не от "чудесных возможностей" некоего
алгоритма или набора алгоритмов. Около 75% работы над Data Mining
состоит в сборе данных, который совершается еще до того, как
запускаются сами инструменты. Неграмотно применив некоторые
инструменты, предприятие может бессмысленно растратить свой
потенциал, а иногда и миллионы долларов".
32
Мнение Херба Эдельштайна (Herb Edelstein), известного в мире
эксперта в области Data Mining, Хранилищ данных и CRM: «Недавнее
исследование компании Two Crows показало, что Data Mining
находится все ещё на ранней стадии развития. Многие организации
интересуются этой технологией, но лишь некоторые активно внедряют
такие проекты. Удалось выяснить ещё один важный момент: процесс
реализации Data Mining на практике оказывается более сложным, чем
ожидается.
IT-команды увлеклись мифом о том, что средства Data Mining
просты в использовании. Предполагается, что достаточно запустить
такой инструмент на терабайтной базе данных, и моментально
появится полезная информация. На самом деле, успешный Data
Mining-проект требует понимания сути деятельности, знания данных и
инструментов, а также процесса анализа данных».
Прежде чем использовать технологию Data Mining, необходимо
тщательно проанализировать её проблемы, ограничения и критические
вопросы, с ней связанные, а также понять, чего эта технология не
может.
Data Mining не может заменить аналитика
Технология не может дать ответы на те вопросы, которые не
были заданы. Она не может заменить аналитика, а всего лишь даёт ему
мощный инструмент для облегчения и улучшения его работы.
Сложность разработки и эксплуатации приложения
Data Mining. Поскольку данная технология является
мультидисциплинарной областью, для разработки приложения,
включающего Data Mining, необходимо задействовать специалистов из
разных областей, а также обеспечить их качественное взаимодействие.
Квалификация пользователя
Различные инструменты Data Mining имеют различную степень
«дружелюбности» интерфейса и требуют определённой квалификации
пользователя.
Поэтому
программное
обеспечение
должно
соответствовать уровню подготовки пользователя. Использование Data
Mining должно быть неразрывно связано с повышением квалификации
пользователя. Однако специалистов по Data Mining, которые бы
хорошо разбирались в бизнесе, пока ещё мало.
33
Извлечение полезных сведений
понимания сути данных
невозможно
без
хорошего
Необходим тщательный выбор модели и интерпретация
зависимостей или шаблонов, которые обнаружены. Поэтому работа с
такими средствами требует тесного сотрудничества между экспертом в
предметной области и специалистом по инструментам Data Mining.
Построенные модели должны быть грамотно интегрированы в бизнеспроцессы для возможности оценки и обновления моделей. В последнее
время системы Data Mining поставляются как часть технологии
хранилищ данных.
Сложность подготовки данных
Успешный анализ требует качественной предобработки данных.
По утверждению аналитиков и пользователей баз данных, процесс
предобработки может занять до 80% всего Data Mining-процесса.
Таким образом, чтобы технология работала на себя, потребуется
много усилий и времени, которые уходят на предварительный анализ
данных, выбор модели и её корректировку.
Большой процент ложных, недостоверных или бессмысленных
результатов
С помощью Data Mining можно отыскивать действительно
очень ценную информацию, которая вскоре даст большие дивиденды в
виде финансовой и конкурентной выгоды.
Однако Data Mining достаточно часто делает множество ложных
и не имеющих смысла открытий. Многие специалисты утверждают,
что Data Mining-средства могут выдавать огромное количество
статистически недостоверных результатов. Чтобы этого избежать,
необходима проверка адекватности полученных моделей на тестовых
данных.
Высокая стоимость
Качественная Data Mining-программа может стоить достаточно
дорого для компании. Вариантом служит приобретение уже готового
решения с предварительной проверкой его использования, например,
на демо-версии с небольшой выборкой данных.
34
Наличие достаточного количества репрезентативных данных
Средства Data Mining, в отличие от статистических,
теоретически не требуют наличия строго определённого количества
ретроспективных данных. Эта особенность может стать причиной
обнаружения недостоверных, ложных моделей и, как результат,
принятия на их основе неверных решений. Необходимо осуществлять
контроль статистической значимости обнаруженных знаний.
Отличия Data Mining от других методов анализа данных
Традиционные методы анализа данных (статистические методы)
и OLAP в основном ориентированы на проверку заранее
сформулированных гипотез (verification-driven data mining) и на
«грубый» разведочный анализ, составляющий основу оперативной
аналитической обработки данных (OnLine Analytical Processing,
OLAP), в то время как одно из основных положений Data Mining поиск неочевидных закономерностей. Инструменты Data Mining могут
находить
такие
закономерности
самостоятельно
и
также
самостоятельно строить гипотезы о взаимосвязях. Поскольку именно
формулировка гипотезы относительно зависимостей является самой
сложной задачей, преимущество Data Mining по сравнению с другими
методами анализа является очевидным.
Большинство статистических методов для выявления
взаимосвязей в данных используют концепцию усреднения по
выборке, приводящую к операциям над несуществующими
величинами, тогда как Data Mining оперирует реальными значениями.
OLAP больше подходит для понимания ретроспективных
данных, Data Mining опирается на ретроспективные данные для
получения ответов на вопросы о будущем.
Перспективы технологии Data Mining
Потенциал Data Mining даёт «зелёный свет» для расширения
границ применения технологии. Относительно перспектив Data Mining
возможны следующие направления развития:

выделение типов предметных областей с соответствующими
им эвристиками, формализация которых облегчит решение
соответствующих задач Data Mining, относящихся к этим
областям;
35



создание формальных языков и логических средств, с
помощью которых будет формализованы рассуждения и
автоматизация которых станет инструментом решения задач
Data Mining в конкретных предметных областях;
создание методов Data Mining, способных не только извлекать
из данных закономерности, но и формировать некие теории,
опирающиеся на эмпирические данные;
преодоление существенного отставания возможностей
инструментальных средств Data Mining от теоретических
достижений в этой области.
Если рассматривать будущее Data Mining в краткосрочной
перспективе, то очевидно, что развитие этой технологии наиболее
направлено к областям, связанным с бизнесом.
В краткосрочной перспективе продукты Data Mining могут стать
такими же обычными и необходимыми, как электронная почта, и,
например, использоваться пользователями для поиска самых низких
цен на определённый товар или наиболее дешёвых билетов.
В долгосрочной перспективе будущее Data Mining является
действительно захватывающим - это может быть поиск
интеллектуальными агентами как новых видов лечения различных
заболеваний, так и нового понимания природы вселенной.
Однако Data Mining таит в себе и потенциальную опасность ведь все большее количество информации становится доступным через
всемирную сеть, в том числе и сведения частного характера, и все
больше знаний возможно добыть из неё.
Некоторое время назад, крупнейший онлайн-магазин «Amazon»
оказался в центре скандала по поводу полученного им патента
«Методы и системы помощи пользователям при покупке товаров»,
который представляет собой не что иное как очередной продукт Data
Mining, предназначенный для сбора персональных данных о
посетителях магазина. Новая методика позволяет прогнозировать
будущие запросы на основании фактов покупок, а также делать
выводы об их назначении. Цель данной методики - то, о чём
говорилось выше - получение как можно большего количества
информации о клиентах, в том числе и частного характера (пол,
возраст, предпочтения и т.д.). Таким образом, собираются данные о
частной жизни покупателей магазина, а также членах их семей,
включая детей. Последнее запрещено законодательством многих стран
- сбор информации о несовершеннолетних возможен там только с
разрешения родителей.
36
Исследования отмечают, что существуют как успешные
решения, использующие Data Mining, так и неудачный опыт
применения этой технологии [5]. Области, где применения технологии
Data Mining, скорее всего, будут успешными, имеют такие
особенности:




требуют решений, основанных на знаниях;
имеют изменяющуюся окружающую среду;
имеют доступные, достаточные и значимые данные;
обеспечивают высокие дивиденды от правильных решений.
Существующие подходы к анализу
Достаточно долго дисциплина Data Mining не признавалась
полноценной самостоятельной областью анализа данных, иногда её
называют «задворками статистики».
На сегодняшний день определилось несколько точек зрения на
Data Mining. Сторонники одной из них считают его миражом,
отвлекающим внимание от классического анализа данных.
Сторонники другого направления - это те, кто принимает Data Mining
как альтернативу традиционному подходу к анализу. Есть и середина,
где рассматривается возможность совместного использования
современных достижений в области Data Mining и классическом
статистическом анализе данных.
Технология Data Mining постоянно развивается, привлекает к
себе все больший интерес как со стороны научного мира, так и со
стороны применения достижений технологии в бизнесе.
Ежегодно проводится множество научных и практических
конференций, посвящённых Data Mining, одна из которых Международная конференция по Knowledge Discovery Data Mining
(International Conferences on Knowledge Discovery and Data Mining).
37
Вопросы для самоконтроля:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Что такое искусственный интеллект?
Почему так сложно дать точное и полное определение
искусственного интеллекта?
Опишите тест Тьюринга?
Особенности теста Тьюринга?
Достоинства и недостатки теста Тьюринга?
Методология проектирования ИИС.
Перечислите свойства знаний.
Назовите и охарактеризуйте способы классификации знаний.
Перечислите области применения ИИС.
Дайте определение ИИС.
Охарактеризуйте классы ИИС.
Назовите типовые задачи, при решении которых используются
ИИС.
Назовите различия архитектур традиционных программных
систем и ИИС.
Назовите уровни знаний и данных.
38
Глава 2. Состав и структура ИИС
2.1. Обзор прикладных областей искусственного интеллекта
Две наиболее фундаментальные проблем, занимающие
разработчиков ИИ – это представление знаний (knowledge
representation) и поиск (search). Первая относится к проблеме
получения новых знаний с помощью формального языка, подходящего
для компьютерных манипуляций, всего спектра знаний, требуемых для
формирования разумного поведения.
Поиск – это метод решения проблемы, в котором
систематически просматривается состояний задачи (problem states), т.е.
альтернативных стадий её решения (примеры состояний задачи:
различные размещения фигур на доске при игре в шахматы или
промежуточные шаги логического обоснования). Затем в этом
пространстве альтернативных решений производится перебор в
поисках окончательного ответа.
Основные сферы применения ИИ
Ведение игр
Многие ранние исследования в области поиска в пространстве
состояний совершались на основе таких игр, как шашки, шахматы и
пятнашки. Вдобавок к свойственному им «интеллектуальному»
характеру такие игры имеют некоторые свойства, делающие их
идеальным объектом для экспериментов. Большинство игр ведутся с
использованием чётко определённого набора правил: это позволяет
легко строить пространство поиска и избавляет исследователя от
неясности и путаницы, присущих менее структурированным
проблемам. Позиции фигур легко представимы в компьютерной
программе. Тестирование игровых программ не порождает никаких
финансовых или этических проблем.
Игры могут порождать необычайно большие пространства
состояний. Для поиска в них требуются мощные методики,
определяющие, какие альтернативны следует рассматривать. Такие
методики называются эвристиками и составляют значительную
область исследований ИИ. Эвристика – стратегия полезная, но
потенциально способная упустить правильное решение. Примером
эвристики может быть рекомендация проверять, включён ли прибор в
розетку, прежде чем делать предположение об его поломке, или
39
выполнять рокировку в шахматной игре, чтобы попытаться уберечь
короля от шаха. Большая часть того, что мы называем разумностью,
опирается на эвристики, которые люди используют в решении задач.
Поскольку у большинства из нас есть опыт в этих простых
играх, можно попробовать разработать свои эвристики и испытать их
эффективность. И для этого не нужны консультации экспертов в
каких-то тёмных для непосвящённых областях, вроде медицины или
математики. Поэтому игры являются хорошей основой для изучения
эвристического поиска.
Автоматические рассуждения и доказательство теорем
Можно сказать, что автоматическое доказательство теорем –
одна из старейших частей искусственного интеллекта. Благодаря
исследованиям в этой области были формализованы алгоритмы поиска
и разработаны языки формальных представлений, такие как
исчисление предикатов и логический язык программирования
PROLOG.
Разнообразные проблемы можно попытаться решить,
представив описание задачи и существенную относящуюся к ней
информацию в виде логических аксиом и рассматривая различные
случаи задачи как теоремы, которые нужно доказать. Этот принцип и
лежит в основе автоматического доказательства теорем и систем
математических обоснований.
Экспертные системы
Одним из главных достижений ранних исследований по ИИ
стало осознание важности специфичного для предметной области
(domain-specific) знания. Врач, к примеру, хорошо диагностирует
болезни не потому, что он располагает некими врождёнными общими
способностями к решению задач, а потому, что много знает о
медицине. Экспертное знание – это сочетание теоретического
понимания проблемы и набора эвристических правил для её решения,
которые, как показывает опыт, эффективны в данной предметной
области. Экспертные системы создаются с помощью заимствования
знаний у человеческого эксперта и кодирования их в форму, которую
компьютер может применить к аналогичным проблемам.
40
Основные проблемы данной области:
1.
2.
3.
4.
5.
Трудности в передаче «глубоких» знаний.
Недостаток здравомыслия и гибкости.
Неспособность предоставлять осмысленные объяснения.
Трудности в тестировании.
Ограниченные возможности обучения на опыте (требуется
вмешательство программиста).
Понимание естественных языков и семантическое моделирование
Одной из долгосрочных целей ИИ является создание программ,
способных понимать человеческий язык и строить фразы на нём.
Способность применять и понимать естественный язык является
фундаментальным аспектом человеческого интеллекта, а его успешная
автоматизация привела бы к неизмеримой эффективности самих
компьютеров. Существующие программы достигли некоторых успехов
в ограниченных контекстах, но системы, использующие натуральные
языки с гибкостью и общностью, характерной для человеческой речи,
лежат за пределами сегодняшних методологий.
Понимание естественного языка включает куда больше, чем
разбор предложений на индивидуальные части речи и поиск значений
слов в словаре. Оно базируется на обширном фоновом знании о
предмете беседы и идиомах, используемых в этой области, так же, как
и на способности применять общее контекстуальное знание для
понимания недомолвок и неясностей, присущих естественной
человеческой речи.
Представьте себе, например, трудности в разговоре о футболе с
человеком, который ничего не знает об игре, правилах, её истории и
игроках. Способен ли такой человек понять смысл фразы: «в центре
Иванов перехватил верхнюю передачу – мяч полетел к штрафной
соперника, там за него на «втором этаже» поборолись Петров и
Сидоров, после чего был сделан пас на Васина в штрафную, который
из-под защитника подъёмом пробил точно в дальний угол»?
Моделирование работы человеческого интеллекта
Моделирование работы человеческого разума помимо
обеспечения ИИ его основной методологией оказалось мощным
средством для формулирования и испытания теорий человеческого
познания.
Методологии
принятия
решений,
разработанные
41
теоретиками компьютерных наук, дали психологам новую отправную
точку для исследования человеческого разума. Вместо того, чтобы
гадать о теориях познания на неясном языке ранних исследований или
вообще оставить попытки описания внутренних механизмов
человеческого интеллекта, многие психологи приспособили язык и
теорию компьютерной науки для разработки моделей человеческого
разума.
Планирование и робототехника
Исследования в области планирования начались с попытки
сконструировать роботов, которые бы выполняли свои задачи с
некоторой степенью гибкости и способностью реагировать на
окружающий мир. Планирование предполагает, что робот должен
уметь выполнять некоторые элементарные действия. Он пытается
найти последовательность таких действий, с помощью которой можно
выполнить более сложную задачу, например, двигаться по комнате,
заполненной препятствиями.
Одним из методов, применяемых человеческими существами
при планировании, является иерархическая декомпозиция задач
(hierarchical problem decomposition). Планируя путешествие в Москву,
вы, скорее всего, займётесь отдельно проблемами организации
перелёта, поездки до аэропорта, самого полёта и поиска подходящего
вида транспорта в Москве, хотя все они являются частью большого
общего плана. Каждая из этих задач может сама быть разбита на такие
подзадачи, как, например, покупка карты города и преодоление
лабиринта линий метро. Такой подход не только эффективно
ограничивает размер пространства поиска, но и позволяет сохранять
часто используемые маршруты для дальнейшего применения.
В то время как люди разрабатывают планы безо всяких
усилий, создание компьютерной программы, которая бы занималась
тем же – сложная проблема. Казалось бы, такая простая вещь, как
разбиение задачи на независимые подзадачи, на самом деле требует
сложнейших эвристик и обширного знания об области планирования.
Не менее сложная проблема – определить, какие планы следует
сохранить, и как их обобщить для использования в будущем.
Машинное обучение
Способность к обучению является
составляющих разумного поведения.
42
одной
из
главных
Экспертная система может выполнять долгие и трудоёмкие
вычисления для решения проблемы. Но, в отличие от человеческих
существ, если ей дать такую же или подобную проблему второй раз,
она не вспомнит «решение». Она каждый раз будет выполнять вновь
те же вычисления – едва ли это похоже на разумное поведение.
Большинство экспертных систем ограничены негибкостью их
стратегий принятия решений и трудности модификации больших
объёмов кода. Очевидное решение этих проблем – заставить
программы учиться самим на опыте, аналогиях и примерах.
Альтернативные представления: нейронные сети и генетические
алгоритмы
Нейронные архитектуры привлекательны как средства
реализации интеллекта по многим причинам. Традиционные
программы ИИ могут быть слишком неустойчивы и чувствительны к
шуму. Человеческий интеллект куда более гибок при обработке такой
зашумлённой информации, как лицо в затемнённой комнате или
разговор на шумной вечеринке. Нейронные архитектуры, похоже,
более пригодны для сопоставления зашумлённых и недостаточных
данных, поскольку они хранят знания в виде больше числа мелких
элементов, распределённых по сети.
С помощью генетических алгоритмов и методик искусственной
жизни вырабатываются новые решения проблем из компонентов
предыдущих решений. Генетические операторы, такие скрещивание
или мутация, подобно своим эквивалентам в реальном мире,
вырабатывают с каждым поколением всё лучшие решения. В
искусственной жизни новые поколения создаются на основе функции
«качества» соседних элементов в прежних поколениях.
И нейронные архитектуры, и генетические алгоритмы дают
естественные модели параллельной обработки данных, поскольку
каждый нейрон или сегмент решения представляет собой независимый
элемент. Люди быстрее справляются с заданием, если получают
больше информации, а компьютер, наоборот, замедляет работу. Это
замедление
происходит
за
счёт
увеличения
времени
последовательного поиска в базе данных. Архитектура с массовым
параллелизмом, например, человеческий мозг, не страдает таким
недостатком. Наконец, есть нечто очень привлекательное в подходе к
проблемам интеллекта с позиций нервной системы или генетики. В
конце концов, мозг есть результат эволюции, он проявляет разумное
поведение и делает это посредством нейронной архитектуры.
43
2.2. Интеллектуальные информационно-поисковые системы
Процесс поиска текстовой информации включает в себя
следующие этапы:
1.
2.
3.
4.
формализация пользователем поискового запроса;
предварительный отбор тестовых документов, содержащих
формальные признаки наличия интересующей информации;
анализ
отобранных
документов
(лексический,
морфологический, синтаксический, семантический);
оценка соответствия смыслового содержания найденной
информации требованиям поискового запроса.
Данные этапы выполняются в полном объёме человеком при
неавтоматизированном поиске, а эффективность их реализации
определяется интеллектуальными способностями человека. Все
вышеперечисленные этапы могут быть автоматизированы на основе
использования систем искусственного интеллекта и экспертных
систем.
Реализация полного лингвистического анализа текстовой
информации предполагает решение следующих задач:
Рис. 2.1. Задачи лингвистического анализа текстовой информации
44
Лексический анализ заключатся в разборе текстовой
информации на отдельные абзацы, предложения, слова, определении
национального языка изложения, типа предложения, выявлении типа
лексических выражений (бранных, жаргонных слов) и т.д. Он не
представляет существенной сложности для реализации.
Морфологический анализ сводится к автоматическому
распознаванию частей речи каждого слова текста (каждому слову
ставится в соответствие лексико-грамматический класс). Данная
задача может быть выполнена для русского языка практически со
стопроцентной точностью благодаря его развитой морфологии. В
английском языке алгоритм, присваивающий каждому слову в тексте
наиболее вероятный для данного слова лексико-грамматический класс
(синтаксическую часть речи), работает с точностью около 90 %, что
обусловлено лексической многозначностью английского языка.
Синтаксический анализ заключатся в автоматическом
выделении семантических элементов предложения - именных групп,
терминологических целых, предикативных основ. Это позволяет
повысить интеллектуальность процесса обработки тестовой
информации на основе обеспечения работы с более обобщёнными
семантическими элементами.
Семантический
анализ
заключатся
в
определении
информативности
текстовой
информации
и
выделении
информационно-логической
основы
текста.
Проведение
автоматизированного семантического анализа текста предполагает
решение задачи выявления и оценки смыслового содержания текста.
Данная задача является трудно формализуемой вследствие
необходимости создания совершенного аппарата экспертной оценки
качества
информации.
Реализация
семантического
анализа
текстовой
информации
предполагает обязательное использование экспертных систем, систем
искусственного интеллекта для выявления смыслового содержания
информации. В настоящее время отсутствуют сложившиеся подходы к
реализации задачи семантического анализа текстовой информации, что
во многом обусловлено исключительной сложностью проблемы и
недостаточно полной проработкой научного направления создания
систем искусственного интеллекта. Поэтому существующие
информационные технологии не обеспечивают эффективной
реализации поисковых систем.
Это обусловливает низкую адекватность найденной по запросу
пользователя информации, то есть возврат системой большого объема
малоинформативных документов. Проблема усугубляется низкой
45
скоростью получения документов из Интернета, необходимостью
просмотра пользователем всех найденных документов и оценки их
информационного содержания в неавтоматизированном режиме, а
также
наличием
специально
создаваемых
(вредоносных)
информационных
технологий,
препятствующих
эффективной
реализации в поисковых системах автоматической оценки содержания
найденных документов.
Методический аппарат "интеллектуального поиска" текстовой
информации позволяет реализовать автоматизацию всех этапов
лингвистического
анализа
(лексического,
морфологического,
синтаксического и семантического). Данная технология соединяет
преимущества автоматического индексирования документов в
поисковых системах с экспертной обработкой их содержания в
системах искусственного интеллекта.
Рис 2.2. Структурная схема лингвистического процессора
Реализация
указанных
достигается за счёт:
1.
2.
функциональных
возможностей
углублённого лексического анализа текстовой информации,
обеспечивающего
подготовительную
нормализацию
обрабатываемого теста;
уникальной
структуры
морфологического
словаря,
включающего все морфологические и семантические
46
3.
4.
5.
6.
7.
характеристики слов, а также слова - синонимы и тематически
связанные слова;
детального морфологического анализа, обеспечивающего
определение частей речи с учётом семантики запроса
пользователя и обрабатываемой текстовой информации;
поиска текстовой информации по синонимам и тематически
связанным словам;
автоматизированного синтаксического анализа членов
предложения и связей между ними;
отбора текстовой информации на основе семантического
анализа её соответствия запросу пользователя;
автоматической оценки релевантности предложений текстов
запросу пользователя с обеспечением синтеза семантически
полного ответа поисковой системы.
Новые качества интеллектуальной информационно-поисковой
системы:
1.
2.
3.
4.
5.
6.
7.
Обработка запроса пользователя, представленного на
естественном языке.
Реализация диалога интеллектуальной поисковой системы с
пользователем в ходе уточнения введённого им запроса и
формирования ответа системы.
Возможность автоматического перевода запроса пользователя
с естественного языка на формализованные языки запросов
существующих поисковых систем.
Обеспечение поиска с учётом смыслового содержания
многозначных слов.
Реализация поиска с учётом синонимов и тематически
связанных слов.
Повышение релевантности результатов поиска запросу
пользователя на основе учёта семантики запроса и синтеза
семантически полного ответа поисковой системы.
Обеспечение
автоматической
интегральной
оценки
семантического смысла проиндексированной текстовой
информации.
Рассмотренные выше особенности построения технологии
"интеллектуального поиска" и достигаемые за счёт них новые качества
поисковой
системы
обеспечивают
существенное
снижение
47
"информационного шума" и значительное повышение оперативности
формирования ответа системы, адекватного запросу пользователя.
Табл. 2.1.Сравнительный анализ основных параметров технологии
Характеристи
ки систем
Реализуемые
этапы
лингвистическ
ого анализа
Основные
разделы
морфологичес
кого словаря
Яndex





ИИПС
лексический,
морфологически
й,
синтаксический
(частично)


основы слов,
морфологически
е формы слов







Типы запроса
пользователя


ключевые слова,
формализованны
й язык запросов
(иногда)


лексический,
морфологически
й,
синтаксический,
семантический
основы слов,
морфологически
е формы слов,
синонимы слов,
тематические
слова,
семантика слов
запрос
на
естественном
языке,
ключевые слова
Обработка
текстов
на
национальных
языках

русский,
английский


русский,
любой
иностранный (в
перспективе)
Диалог
системы
с
пользователем
при
вводе
запроса

отсутствует

уточнение
сформированног
о
перечня
ключевых слов;
уточнение
семантики
многозначных
слов,

48
Характеристи
ки систем
Формы ответа
системы
Яndex

ИИПС
упорядоченный
перечень ссылок
на
тексты,
содержащие
ключевые слова

уточнение
семантики
ответа системы

упорядоченный
перечень ссылок
на
тексты,
содержащие
ключевые слова;
абзацы текста,
содержащие
ключевые слова;
восстановленны
й
проиндексирова
нный текст;
семантически
синтезированны
й
ответ
интеллектуально
й
информационно
-поисковой
системы



Рис. 2.3. Структурная схема интеллектуальной
информационно-поисковой машины
49
Разработанная модель интеллектуальной информационнопоисковой
машины
полностью
подтвердила
правильность
идеологических подходов и реализуемость разработанных системных
алгоритмов функционирования интеллектуальной информационнопоисковой системы.
Вопросы для самоконтроля:
1.
2.
3.
4.
5.
6.
7.
8.
9.
Процесс поиска текстовой информации и поисковой системе.
Задачи лингвистического анализа текстовой информации.
Классификация поисковых систем. Категории поиска.
Структурная схема лингвистического процессора.
Сравните возможности интеллектуальной информационнопоисковой системы и традиционной поисковой системы.
Опишите структурную схему информационно-поисковой
машины.
Назовите и дайте краткую характеристику фундаментальным
проблемам области искусственного интеллекта.
Перечислите основные сферы применения искусственного
интеллекта.
Дайте
краткую
характеристику
вышеперечисленным
направлениям.
50
Глава 3. Экспертные системы
3.1. Экспертные системы. Введение
Экспертные системы (ЭС) используют знания специфичной
предметной области. Обычно разработчики ЭС приобретают эти
знания с помощью экспертов, методологию и деятельность которых
затем эмулирует система. ЭС являются «специалистами» по узкому
кругу проблем. Подобно людям они обладают как теоретическими, так
и практическими знаниями: человек-эксперт, обеспечивающий
систему знаниями, обычно привносит собственное теоретическое
понимание предметной области, а также снабжает систему
«хитростями», кратчайшими путями решения и эвристиками,
полученными из опыта решения проблем.
ЭС обычно предоставляют следующие возможности:
1.
2.
3.
Отслеживают
свои
процессы
рассуждения,
выводя
промежуточные результаты и отвечая на вопросы о процессе
решения.
Позволяют несколько модифицировать базу знаний
(добавлять и удалять информацию).
Рассуждают эвристически, используя для получения полезных
решений во многом несовершенные знания.
Процесс рассуждения ЭС должен быть открыт для проверки,
обеспечивая информацию о состоянии решения проблемы и объясняя
выборы и решения, которые делает программа. Объяснения важны для
человека-эксперта, например, врача или инженера, если он должен
принять рекомендацию компьютера.
Как и любые программные средства, ЭС должны обеспечивать
простоту тестирования и изменения. Причём лёгкость модификации
базы знаний является главным фактором производства успешных
программ (по мнению разработчиков).
Следующей особенностью ЭС является использование
эвристических методов решения проблем. Разработчики ЭС
установили, что неформальные «трюки» и «интуитивные правила»
являются существенным дополнением к стандартной теории,
предоставляемой учебниками и курсами. Иногда эти правила
усиливают теоретические знания с учётом здравого смысла, а зачастую
они дают кратчайший путь к решению.
51
Общие задачи ЭС:
-
Интерпретация – формирование высокоуровневых выводов из
наборов строк данных.
Прогнозирование - проектирование возможных последствий
данной ситуации.
Диагностика – определение причин неисправностей в
сложных ситуациях на основе наблюдаемых симптомов.
Проектирование – нахождение конфигурации компонентов
системы, которая удовлетворяет целевым условиям и
множеству проектных ограничений.
Планирование – разработка последовательных действий для
достижения множества целей при данных начальных условиях
и временных ограничениях.
Мониторинг – сравнение наблюдаемого поведения системы с
её ожидаемым поведением.
Инструктирование – помощь в образовательном процессе по
изучению технической области.
Управление – управление поведением сложной среды.
3.2. Разработка экспертных систем, основанных на правилах.
На рис. 3.1 показаны модули, которые составляют типичную
ЭС. Пользователь взаимодействует с системой через пользовательский
интерфейс, который скрывает многие сложности, в т.ч. и внутреннюю
структуру базы правил. При разработке интерфейса ЭС используют
разнообразие стилей, включая «вопрос-ответ», меню управления или
графический интерфейс. Тип интерфейса определяется потребностями
пользователя и требованиями базы знаний и системы вывода.
52
Рис. 3.1. Архитектура типовой ЭС для конкретной предметной области
Ядром ЭС является база знаний, которая содержит знание из
частной прикладной области. В ЭС, основанной на правилах, это
знание представляется в форме правил если … то … . База знаний
содержит как общие знания, так и информацию о частных случаях.
Механизм вывода применяет знания при решении реальных
задач. По существу, он является интерпретатором базы знаний.
Механизм
вывода
совершает
цикл
распознавание-действие.
Процедуры, которые выполняют этот управляющий цикл, отделены от
самих правил. Такое разделение механизма вывода и базы знаний
важно поддерживать по нескольким причинам:
1.
2.
3.
4.
Оно даёт возможность представить знания более
естественным образом. Например, правила если … то …
точнее описывают навыки человека по решению задач, чем
компьютерный код более низкого уровня.
В связи с тем, что база знаний отдаляется от программных
управляющих структур более низкого уровня, разработчики
ЭС могут сосредоточиться на накоплении и организации
знаний, а не на деталях их компьютерной реализации.
В идеале разделение знаний и управления позволяет вносить
изменения в одну часть базы знаний без создания побочных
эффектов в других.
Разделение знаний и управляющих элементов программы
позволяет использовать в различных системах одни и те же
модули управления и интерфейса пользователя. Оболочка ЭС
включает все компоненты, показанные на рис. 3.1, а база
знаний и данные о частных случаях могут пополняться для
53
новых приложений. Штриховые
ограничивают модули оболочки.
линии
на
рис.
3.1
ЭС должна сохранять информацию о частных случаях, в том
числе факты и выводы. Сюда включаются данные, полученные в
отдельном случае решения задачи, частные заключения степени
доверия к заключениям и тупики в процессе поиска. Эта информация
отделяется от общей базы знаний.
Подсистема объяснений позволяет программе пояснить своё
рассуждение
пользователю.
Она
обеспечивает
обоснования
заключённой системы в ответ на вопрос «как?», объяснение
необходимости конкретных действий, а также ответы на вопросы
«почему?».
Многие системы включают также редактор базы знаний.
Редакторы базы знаний помогают программистам локализовать и
откорректировать сбои в действиях программы, используя
информацию, обеспечиваемую подсистемой объяснений. Кроме того,
они могут помочь в пополнении новых знаний, поддержке
корректности синтеза правил и в проверке на непротиворечивость при
изменениях в базе знаний.
Выбор задачи
ЭС привлекают значительные денежные инвестиции и
человеческие усилия. Попытки решить слишком сложную,
малопонятную или, другими словами, не соответствующую
имеющейся технологии проблему могут привести к дорогостоящим и
постыдным неудачам. Поэтому были выработаны критерии
оправданности решения данной задачи с помощью ЭС:
1.
2.
Необходимость решения оправдывает стоимость и усилия
по разработке ЭС. Многие ЭС были построены в таких
областях, как разведка минералов, бизнес, оборона и
медицина, где существует большой потенциал для экономии
денег, времени и защиты человеческой жизни.
Отсутствие человеческого опыта в ситуациях, где он
необходим. В геологии, например, существует необходимость
удалённой экспертизы минирования и бурения. Геологи и
инженеры часто сами проходят большие расстояния, что
связано с большими затратами и потерями времени. При
54
3.
4.
5.
6.
7.
использовании ЭС многие проблемы удалённых районов
могут быть решены без их посещения.
Проблема может быть решена с использованием
символьных рассуждений. Решение проблемы не требует
физической ловкости или конкретных навыков. Современным
работам и системам зрения не хватает ума и гибкости,
присущих человеку.
Проблемная область является хорошо структурированной
и не требует рассуждений на основе здравого смысла.
Высокотехнологичные области очень удобны для изучения и
формализации: для них чётко определена терминология и
построены ясные и конкретные концептуальные модели.
Рассуждения
на
основе
здравого
смысла
трудно
автоматизировать.
Проблема не может быть решена традиционными
вычислительными методами. Технология ЭС не должна
использоваться там, где это не является необходимым. Если
проблема может быть удовлетворительно решена более
традиционными методами, то она не должна рассматриваться
как кандидат для решения ЭС.
Известны эксперты, способные взаимодействовать между
собой и чётко выражать свои мысли. Знания, используемы
ЭС, формируются из опыта и суждений людей, работающих в
данной области. Важно, чтобы эти эксперты не только хотели,
но и были способны поделиться знаниями.
Проблема имеет приемлемые размеры и границы.
Например, программа, пытающаяся воплотить весь опыт
врача, нереальна. Программа, подсказывающая медицинские
решения по использованию конкретного медицинского
оборудования или конкретного множества диагнозов, более
практична.
К разработке ЭС необходимо привлекать инженеров по
знаниям, экспертов данной предметной области и конечных
пользователей.
Инженер по знаниям является экспертом по языку ИИ и
представлению. Его главная задача – выбрать программный и
аппаратный инструментарий для проекта, помочь эксперту в данной
области членораздельно сформулировать необходимую информацию,
а также реализовать её в корректной и эффективной базе знаний. Часто
инженер по знаниям изначально не знаком с прикладной областью.
55
Рис. 3.2. Исследовательский цикл разработки
Знания о предметной области обеспечивает эксперт. Экспертом
предметной области обычно является тот человек, который работал в
этой области и понимает принципы решения её задач, знает приёмы
решения, может обеспечить управление неточными данными, оценку
частичных решений и имеет другие навыки, делающие его экспертом.
Эксперт в предметной области отвечает за передачу этих навыков
инженеру по знаниям.
В большинстве приложений основные проектные ограничения
определяет конечный пользователь. Обычно разработка продолжается
до тех пор, пока пользователь не будет удовлетворён. Навыки и
потребности пользователя учитываются в течение всего цикла
разработки.
56
Обычно работа с системой начинается с попытки инженера по
знаниям описать процессы, происходящие в данной предметной
области. Этому помогает взаимодействие с экспертом в данной
области.
Адекватность
описания
достигается
с
помощью
предварительных интервью с экспертами и наблюдения за ними в
процессе работы. Далее инженер по знаниям и эксперт начинают
процесс извлечения знаний по решению проблемы. Для этого эксперту
задаётся ряд простых задач, которые он пытается решить, объясняя
используемые при этом приёмы. Зачастую этот процесс записывают на
видео.
Когда инженер по знаниям получит общее представление о
предметной области и проведёт несколько сеансов решения задач с
экспертом, он сможет приступить к разработке системы: выбрать
способ представления знаний, разработать пользовательский
интерфейс и т.д. После этого инженер строит прототип.
Прототип должен быть способен решить проблемы из данной
предметной области и обеспечить испытательный стенд для проверки
предварительных проектных решений. Когда прототип готов, инженер
по знаниям и эксперт в предметной области испытывают и уточняют
знания путём решения конкретных задач и устранения дефектов. Если
предположения,
сделанные при проектировании прототипа,
оказываются корректными, прототип можно поступательно расширять
до тех пор, пока он не превратится в окончательную систему.
ЭС строятся методом последовательных приближений.
Выявляемые ошибки приводят к коррекции и наращиванию базы
знаний. В этом смысле база знаний скорее «растёт», чем
конструируется. На рис. 3.2 представлена блок-схема, описывающая
исследовательский цикл разработки программы. Этот процесс проб и
корректировки проектов-кандидатов является общепринятым в
разработке экспертных систем.
Другой важной особенностью ЭС является то, что программа
никогда не должна рассматриваться как законченная. Эвристическая
база знаний всегда будет иметь ограниченные возможности.
Модульность модели системы позволяет естественным образом
добавить новые правила или в любое время подкорректировать
существующую базу правил.
3.3. Концептуальные модели и их роль в приобретении знаний
На рис.3.3 представлена упрощённая
извлечения знаний, которая могла быть
57
модель процесса
служить первой
аппроксимацией для понимания задачи приобретения и формализации
человеческого опыта. Человек-эксперт, работая в прикладной области,
оперирует знанием, мастерством и практическими навыками. Это
знание часто является неопределённым и неточным. Инженер по
знаниям должен транслировать этот неформальный опыт в
формальный язык вычислительной системы. В процессе формализации
практической деятельности человека возникает ряд важных вопросов:
1.
2.
3.
4.
Человеческое мастерство часто недоступно для осознания
разумом. Навыки врача формируются за годы обучения в
интернатуре и в процессе работы с пациентами. После
многолетней
работы
эти
навыки
становятся
интегрированными и существуют в основном на уровне
подсознания. Эксперты могут затрудняться точно описать то,
что они делают при решении проблемы.
Человеческий опыт часто принимает форму знания о том, как
справиться с ситуацией, а не о том, каковы рациональные
характеристики этой ситуации. Мы вырабатываем сложные
механизмы действия, а не формируем фундаментальное
понимание этих механизмов. Наглядным примером этого
является уникальная последовательность действий при
верховой езде: опытный наездник для поддержания
равновесия не решает в реальном времени многочисленные
системы дифференциальных уравнений, а использует
интуитивное ощущение гравитации, момента и инерции для
формирования адекватной управляющей процедуры.
Приобретение знаний часто рассматривается как получение
фактических знаний об объективной реальности так
называемого «реального мира». Как показано в теории и на
практике, человеческий опыт представляет модели мира,
формируемые отдельным человеком или группой людей.
Такие модели создаются под воздействием социальных
процессов, скрытых закономерностей и эмпирических
методологий.
Опыт накапливается. Люди не только получают новые знания,
но и перерабатывают существующие, что сопровождается
продолжительными дебатами в науке.
58
Рис. 3.3. Стандартный взгляд на построение экспертной системы
Следовательно, инженерия знаний является сложной задачей.
Чтобы её упростить, полезно создать концептуальную модель –
прослойку между человеческим опытом и реализованной программой
(рис. 3.4). Под концептуальной моделью понимается концепция
знаний о данной области, построенная инженером по знаниям.
Несомненно, отличаясь от модели эксперта в данной области,
концептуальная модель действительно определяет структуру
формальной базы данных.
Концептуальная модель не является формальной или
исполняемой на компьютере. Это промежуточное проектное решение,
шаблон для начала процесса кодирования человеческого опыта.
При создании концептуальной модели рассматриваются
следующие
вопросы:
является
ли
решение
проблемы
детерминированным или оно основано на поиске? Хорошо ли изучена
область и может ли она обеспечить глубокие прогнозирующие модели,
или всё знание существенно эвристично? Является ли знание точным,
или оно «размыто»? Как выполняется рассуждение: на основе данных
(возможно, с генерацией и тестированием) или на основе цели (с
учётом некоторого множества вероятных гипотез)? и т.д.
! При поиске на основе данных (data-driven search – поиск,
управляемый данными), который иногда называют прямой цепочкой
(forward chaining), исследователь начинает процесс решения задачи,
анализируя её условие, а затем применяет допустимые ходы или
правила изменения состояния. В процессе поиска правила
применяются к известным фактам для получения новых фактов,
которые, в свою очередь, используются для генерации новых фактов.
59
Этот процесс продолжается до тех пор, пока мы, если повезёт, не
достигнем цели.
Рис.3.4. Роль ментальных или концептуальных моделей в решении
проблем
Возможен и альтернативный подход. Рассмотрим цель, которую
мы хотим достичь. Проанализируем правила или допустимые ходы,
ведущие к цели, и определим условия их применения. Эти условия
становятся новыми целями, или подцелями, поиска. Поиск
продолжается в обратном направлении от достигнутых подцелей до
тех пор, пока (если повезёт) мы не достигнем исходных данных
задачи. Т.о. определяется путь от данных к цели, который на самом
деле строится в обратном направлении. Этот подход называет поиском
от цели, или обратной цепочкой.
Т.о.: поиск на основе данных начинает с условий задачи и
выполняется путём применения правил или допустимых ходов для
получения новых фактов, ведущих к цели. Поиск от цели начинает с
обращения к цели и продолжается путём определения правил, которые
могут привести к цели, и построения цепочки подцелей, ведущей к
исходным данным задачи.!
! Граф состоит из множества вершин и дуг, соединяющих пары
вершин. Частный случай графа – корневой граф – содержит
единственную вершину, от которой существует путь к любой вершине
60
графа. Это вершина называется корнем. Путь на графе – это
последовательность дуг, соединяющих соседние вершины. Путь
представляется списком дуг, систематизированным в порядке их
следования (см. рис. 3.5). Примеры путей: [a, b, f], [a, c, g].
Представление логических связей, определяемых логическими
операторами, осуществляется при помощи графа И/ИЛИ. Чтобы
представить различные отношения графически, на графах И/ИЛИ
различают узлы и (^) и или (v). Дуги, идущие от и-узлов, соединяются
кривой (см. рис. 3.6).
! Поиск в глубину (depth-first) – после исследования состояния
сначала необходимо оценить все его потомки, а затем исследовать
любую из вершин братьев. Поиск в глубину по возможности
углубляется в область поиска. Если дальнейшие потомки состояния не
найдены, рассматриваются вершины-братья. Поиск в глубину
исследует состояние графа на рис. 3.7. в таком порядке: a, b,e,f, c, g, h,
i, d, j.
Рис. 3.5.
Рис. 3.6. Граф И/ИЛИ для выражения
qr  p. !
При поиске в ширину (breadth-first), наоборот, исследуется
пространство состояний по уровням, один за другим. И только если
состояний на данном уровне больше нет, алгоритм переходит к
следующему уровню. При поиске в ширину на графе (рис. 3.8а.)
состояния рассматриваются в таком порядке: a, b, c, d, e, f, g, h , i, j.
61
Рис. 3.7
3.4. Экспертные систем, основанные на правилах
В ЭС, основанных на правилах, знание о решении задач
представляют в виде правил «если … то … ». Этот подход, являясь
одним из старейших методов представления знаний о предметной
области в ЭС, применяется в системах, архитектура которых показана
на рис. 3.1 (Архитектура типовой ЭС для конкретной предметной
области). Как один из наиболее естественных он широко используется
в коммерческих и экспериментальных ЭС.
В системе, основанной на правилах, пары «условие-действие»
представляются правилами «если … то… », в которых посылка (часть
если) соответствует условию, а заключение (часть то) – действию.
Если условие удовлетворяется, ЭС осуществляет действие,
означающее истинность заключения.
В ЭС на основе цели в рабочую память помещается целевое
выражение. Система сопоставляет заключения правил с целевым
выражением и помещает их предпосылки в рабочую память. Это
соответствует декомпозиции проблемы на более простые подцели. На
следующей итерации работы системы процесс продолжается, эти
предпосылки становятся новыми подцелями, которые сопоставляются
с заключениями правил. Система работает до тех пор, пока все
подцели в рабочей памяти не станут истинными, подтверждая
гипотезу.
В ЭС, чтобы достичь подцели, следует запросить информацию у
пользователя. В некоторых ЭС разработчики определяют, какие
подцели могут достигаться путём запроса к пользователю. Другие
системы обращаются к пользователю, если не могут вывести
истинность подцели на основе правил из базы знаний.
В качестве примера решения задач на основе цели с запросами к
пользователю рассмотрим небольшую ЭС диагностики автомобиля.
Это не полная ЭС диагностики, т.к. она содержит всего четыре очень
простых правила. Она приводится как пример, демонстрирующий
62
образование цепочек правил, интеграцию
использование возможностей объяснения.
новых
данных
и
Правило 1: если топливо поступает в двигатель и двигатель
вращается, то проблема в свечах зажигания.
Правило 2: если двигатель не вращается и фары не горят, то
проблема в аккумуляторе или проводке.
Правило 3: если двигатель не вращается и фары горят, то проблема
в стартёре.
Правило 4: если в баке есть топливо и топливо поступает в
карбюратор, то топливо поступает в двигатель.
Рис. 3.8. Начало работы системы диагностики неисправностей
автомобиля.
Рис. 3.9. Система после активации правила 1
63
Для работы с этой базой знаний цель верхнего уровня проблема
в Х помещается в рабочую память, как показано на рис.3.8. Здесь Х –
переменная, которая может сопоставляться с любой фразой, например,
проблема в аккумуляторе или проводке. В процессе решения задачи
она будет связана с некоторым значением. С выражением в рабочей
памяти сопоставляются три правила: правила 1, правило 2 и правило 3.
Если мы разрешаем конфликты, предпочитая правила с наименьшим
номером, будет активизироваться правило 1. При этом Х связывается
со значением свечи зажигания, и предпосылки правила 1 помещаются
в рабочую память (рис. 3.9.) Т.о., система выбирает для исследования
гипотезу о неисправности свечей зажигания. Это можно рассматривать
как выбор системой ветви ИЛИ на графе И/ИЛИ.
Отметим, что для истинности заключения правила 1 должны
быть удовлетворены две предпосылки. Они являются ветвями И графа
поиска, представляющего декомпозицию задачи (действительно ли
проблема в свечах зажигания) на две подзадачи (топливо поступает в
двигатель и двигатель вращается). Затем можно активизировать
правило 4, заключение которого сопоставляется с целевым
утверждением топливо поступает в двигатель, и его предпосылки
помещаются в рабочую память (рис. 3.10).
Теперь в рабочей памяти существуют три элемента, которые не
соответствуют ни одному из заключений в наборе правил. В подобной
ситуации ЭС будет запрашивать пользователя. Если пользователь
подтвердит истинность всех трёх подцелей, ЭС успешно определит,
что автомобиль не заводится из-за неисправности свечей зажигания.
При поиске этого решения система исследовала крайнюю слева ветвь
графа И/ИЛИ, показанного на рис. 3.11.
Конечно, это очень простой пример. И не только потому, что
база знаний об автомобиле ограничена, а также потому, что в этом
примере не учитывается ряд важных аспектов реализации. Правила
описаны на русском, а не на формальном языке. При обнаружении
решения реальная ЭС сообщит пользователю свой диагноз (наша
модель просто останавливается). Необходимо также поддерживать
достаточно длинную историю рассуждений, чтобы в случае
необходимости возвратиться назад. Если вывод о неисправности
свечей зажигания окажется неудачным, нужно иметь возможность
возвратиться на второй уровень и проверить правило 2.
64
Рис.3.10. Система после активации правила 4. Обратите внимание на
использование стека в процессе приведения цели.
Рис. 3.11. Граф И/ИЛИ при сравнении заключения правила 4 с первой
предпосылкой правила 1 в примере диагностики автомобиля
65
3.5. Объяснения и прозрачность при рассуждении на основе цели
Обычно ЭС, основанные на правилах, отвечают на два вопроса
– «почему?» и «как?». Вопрос «почему?» возникает, когда программа
запрашивает информацию у пользователя, и его ответ означает
«почему вы запрашиваете эту информацию?». Ответом является
текущее правило, которое система пытается активизировать. Ответом
на вопрос «как вы получили этот результат?» является
последовательность правил, использованных для достижения цели.
Предположим автомобильная ЭС имеет средства объяснения, и
в процессе работы достигла стадии, представленной конфигурацией
рабочей памяти на рис. 3.10. Приведённый ниже диалог начинается с
вопроса компьютера к пользователю о целях, представленных в
рабочей памяти. Ответы пользователя выделены жирным шрифтом.
В баке есть топливо?
Да
Топливо поступает в карбюратор?
Да
Двигатель вращается?
Почему?
Здесь пользователь задаёт вопрос: «Почему вы хотите знать,
вращается ли двигатель?». Система отвечает с помощью символьного
представления правила, к которому относится вопрос.
Было установлено, что:
1. топливо поступает в двигатель,
поэтому если
2. двигатель вращается,
то проблема в свечах зажигания.
Поскольку пользователь на первых два вопроса ответил «да»,
это дало возможность активизировать правило 1 и проверить его
первую предпосылку. Отметим, что объяснением поведения системы
является только вывод правила, которое находится в рассмотрении на
данный момент. Однако это обеспечивает адекватное объяснение
причин, почему программа хочет знать вращается ли двигатель. В
ответ на вопрос «почему?» система отмечает, что, по её данным,
топливо поступает в двигатель. Предположим, пользователь далее
спрашивает:
66
Как топливо поступает в двигатель?
Ответом является последовательность рассуждений, приведшая
к этому заключению. Она восстанавливается обратным проходом от
цели вдоль соответствующих правил до информации, введённой
пользователем.
Из правила 4 следует:
Если
В баке есть топливо и
Топливо поступает в карбюратор, то
Топливо поступает в двигатель,
В баке есть топливо – указано пользователем
Топливо поступает в карбюратор – указано пользователем
Т. о., архитектура ЭС обеспечивает основу для этих объяснений.
В каждом цикле управления выбирается и активируется новое
правило. После каждого цикла программа может быть остановлена и
проинспектирована.
Так, система, основанная на знаниях, отвечает на вопросы
«почему?», отображая текущее правило, которое она пытается
активизировать. В ответ на вопросы «как?» она предоставляет
последовательности рассуждений, которая привела к цели. Хотя эти
механизмы являются концептуально простыми, они обладают
хорошими возможностями объяснений, если база знаний организована
логически грамотно. Если объяснения должны быть логичными, важно
не только, чтобы база знаний выдавала корректный ответ, но, и чтобы
каждое правило соответствовало одному шагу процесса решения
проблемы. Если в одном правиле базы знаний заключено несколько
шагов или правила сформулированы произвольным образом, получить
правильные ответы на вопросы «почему?» и «как?» будет сложнее.
Это не только подрывает доверие пользователя к системе, но и делает
программу более трудной для понимания и модификации
разработчиками.
3.6. Использование ЭС для рассуждений на основе данных
Рассмотренный пример диагностики автомобиля иллюстрирует
использование ЭС для реализации поиска на основе цели. В этом
пример использовался поиск в глубину, так как перед переходом к
67
соседним целям для каждой обнаруженной в базе правил подцели
производился исчерпывающий поиск.
Однако ЭС является идеальной архитектурой и для рассуждений на
основе данных.
В рассуждениях на основе данных чаще применяется поиск в
ширину. Алгоритм очень прост: содержимое рабочей памяти
сравнивается с предпосылками каждого правила в упорядоченной базе
правил. Если данные в рабочей памяти приводят к активизации
правила, результат перемещается в рабочую память, и управление
передаётся следующему правилу. После рассмотрения всех правил
поиск повторяется сначала.
Рассмотрим, снова, задачу автомобильной диагностики. Если
предпосылка правила не выводится из других правил, то недостающая
информация
запрашивается
при
необходимости.
Например,
предпосылка правила 1 (топливо поступает в двигатель) не является
запрашиваемой, так как этот факт является заключением другого
правила, а именно – правила 4.
Поиск в ширину на основе данных начинается из состояния,
показанного на рис. 3.12. Оно очень напоминает состояние,
изображённое на рис. 3.8. Отличие состоит лишь в отсутствии
информации в рабочей памяти. Предпосылки четырёх правил
проверяются на предмет «запрашиваемой» информации. Предпосылка
«топливо поступает в двигатель» не является запрашиваемой, поэтому
правило 1 применить нельзя, и управление переходит к правилу 2.
Информация «двигатель не вращается» является запрашиваемой.
Предположим, ответом на этот вопрос будет «ложь», тогда в рабочую
память заносится фраза «двигатель вращается», как показано на рис.
3.13.
Рис. 3.12. Система в начале процесса рассуждения на основе данных
68
Рис. 3.13. Система после оценки первой предпосылки правила 2,
которая оказалась ложной
Но правило 2 применить нельзя, поскольку первая из двух
конъюнктивных предпосылок является ложной. Управление переходит
к правилу 3, в котором первая посылка принимает значение «ложь». В
правиле 4 обе предпосылки являются запрашиваемыми. Предположим,
ответом на оба вопроса будет «истина», тогда предложение в баке
«есть топливо» и «топливо поступает в карбюратор» помещаются в
рабочую память. Туда же заносится и заключение правила – топливо
поступает в двигатель.
Итак, по первому разу все правила рассмотрены, и начинается
повторное рассмотрение правил с учётом нового содержания рабочей
памяти. Как показано на рис. 3.14, при сопоставлении правила 1 с
данными в рабочей памяти его заключение – «проблема в свечах
зажигания» - помещается в рабочую память. Больше никаких правил
применить нельзя, и сеанс решения задачи завершается. На рис. 3.15
показан граф поиска, узлы которого содержат информацию,
находящуюся в рабочей памяти (РП).
Важной модификацией, используемой в предыдущем примере
стратегии
поиска
в
ширину,
является
так
называемый
оппортунистический поиск. Это простая стратегия поиска: всякий раз
при активации правила для вывода новой информации управление
переходит к правилу,
69
Рис. 3.14. Основанная на данных ЭС после рассмотрения правила 4
начинает второй проход по правилам
содержащему эту новую информацию в качестве предпосылки.
Следовательно, любая вновь выведенная информация (состояние
графа поиска в результате обработки «запрашиваемых» предпосылок
не изменяется) является движущей силой для определения
активизируемых в дальнейшем правил. Из-за случайного порядка
следования правил представленный пример, сам по себе очень
простой, также оказался оппортунистическим.
В завершение раздела, посвящённого рассуждениям на основе
данных, затронем вопросы объяснений и прозрачности в системах
прямого поиска. Во-первых, по сравнению с системами, основанными
на цели, рассуждения на основе данных выполняются менее
целенаправленно. Причина этого очевидна – в системе, основанной на
цели, рассуждение направлено на решение конкретной задачи, которая
разбивается на более мелкие, и эти подзадачи, в свою очередь, могут
дробиться дальше. В результате поиск всегда направлен по иерархии,
ведущей от этой цели к её составляющим. В системах на основе
данных ориентация на цель отсутствует. Поиск выполняется по графу,
зависящему лишь от порядка следования правил и появления новой
информации. В итоге процесс поиска часто кажется «расплывчатым» и
расфокусированным.
Во-вторых, и это является прямым результатом только что
сказанного, пояснения, выдаваемые пользователю в процессе поиска,
весьма ограничены. В системах на основе правил в ответ на вопрос
«почему?» пользователю предоставляется рассматриваемое правило.
Однако, если последовательность правил точно не отслеживается
70
(например, с помощью оппортунистического поиска), это объяснение
нельзя развить. «Расплывчатость» поиска на основе данных затрудняет
подобные объяснения. И, наконец, при достижении цели системе
трудно дать исчерпывающее объяснение в ответ на вопрос «как?». В
качестве частичного или полного объяснения можно лишь
использовать
содержимое
рабочей
памяти
или
список
активизированных правил. Но опять-таки эти пояснения не дают
полного согласованного обоснования, которое наблюдалось в
рассуждениях на основе цели.
Рис. 3.15. Граф поиска в ширину на основе данных, узлами которого
является информация из рабочей памяти (РП)
71
3.7. Введение в рассуждение на основе модели
Механизм рассуждения, который базируется на спецификации и
функциональности физической модели, называется системой на основе
модели. Система рассуждений на основе модели осуществляется
программное моделирование тех функций, которые необходимо
понять или зафиксировать.
Первые системы рассуждений на основе моделей появились в
середине 1970-х. Некоторые из наиболее ранних работ были
направлены на создание программных моделей различных физических
приборов, таких как электронные цепи, с целью их изучения. В этих
работах прибор или цепи описывались в виде набора правил,
например, законов Ома или Кирхгофа. Обучающая система могла
проверить знания студента в данной области, а также передать ему
недостающие данные. Правила, с одной стороны, обеспечивали
представление функциональности, а с другой – представляли собой
среду для передачи знаний студенту. Развитием этих ранних
обучающих систем, стали системы рассуждения на основе моделей,
предназначенные для устранения неисправностей. При выявлении
неисправности в физической системе модель предлагает множество
прогнозируемых вариантов поведения. Система, основанная на
модели, сообщает пользователю чего ожидать, а различия между
наблюдаемым и ожидаемым поведением приводят к идентификации
неисправностей.
Качественные рассуждения на основе моделей включают
следующие аспекты:
1. Описание каждого компонента прибора, позволяющее
моделировать их поведение.
2. Описание внутренней структуры прибора. Оно обычно
содержит представление компонентов и их взаимосвязей
наряду с возможностью моделировать их взаимодействие.
Требуемая степень знаний внутренней структуры зависит от
применяемого уровня абстракции и ожидаемого диагноза.
3. Диагностика частной проблемы. Это требует наблюдений
реального поведения прибора, обычно – измерения его входов
и выходов. Входные и выходные измерения получить легче
всего.
Задача заключается в определении неисправных компонентов с
учётом наблюдаемого поведения. Это требует дополнительных
правил, описывающих известные формы неисправностей для
72
различных компонентов и их комбинаций. Система рассуждений
должна обнаружить наиболее вероятные неисправности, объясняющие
наблюдаемое поведение системы.
Для представления причинно-следственной и структурной
информации в моделях можно использовать различные структуры
данных. Для отражения причинности и функциональности прибора в
программе рассуждений на основе моделей зачастую используют
правила. Правила могут также использоваться для фиксации
отношений между компонентами.
В качестве примера рассмотрим схему из трёх мультиплексоров
и двух сумматоров (рис. 3.16).
Рис.3.16. Направленные информационные потоки.
В этом примере входные значения задаются в точках «А – Е», а
выходные вычисляются в точках «F» и «G». Ожидаемые выходные
значения задаются в круглых скобках, а действительные выходы – в
квадратных. Задача заключается в определении неисправности,
объясняющей различие между этими значениями. В точке «F»
наблюдается конфликт: ожидаемым выходным значением является
«12», а реально полученным «10». Проверяя зависимости в этой точке,
определяем, что значение в точке «F» вычисляется как функция от
ADD-1. Это значение в свою очередь зависит от выходов MULT-1 и
MULT-2. Одно их этих устройств содержит неисправность,
следовательно, необходимо рассмотреть три гипотезы: либо поведение
сумматора неадекватно, либо некорректным является один из двух его
входов. Тогда проблему нужно искать дальше в сети.
Если исходя из результата «F» (значения 10) предположить, что
поведение ADD-1 и значение «6» его первого входа «X» корректны, то
73
значение на втором входе ADD-1 (обозначим его через «Y») должно
быть равно «4». Но это противоречит ожидаемому значению «6»,
являющемуся результатом правильного поведения MULT-2 и входов
«B» и «D». Мы наблюдали за этими входами и знаем, что на них
поступали правильные значения. Следовательно, неисправен модуль
MULT-2. Вариантом второй гипотезы может быть предположение, что
модуль ADD-1 исправен, а неисправен компонент MULT-1.
Продолжая рассуждения, приходим к выводу, что если на
первый вход «X» модуля ADD-1 поступает корректное значение и сам
ADD-1 работает корректно, то значение второго входа «Y» должно
быть равно «4». Если это так, то «G» должно принимать значение
«10», а не «12», так что вывод MULT-2 должен равняться «6» и быть
корректным. Здесь мы отбрасываем гипотезу, что неисправность
содержится в MULT-1 или ADD-1. Эти модули можно рассмотреть
при дальнейшем тестировании.
В рассуждениях о ситуации, показанной на рис. 3.14,
рассматривались три задачи.
1.
2.
3.
Создание гипотезы о том, какие компоненты устройства могли
вызвать расхождение ожидаемого и реального значений.
Проверка гипотезы, в процессе которой при заданной
совокупности потенциально неисправных компонентов
определяется, какой из них может объяснить наблюдаемое
поведение.
Выделение гипотез, когда в результате тестирования остаётся
несколько версий (как на рис. 3.14) и необходимо определить,
какая дополнительная информация может помочь выявить
неисправность.
Надо отметить, что в примере на рис. 3.14 предполагается, что
неисправен единственный модуль. Мир не всегда так прост, хотя
предположение о единственной неисправности является полезной и
часто корректной эвристикой.
Поскольку методы, основанные на качественных моделях,
требуют понимания принципов функционирования рассматриваемых
устройств, они устраняют многие ограничения эвристических
подходов. Подходы, основанные на моделях, позволяют представить
устройства и схемы на причинном и функциональном уровне, а не
рассуждать о причинах неисправностей на основе наблюдаемых
явлений. Программный код отражает как функции моделей, так и
внутренние зависимости системы. Такие модели часто более надёжны,
74
чем эвристические подходы. Однако обратной стороной такого
точного моделирования является то, что стадия извлечения знаний
требует большой скрупулёзности, а результирующая программа может
оказаться громоздкой и медлительной. Поскольку эвристические
подходы «компилируют» распространённые случаи в общее правило,
они зачастую более эффективны.
Однако с подходом на основе модели связаны более глубокие
проблемы. Как и рассуждения на основе правил, модель системы – это
всего лишь модель. Она является необходимой абстракцией системы и
на некотором уровне детализации становится некорректной.
Например, рассмотрим входные клеммы на рис. 3.14. Мы считали эти
значения заданными и корректными, не проверяя состояние самих шин
и контактов с мультиплексорами. А если повреждены провода и
неисправны контакты? Если пользователь не учёл эту информацию,
модель не будет соответствовать действительному устройству.
Любая модель описывает идеальную ситуацию, т.е.
предполагаемые действия системы, а не реальные. Неисправным
соединением считается контактная точка в системе, в которой
небрежно соединены два провода или устройства. Большинство
рассуждений, основанных на моделях, не обеспечивают диагностику
неисправностей соединения из-за априорных предположений базовой
модели и заложенных в них методов поиска для определения
аномалий.
Но, несмотря на эти недостатки, рассуждения на основе моделей
являются важным дополнением к инструментальным средствам
инженера по знаниям. Исследователи продолжают углублять наше
понимание диагностики за счёт исследования принципов
эффективного решения этой задачи человеком-экспертом, а также
улучшения машинной реализации алгоритмов.
3.8. Введение в рассуждение на основе опыта
Эвристические правила и теоретические модели – вот два типа
информации, которые человек-эксперт использует для решения
проблем. Ещё одной мощной стратегией, используемой экспертами,
является рассуждение на основе опыта решения задач. В рассуждениях
на основе опыта для решения новых проблем используется детальная
база данных, содержащая известные решения задач. Эти решения
могут быть собраны экспертами в области знаний или могут
отображать результаты предыдущих успешных и неудачных попыток
поиска решения. Например, медицинская диагностика основывается не
75
только на теоретических моделях болезней, анатомии и физиологии,
но и на изучении истории болезни и врачебного опыта,
приобретённого при лечении других пациентов.
Рассуждения на основе опыта обеспечивают ряд преимуществ
для разработки ЭС. Процесс извлечения знаний может быть упрощён,
если механизм рассуждения будет использовать записанные решения
экспертов по ряду проблем. Это могло бы освободить инженера по
знаниям от необходимости разрабатывать общие правила на основе
примеров, полученных от экспертов. Механизм рассуждения сможет
обобщать правила автоматически, применяя их к новым ситуациям.
Подходы к таким рассуждениям позволяют ЭС учиться на своём
опыте. После решения задачи путём поиска система может сохранить
это решение, чтобы воспользоваться им при возникновении подобной
ситуации (без привлечения поиска). Важно запоминать информацию
как об успешных, так и о неудачных попытках решения. Т.о.,
рассуждения на основе опыта являются мощным средством для
обучения.
Механизм рассуждения на основе опыта функционирует
следующим образом:
1.
2.
Находит подходящие случаи в памяти. Случай является
подходящим, если решение может быть успешно применено в
новой ситуации. Поскольку механизмы рассуждения не могут
знать этого наперёд, для выбора случаев обычно используются
эвристики. Как люди, так и искусственные механизмы
рассуждения, определяют подобие на основе общих
признаков: например, если у двух пациентов наблюдается ряд
общих признаков, связанных с симптомами и историей
болезни, то велика вероятность, что у них одно и то же
заболевание, и им подходит один и тот же курс лечения. Для
эффективного поиска память должна быть организована
соответствующим образом. Обычно ситуации индексируются
по их существенным признакам, что обеспечивает
эффективный поиск аналогичных случаев. Идентификация
существенных признаков зависит от ситуации.
Приспосабливает найденную ситуацию к текущей. Обычно
случай – это последовательность операций, преобразующих
начальное состояние в целевое. Механизм рассуждения
должен модифицировать некоторые операции в сохранённом
решении с учётом специфики текущей проблемы. Здесь могут
быть полезны такие аналитические методы, как подбор
76
3.
4.
зависимости параметров, общих для сохранённых случаев и
новой проблемы. Если аналитические связи между
ситуациями отсутствуют, могут использоваться более
эвристические методы – например, справочники.
Применяет
преобразованное
решение.
Модификация
известного
случая
на
обязательно
гарантирует
удовлетворительное решение проблемы. Может потребоваться
ещё одна итерация выполнения первых трёх шагов.
Сохраняет успешное или неудачное решение для дальнейшего
использования. Сохранение новых случаев требует адаптации
индексной структуры. Существуют специальные методы
поддержки индексов (например, алгоритмы кластеризации).
Для реализации рассуждения на основе случая могут
потребоваться специальные структуры данных. Обычно случай
запоминается как множество правил типа ситуация-действие. Факты,
описывающие ситуацию, являются существенными признаками этого
случая, а операторы, представляющие действия, описывают
преобразования, используемые в новой ситуации.
Наиболее трудным вопросом в решении проблем на основе
опыта является выбор существенных признаков для индексирования и
поиска ситуаций. Необходимо выполнить тщательный анализ
дескрипторов ситуации в контексте того, как случаи должны быть
использованы в процессе решения.
Например, рассмотрим проблему слабого коммуникационного
сигнала на спутнике в момент времени 10:24:35 (GMT - среднее время
по Гринвичскому меридиану). На основе анализа определяется, что,
кроме всего прочего, система имеет низкую мощность. Низкая
мощность может быть следствием того, что солнечные батареи
неправильно ориентированы по отношению к Солнцу. Наземные
контроллеры
регулируют
ориентацию
спутника,
мощность
увеличивается, и коммуникационный сигнал снова становится
сильным. Для записи этого случая можно использовать ряд
существенных признаков. Наиболее важным из них является слабый
коммуникационный сигнал или низкий ресурс мощности. Другой
существенный признак - время возникновения проблемы (10:24:35). В
соответствии с целями и потребностями решателя задач
существенными признаками являются слабый коммуникационный
сигнал и низкий ресурс мощности. Время события может не иметь
никакого значения, за исключением случая, если поломка произошла
именно после того, как Солнце скрылось за горизонтом.
77
Другой существенной проблемой является представление таких
понятий, как слабый сигнал или низкая мощность. Поскольку эта
ситуация вряд ли повторится в точности, то значение сигнала
целесообразно представлять интервалами действительных чисел,
определяющими хороший, граничный, слабый и опасный уровни.
Примеры эвристик для организации, хранения и поиска
ситуаций:
1.
2.
3.
4.
5.
6.
Упорядочение на основе целей. Случаи систематизируются,
по крайней мере частично, на основе описания цели.
Выполняется поиск случаев, цель которых соответствует
текущей ситуации.
Упорядочение по существенным признакам. Выбираются
случаи, для которых наиболее важны признаки (или
большинство важных признаков) совпадают.
Предпочтение точных совпадений. Сначала рассматриваются
все случаи точного совпадения признаков, а затем более
общие соответствия.
Частотное предпочтение. Сначала проверяются наиболее
типичные случаи.
Предпочтение новизны. Предпочтение отдаётся случаям,
которые использовались последними.
Предпочтение лёгкости адаптации. Используются первые,
наиболее легко адаптируемые к текущей ситуации.
Рассуждения на основе опыта имеют рад преимуществ при
разработке ЭС. Как только инженеры по знаниям остановились на
некотором представлении случая, дальнейшее извлечение знаний не
представляет труда. Оно сводится к сбору и сохранению накопленных
ситуаций. Описания случаев могут быть найдены в исторических
записях или при наблюдении современных явлений.
Рассуждения на основе опыта поднимают ряд теоретических
вопросов, относящихся к человеческому обучению и рассуждениям.
Одним из наиболее острых и критических вопросов является
определение степени подобия. Хотя меру подобия двух случаев можно
описывать как функцию, зависящую от числа общих признаков, такое
представление содержит ряд тонкостей. Например, большинство
объектов и ситуаций имеют бесконечное число свойств. Однако
механизм рассуждений на основе опыта, как правило, выбирает случаи
из очень небольшого архива поиска, составляемого инженером по
знаниям. Несмотря на некоторые исследования возможности решателя
78
определять соответствующие признаки из своего собственного опыта,
определение информативности признаков остаётся сложной
проблемой.
Другой важной проблемой, с которой сталкиваются
специалисты при реализации рассуждений на основе опыта, является
проблема компромисса между запоминанием и вычислением. По мере
запоминания новых случаев механизм рассуждений становится всё
более интеллектуальным, способным лучше решать различные
проблемы. Действительно по мере добавления в память новых случаев
результаты рассуждений до некоторого момента будут улучшаться. Но
по мере роста базы данных время, необходимое для поиска и
обработки информации о прецедентах, тоже растёт. Снижение
эффективности для больших баз данных также может объясняться
пересечением понятий и другими помехами. Одним из решений этой
проблемы является хранение лишь «наилучших» или «прототипных»
случаев и вычёркивание тех, которые являются избыточными или
редко используемыми. Следовательно, система рассуждений должна
забывать случаи, которые не доказали свою полезность.
Автоматизированные объяснения рекомендаций – ещё один тип
рассуждения на основе опыта. В ответ на вопрос, почему в данной
ситуации рекомендуется принимать именно это лекарство,
единственным объяснением системы является то, что именно это
назначение было сделано в предыдущий период времени. Иногда
используются объяснения, основанные на сходстве описаний текущей
и предыдущей ситуаций. В примере задачи спутниковой
коммуникации подходящий случай был выбран на основе слабого
коммуникационного сигнала. Этот способ рассуждения тоже не
обеспечивает более глубокого объяснения, чем то, которое было
выработано ранее в подобной ситуации. Но зачастую этого может
быть достаточно.
Однако многие исследователи убеждены, что простое
повторение целей высокого уровня и используемых случаев является
недостаточным объяснением. Вернёмся к ситуации со спутником.
Предположим, что переориентация солнечной батареи помогает
улучшить качество сигнала, но через три часа сигнал снова становится
слабым. Используя частотную эвристику и эвристику новизны, мы
снова переориентируем солнечную батарею. Через три часа слабый
сигнал снова повторяется. Каждые три часа мы используем одно и
тоже назначение. Этот пример основан на реальной ситуации, в
которой была обнаружена более сложная причина, а именно:
перегрелся гироскоп и давал искажённые данные об ориентации
79
спутника. Окончательно решить проблему и определить причину
слабого коммуникационного сигнала удалось лишь с помощью
рассуждений на основе модели поведения спутника.
3.9. Гибридные системы: достоинства и недостатки (сравнение
различных типов поиска)
Рассуждения на основе правил (преимущества):
1.
2.
3.
4.
5.
Возможность использовать знания экспертов в очень простой
форме. Это важно в областях, зависящих от эвристик
управления сложной и/или отсутствующей информацией.
Правила отображаются в пространство состояний поиска.
Возможность объяснения облегчает отладку программ.
Отделение знаний от управления упрощает разработку ЭС,
обеспечивая итеративный процесс разработки, в котором
инженер накапливает, реализует и тестирует отдельные
правила.
В ограниченных предметных областях возможны хорошие
результаты. Поскольку для интеллектуального решения
задачи требуется большой объём знаний, ЭС ограничиваются
узкими областями. Однако существует много областей, в
которых разработка ЭС оказалась чрезвычайно полезной.
Хорошие
возможности
объяснения.
Хотя
системы
рассуждения на основе правил поддерживают гибкие,
проблемно-зависимые объяснения, необходимо отметить, что
максимальное качество этих объяснений зависит от структуры
и содержания правил. Возможности объяснения в системах,
основанных на данных и целях, сильно различаются.
Рассуждения на основе правил (недостатки):
1.
2.
Правила, полученные от экспертов, часто являются
эвристическими по природе и не охватывают функциональных
знаний или знаний, основанных на моделях.
Эвристические правила обычно не позволяют управлять
отсутствующей информацией или неожиданными значениями
данных.
80
3.
4.
5.
В отличие от людей, системы на основе правил при
столкновении с новыми проблемами обычно не способны
возвратиться
назад
к
первоначальным
принципам
рассуждения.
Объяснения применимы лишь на описательном уровне.
Теоретические обоснования отсутствуют. Это связано с тем,
что эвристические правила напрямую связывают симптомы с
решениями и не обеспечивают более глубоких рассуждений.
Знания являются проблемно-зависимыми. Формализованные
знания о некоторой предметной области, как правило, очень
специфичны и применимы только к данной области.
Современные языки представления знаний не обеспечивают
гибкости, присущей человеку.
Рассуждения на основе опыта (преимущества):
1.
2.
3.
4.
5.
Возможность напрямую использовать исторический опыт. Во
многих областях необходимую информацию можно получить
из существующих исторических материалов, записей или
других источников. При этом устраняется необходимость
интенсивного приобретения знаний с помощью человекаэксперта.
Возможность сокращения рассуждений. Если известен
аналогичный случай, новые задачи решаются гораздо быстрее,
чем при использовании правил или моделей.
Рассуждения на основе опыта позволяют избежать прошлых
ошибок и использовать прошлые успехи. Они обеспечивают
модель обучения, как интересную с теоретической точки
зрения, так и достаточно практичную для применения в
сложных ситуациях.
Не требуется всестороннего анализа знаний о данной области.
В отличие от систем, основанных на правилах, где инженер по
знаниям должен описать взаимодействие правил, рассуждения
на основе опыта обеспечивают простую аддитивную модель
приобретения знаний. Для использования этого подхода
необходимо обеспечить соответствующее представление
случаев, индексирование данных и стратегию адаптации.
Соответствующие стратегии индексирования повышают
эффективность решения задач. Мощность механизма
рассуждений на основе опыта определяется возможностью
выявлять отличительные особенности целевой проблемы и
81
выбирать соответствующий случай из базы данных.
Алгоритмы
индексации
часто
обеспечивают
эту
функциональность автоматически.
Рассуждения на основе опыта (недостатки):
1.
2.
3.
Описания случаев обычно не учитывают более глубокие
знания о предметной области. Это снижает качество
объяснения и во многих ситуациях приводит к ошибочному
применению опыта, а значит, к неправильным или
низкокачественным советам.
Большая база данных может привести к снижению
производительности системы.
Трудно определить хороший критерий для индексирования и
сравнения случаев. Словари поиска и алгоритмы определения
подобия необходимо тщательно отлаживать вручную. Это
может нейтрализовать многие из преимуществ, присущих
рассуждениям на основе опыта.
Рассуждения на основе моделей (преимущества):
1.
2.
3.
4.
Возможность
использовать
при
решении
задач
функциональные и структурные знания о предметной области.
Это увеличивает эффективность механизма рассуждений при
решении различных задач, включая те, которые не были
предусмотрены при разработке системы.
Механизмы рассуждений на основе моделей обычно очень
эффективны. Они являются мощными и гибкими средствами
решения задач, поскольку, как и люди, часто возвращаются к
исходным данным при столкновении с новой проблемой.
Некоторые знания можно использовать в разных задачах.
Системы рассуждений на основе моделей зачастую
базируются на теоретических научных знаниях. Поскольку
наука обычно оперирует общими теориями, такое обобщение
часто расширяет возможности механизма рассуждений на
основе моделей.
Обычно системы рассуждений, основанные на моделях,
обеспечивают причинные объяснения. Таким образом
пользователям можно передать более глубокое понимание
82
причин неисправности, которое может сыграть важную
образовательную роль.
Рассуждения на основе моделей (недостатки):
1.
2.
3.
4.
Отсутствие экспериментального (описательного) знания
предметной области. Эвристические методы, используемые
при рассуждениях на основе правил, отражают важный класс
экспертных оценок.
Необходимость точной модели предметной области. Знания из
многих областей имеют строгую научную основу, которую
можно использовать в рассуждениях на основе моделей.
Однако во многих сферах, например, в некоторых
медицинских
направлениях,
большинстве
проблем
проектирования или финансовых приложениях, хорошо
определённая научная теория отсутствует. В таких случаях
подходы, основанные на моделях, не могут быть
использованы.
Высокая сложность. Рассуждения, основанные на моделях,
обычно ведутся на детализированном уровне, что приводит к
значительным усложнениям. Именно поэтому эксперты в
первую очередь разрабатывают эвристики.
Исключительные ситуации. Необычные обстоятельства,
например, замыкание или взаимодействие множества
неисправных электронных компонентов, могут изменить
функциональность системы таким образом, что её трудно
будет предсказать.
Гибридные системы
Важной областью исследований является комбинация
различных моделей рассуждений. В гибридной архитектуре,
объединяющей несколько парадигм, эффективность одного подхода
может компенсировать слабости другого. Комбинируя различные
подходы, можно обойти недостатки, присущие каждому из них
отдельности.
Например, сочетание рассуждений на основе правил и опыта
может обеспечить следующие преимущества:
1.
Просмотр известных случаев до начала рассуждений на
основе правил позволяет снизить затраты на поиск.
83
2.
3.
Примеры и исключения можно сохранять в базе данных
ситуаций.
Результаты поиска можно сохранить для будущего
использования. При этом механизм рассуждений позволит
избежать затрат на повторный поиск.
Комбинация рассуждений на основе правил и моделей
открывает следующие возможности:
1.
2.
3.
Объяснения дополняются функциональными знаниями. Это
может быть полезно в обучающих системах.
Повышается устойчивость систем при отказах. При
отсутствии эвристических правил, используемых в данном
случае, механизм рассуждений может прибегнуть к
рассуждениям от исходных принципов.
Поиск на основе моделей дополняется эвристическим
поиском. Это может помочь в сложных рассуждениях,
основанных на модели, и обеспечивает возможность выбора.
Комбинация рассуждений на основе моделей и опыта даёт
следующие преимущества:
1.
2.
3.
4.
Более разумное объяснение ситуаций.
Проверка аналогичных случаев до начала более экстенсивного
поиска посредством рассуждений на основе моделей.
Обеспечение записи примеров и исключений в базу данных
случаев, которые могут быть использованы для управления
выводом на основе модели.
Запись результатов вывода на основе моделей для будущего
использования.
Гибридные методы заслуживают внимания как исследователей,
так и разработчиков приложений. Однако построение таких систем
требует решения целого ряда проблем. Необходимо определить
методы рассуждения для данной ситуации, момент изменения метода
рассуждения, выяснить различия между методами рассуждения,
разработать
представления,
обеспечивающие
совместное
использование знаний.
84
Вопросы для самоконтроля:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Охарактеризуйте ЭС. Назовите возможности ЭС.
Назовите общие задачи ЭС.
Архитектура типовой ЭС.
Выбор задачи. Этапы проектирования ЭС.
Концептуальные модели.
Что такое поиск на основе данных и на основе цели? Что такое
граф?
Что такое поиск в глубину и в ширину?
Рассуждение на основе опыта.
Поясните функционирование механизма рассуждений на
основе опыта.
Назовите основные трудности, возникающие при реализации
рассуждений такого вида.
Пример «проблема слабого коммуникационного сигнала».
Назовите эвристики (примеры) для организации, хранения и
поиска ситуаций.
Достоинства и недостатки систем на основе правил.
Достоинства и недостатки систем на основе опыта.
Достоинства и недостатки систем на основе моделей.
Использование ЭС для рассуждений на основе данных.
Рассуждения на основе моделей.
ЭС, основанные на правилах.
Пример «диагностика автомобиля».
Объяснения и прозрачность при рассуждении на основе цели
85
Глава 4. Семантические сети
4.1.История
Семантические сети
Семантическая сеть (semantic network) представляет знания в
виде графа, узлы которого соответствуют фактам или понятиям, а дуги
– отношениям или ассоциациям между понятиями. Как узлы, так и
связи обычно имеют метки.
Семантическая сеть, которая определяет свойства понятий
«снег» и «лёд», показана на рис. 4.1.
Эту сеть можно использовать (с соответствующими правилами
вывода) для ответов на вопросы о снеге, льде и снеговике. Выводы
делаются путём прослеживания связей с соответствующими
понятиями. Семантические сети также реализуют наследование:
например, объект «снежная фигура» наследует свойства объекта
«снеговик».
Термин
«семантическая
сеть»
обозначает
семейство
представлений, основанных на графах. Эти представления отличаются
главным образом именами узлов, связей и выводами, которые можно
делать в этих структурах.
Ранние работы
Наиболее ранней работой, имеющей прямое влияние на
современные семантические сети, была система экзистенциальных
графов, разработанная Чарльзом Пирсом в 19 столетии.
Графы давно используются в психологии для представления
структур понятий и ассоциаций. Пионером в этой области был Солз
(начало 20 века), который использовал графы для представления
иерархий и наследования свойств. Он также разработал теорию
схематического упреждения, которая повлияла на работы по фреймам
схемам в ИИ. Андерсон, Норман, Румельхарт и др. использовали сети,
чтобы моделировать человеческую память и интеллектуальные
проявления (70е годы 20 века).
Первые компьютерные реализации семантических сетей были
созданы в начале 1960-х для использования в системах
автоматического (машинного) перевода.
В конце 1960-х была написана программа, которая
иллюстрирует многие особенности ранних семантических сетей. Эта
86
программа характеризовала английские слова примерно таким же
образом, как это делает словарь: слово определяется в терминах
других слов, и также формулируются составляющие этих
определений. В отличие от формального определения слов терминах
базовых аксиом каждая формулировка просто ведёт к другим
определениям, неструктурированными и, возможно, окольными
путями. При просмотре слова мы прослеживаем эту цепочку до тех
пор, пока не убедимся, что понимаем первоначальное слово.
Каждый узел в сети Куиллиана (по имени автора-разработчика)
соответствует словесному понятию, имеющему ассоциативные связи,
из которых формируется его определение. База знаний организована в
плоскости, каждая из которых является графом, характеризующим
одно слово. Ниже (на рис.4.2) показаны три плоскости, задающие три
различных определения слова «plant»:
Plant: 1. Живая структура, которая не является животным, часто с
листьями, получающая пищу из воздуха, воды и земли.
2.
Оборудование,
используемого
для
некоторого
производственного процесса.
3. Помещать (семя, растение и т.п.) в землю для выращивания.
87
Рис. 4.1. Сетевое представление свойств снега и льда
Программа использовала эту базу знаний для поиска отношений
между парами английских слов. Получив два слова, она осуществляла
на графах поиск в ширину для нахождения общего понятия, или узла
88
пересечения. Пути к общему узлу представляли отношения между
словесными понятиями.
Ещё один пример (с точкой пересечения) работы этой
программы. На рис. 4.3 показана точка пересечения путей, ведущих от
понятий «cry» (плач) и «comfort» (покой).
Используя пересечение этих путей, программа смогла
заключить следующее: «Плач (cry 2), помимо всего прочего, связан с
производством печальных звуков. Покой (comfort 3) может уменьшить
печаль».
Числа в ответах указывают, какие именно значения слов
выбрала программа.
Куиллиан предполагал, что этот подход к семантике обеспечит
следующие возможности систем понимания естественных языков:
1.
2.
3.
Определить смысл английского текста путём построения
совокупности узлов пересечения.
Выбирать смысл слов, находя самые короткие пути к точкам
пересечения с путями для других слов предложения.
Например, в английском предложении «Tom went home to
water his new plant» («Том пришёл домой полить своё новое
растение») система сможет выбрать значение слова «plant»,
основываясь на пересечении понятий «water» и «plant».
Гибко отвечать на вопросы, основываясь на ассоциациях
между понятиями в вопросах и в системе.
Хотя эта и другие ранние работы показали силу графов для
моделирования ассоциативного смысла, они были ограничены
чрезмерной
общностью
формализма.
Знание
обычно
структурировалось в терминах специфических отношений, таких как
объект-свойство или класс-подкласс. Исследования в области сетевых
представлений часто фокусировались на спецификации этих
отношений.
4.2. Структура семантических сетей
Математика позволяет описать большинство явлений в
окружающем мире в виде логических высказываний. Семантические
сети возникли как попытка визуализации математических формул.
Основным представлением для семантической сети является граф.
Однако не стоит забывать, что за графическим изображением
89
непременно стоит строгая математическая запись, и что обе эти формы
являются не конкурирующими, а взаимодополняющими.
Рис. 4.2. Три плоскости, представляющие три определения слова
«plant»
Графическое представление
Основной формой представления семантической сети является
граф. Понятия семантической сети записываются в овалах или
прямоугольниках и соединяются стрелками с подписями — дугами.
Это наиболее удобно воспринимаемая человеком форма. Её
недостатки проявляются, когда мы начинаем строить более сложные
сети или пытаемся учесть особенности естественного языка. Схемы
семантических сетей, на которых указаны направления навигационных
отношений называют картами знаний, а их совокупность,
90
позволяющая охватить большие участки семантической сети - атласом
знания.
Рис. 4.3. Пересечение путей, ведущих от понятий «cry» (плач) и
«comfort» (покой).
Математическая запись
В математике граф представляется множеством вершин V и
множеством отношений между ними E. Используя аппарат
математической логики, приходим к выводу, что каждая вершина
соответствует элементу предметного множества, а дуга — предикату.
Лингвистическая запись
В лингвистике отношения фиксируются в словарях и в
тезаурусах. В словарях в определениях через род и видовое отличие
родовое понятие занимает определённое место. В тезаурусах в статье
каждого термина могут быть указаны все возможные его связи с
другими родственными по теме терминами. От таких тезаурусов
необходимо отличать тезаурусы информационно-поисковые с
91
перечнями ключевых слов в статьях, которые предназначены для
работы дескрипторных поисковых систем.
Классификация семантических сетей
Для всех семантических сетей справедливо разделение по
арности и количеству типов отношений.



По количеству типов отношений, сети могут быть
однородными и неоднородными.
o Однородные сети обладают только одним типом
отношений (стрелок), например, таковой является
вышеупомянутая
классификация
биологических
видов (с единственным отношением AKO).
o В неоднородных сетях количество типов отношений
больше двух. Классические иллюстрации данной
модели представления знаний представляют именно
такие сети. Неоднородные сети представляют
больший интерес для практических целей, но и
большую сложность для исследования. Неоднородные
сети можно представлять, как переплетение
древовидных многослойных структур. Примером
такой сети может быть Семантическая сеть
Википедии.
По арности:
o типичными
являются
сети
с
бинарными
отношениями (связывающими ровно два понятия).
Бинарные отношения очень просты и удобно
изображаются на графе в виде стрелки между двух
концептов. Кроме того, они играют исключительную
роль в математике.
o На практике, однако, могут понадобиться отношения,
связывающие более двух объектов — N-арные. При
этом возникает сложность — как изобразить
подобную связь на графе, чтобы не запутаться.
Концептуальные графы снимают это затруднение,
представляя каждое отношение в виде отдельного
узла.
По размеру:
o Для решения конкретных задач, например, тех
которые решают системы искусственного интеллекта.
92
o
o
С. С. отраслевого масштаба должна служить базой
для создания конкретных систем, не претендуя на
всеобщее значение.
Глобальная семантическая сеть. Теоретически такая
сеть должна существовать, поскольку всё в мире
взаимосвязано. Возможно когда-нибудь такой сетью
станет Всемирная паутина.
Помимо концептуальных графов существуют и другие
модификации семантических сетей, это является ещё одной основой
для классификации (по реализации).
Семантические отношения
Количество типов отношений в семантической сети
определяется её создателем, исходя из конкретных целей. В реальном
мире их число стремится к бесконечности. Каждое отношение
является, по сути, предикатом, простым или составным. Скорость
работы с базой знаний зависит от того, насколько эффективно
реализованы программы обработки нужных отношений.
Иерархические
Наиболее часто возникает потребность в описании отношений
между элементами, множествами и частями объектов. Отношение
между объектом и множеством, обозначающим, что объект
принадлежит
этому
множеству,
называется
отношением
классификации
(IS-A).
Говорят,
что
множество
(класс)
классифицирует свои экземпляры. (пример: «Шарик является собакой»
= Шарик является объектом типа собака). Иногда это отношение
именуют также MemberOf, InstanceOf или подобным образом. Связь
IS-A предполагает, что свойства объекта наследуются от множества.
Обратное к IS-A отношение используется для обозначения примеров,
поэтому так и называется — «Example», или по-русски «Пример».
Иерархические отношения образуют древовидную структуру.

Отношение между надмножеством и подмножеством
(называется AKO — «A Kind Of», «разновидность»). (Пример:
«собака является животным» = тип с именем собака является
подтипом типа животные). Элемент подмножества
93

называется гипонимом (собака), а надмножества —
гиперонимом (животное), а само отношение называется
отношением гипонимии. Альтернативные названия —
«SubsetOf» и «Подмножество». Это отношение определяет,
что каждый элемент первого множества входит и во второе
(выполняется IS-A для каждого элемента), а также логическую
связь между самими подмножествами: что первое не больше
второго и свойства первого множества наследуются вторым.
Отношение АКО (Род-Вид) часто используется для навигации
в информационном пространстве, например, в Википедии.
Объект, как правило, состоит из нескольких частей, или
элементов. Например, компьютер состоит из системного
блока, монитора, клавиатуры, мыши и т. д. Важным
отношением является HasPart, описывающее связь частей и
целого — отношение меронимии. В этом случае свойства
первого множества не наследуются вторым. Мероним и
холоним — противоположные понятия:
o
o
Мероним — объект, являющийся частью для другого.
(Двигатель — мероним автомобиля.)
Холоним — объект, который включает в себя другое.
(Например, у дома есть крыша. Дом — холоним
крыши. Компьютер — холоним монитора.)
Часто в семантических сетях требуется определить отношения
синонимии и антонимии. Эти связи либо дублируются явно в самой
сети, либо определяются алгоритмической составляющей.
Вспомогательные
В семантических сетях часто используются также следующие
отношения:






функциональные связи (определяемые обычно глаголами
«производит», «влияет»…);
количественные (больше меньше, равно…);
пространственные (далеко от, близко от, за, под, над…);
временные (раньше, позже, в течение…);
атрибутивные (иметь свойство, иметь значение);
логические (И, ИЛИ, НЕ);
94

лингвистические.
Этот список может сколь угодно продолжаться: в реальном
мире количество отношений огромно. Например, между понятиями
может использоваться отношение «совершенно разные вещи» или
подобное:
Не_имеют_отношения_друг_к_другу
(Солнце, Кухонный_чайник).
Особенности использования некоторых типов отношений
В семантической сети в качестве понятий могут быть как
экземпляры объектов, так и их множества. Использование одних и тех
же отношений и для элементов, и для коллекций может привести к
недоразумениям. Подобные ошибки в работе некоторых первых
систем были описаны в статье Дрю Макдермотта «Искусственный
интеллект сталкивается с естественной глупостью».
Рассмотрим пример - четыре предложения:
1.
2.
3.
4.
У Павла есть отец по имени Алексей.
Для Павла найдётся отец из множества мужчин.
Найдётся человек, для которого Алексей — отец.
У каждого человека есть отец из множества мужчин.
Для человека ясен смысл этих фраз и многие не задумываясь
поставили бы во всех случаях отношение есть отец. Однако это
является ошибкой: в первом случае, действительно, описывается
отношение между двумя экземплярами, но во втором и третьем между экземпляром и множеством, а в четвёртом - отношение между
представителями из двух множеств. В математической записи это
выглядит так, соответственно для предложений 1 - 4:
I. ∃ павел & ∃
IIа. ∃ павел → ∃
IIб. ∃ алексей →
III. ∀ y ∈ люди
алексей : отец(алексей, павел);
x ∈ мужчины : отец(x, павел);
∃ y ∈ люди : отец(алексей, y);
→ ∃ x ∈ мужчины : отец(x, y);
Мы видим, что случаи IIа и IIб различаются только порядком
следования переменных в предикате, однако для правильности сети
95
это может сыграть важную роль. В примере перечислены лишь 4 рода
отношений, всего же для бинарной сети их существует девять. Они
различаются кванторами ∃ и ∀, а также порядком переменных.
Графически для отличия всех этих случаев применяют
специальные форму пометок отношений на графе: например,
отношения первого рода оставляют без изменений, второго - обводят
прямоугольной рамкой из точек, третьего - тире, а четвёртого - тиреточка. Либо можно просто написать рядом индекс типа отношения.
Наиболее часто встречающаяся путаница возникает насчёт
отношения IS-A. Поэтому во многих современных работах
принимается, что ISA обозначает связь между экземпляром и
множеством (вышеописанный случай IIб): Мурка IS-A кошка.
Одиночная рамка при этом не используется. Если требуется
определить отношение эквивалентности (случай I), для этого может
вводиться специальное отношение (хотя для семантической сети
нужда в нём небольшая). IS-A можно использовать для обозначения
вхождения элементов одного множества в другое (случай III), однако
так делать не рекомендуется. Для обозначения подмножеств
применяется ещё одно специальное отношение - AKO. Различие
между «IS-A в рамке» и AKO заключается в том, что последнее
отвечает ещё и за наследование свойств самих множеств, а не только
элементов.
4.3. Использование семантических сетей
Семантизация
Семантизация - процесс изменения текстов, в которых
выделяются семантические отношения без изменения их содержания.
В Википедии существуют проекты по семантизации статей и Дерева
категорий.


Семантизация статей заключается в основном путём
использования шаблонов, при этом некоторые категории
создаются автоматически.
Семантизация Дерева категорий возможна по частям после его
анализа и выделения участков с родовыми категориями
96
Семантическая паутина
Концепция организации гипертекста напоминает однородную
бинарную семантическую сеть, однако здесь есть существенное
отличие:
1.
2.
Связь, осуществляемая гиперссылкой, не имеет семантики,
т. е. не описывает смысла этой связи. Назначение
семантической сети состоит в том, чтобы описать взаимосвязи
объектов, а не дополнительную информацию по предметной
области. Человек может разобраться, зачем нужна та или иная
гиперссылка, но компьютеру эта связь не понятна.
Страницы,
связываемые
гиперссылками,
являются
документами, описывающими, как правило, проблемную
ситуацию в целом. В семантической сети вершины (то, что
связывают отношения) представляют собой понятия или
объекты реального мира.
Попытка создания семантической сети на основе Всемирной
паутины получила название семантической паутины. Эта концепция
подразумевает использование языка RDF (языка разметки на основе
XML) и призвана придать ссылкам некий смысл, понятный
компьютерным системам. Это позволит превратить Интернет в
распределённую базу знаний глобального масштаба.
Вопросы для самоконтроля:
1.
2.
3.
4.
5.
6.
Что такое «семантическая сеть»?
Приведите примеры областей применения семантических
сетей.
Составьте пример семантической сети для произвольной
предметной области.
Какова структура семантической сети?
Какова классификация семантических сетей?
Какие семантические отношения Вы знаете?
97
Глава 5. Сценарии. Фреймы. Концептуальные графы
5.1.Сценарии
Программа, понимающая естественный язык, должна
использовать большое количество исходных знаний, чтобы понять
даже простейший разговор. Согласно экспериментальным данным
люди организуют это знание в структуры, соответствующие типовым
ситуациям. Читая статью о ресторанах, бейсболе или политике, мы
устраняем любые двусмысленности в тексте с учётом тематики статьи.
Если сюжет статьи неожиданно меняется, человек делает краткую
паузу в процессе чтения, необходимую для модификации структуры
знания. Возможно, слабо структурированный текст тяжело понять
именно потому, что мы не можем с лёгкостью связать его с какой-либо
из структур знания. В этом случае ошибки понимания возникают из-за
того, что мы не можем решить, какой контекст использовать для
разрешения определённых местоимений и других двусмысленностей
разговора.
Сценарий (script) – это структурированное представление,
описывающее стереотипную последовательность событий в частном
контексте. Сценарии первоначально были предложены Schank и
Abelson в 1977 г. как средство для организации структур
концептуальной зависимости в описаниях типовых ситуаций.
Сценарии используются в системах понимания естественного языка
для организации баз знаний в терминах ситуаций, которые система
должна понимать.
Концептуальная зависимость (conceptual dependency) или теория
концептуальной
зависимости.
В
рамках
данной
теории
рассматриваются четыре типа примитивов, на основе которых
определяется тип выражений:
-
АСТ – действия (actions);
РР – объекты (picture producers);
AA – модификаторы действий (action aiders);
PA – модификаторы объектов (picture aiders).
Предполагается, что каждое из действий должно приводить к
созданию одного или нескольких примитивов АСТ. Перечисленные
ниже примитивы выбраны в качестве основных компонентов действия:
-
ATRANS – передавать отношение (давать).
98
-
PTRANS – передавать физическое расположение объекта
(идти).
PROPEL – применять физическую силу к объекту (толкать).
MOVE - перемещать часть тела (владельцем).
GRASP – захватить объект (исполнителем).
INGEST – поглощать объект (есть).
EXPEL – издавать звуки (кричать).
MTRANS – передавать ментальную информацию (сказать).
MBUILD – создавать новую ментальную информацию
(решать).
CONC – осмысливать идею (думать).
SPEAK – производить звуки (говорить).
ATTEND – слушать.
DO – выполнять (например, готовить пищу).
Эти примитивы используются для определения отношений
концептуальной зависимости, которые описывают смысловые
структуры, такие как падежные отношения или связи объектов и
значений. Отношения концептуальной зависимости – это
концептуальные синтаксические правила, которые выражают
семантические связи в соответствии с грамматикой языка.
Большинство людей в ресторане полностью спокойны (т.е. они
знают, чего ожидать и как действовать). Их либо встречают на входе,
либо знак указывает, куда они должны пойти, чтобы сесть. Меню либо
лежит на столе, либо предоставляется официантом, либо посетитель
его просит. Мы понимаем процедуры для заказа еды, принятия пищи,
оплаты счёта и ухода.
В действительности ресторанный сценарий совершенно
отличается от других сценариев принятия пищи, например, в
ресторанах «быстрого обслуживания» или в рамках «официального
семейного обеда». В сети ресторанов «быстрого обслуживания»
заказчик входит, становится в очередь, оплачивает заказ (до принятия
пищи), ожидает подноса с едой, пытается найти свободный стол и т.д.
Это – две различные последовательности событий, и каждая имеет
отдельный сценарий. Сценарий включает в себя следующие
компоненты:
-
Начальные условия, которые должны быть истинными при
вызове сценария. В этом сценарии они включают открытый
ресторан и голодного посетителя, имеющего некоторую
сумму денег.
99
-
-
Результаты или факты, которые являются истинными, когда
сценарий завершается; например, клиент утолил голод и его
деньги потрачены, владелец ресторана имеет больше денег.
Предположения, которые поддерживают контекст сценария.
Они могут включать столы, официантов и меню. Множество
предположений описывают принятые по умолчанию условия
реализации сценария. Например, предполагается, что ресторан
должен иметь столы и стулья, если не указано
противоположное.
Роли являются действиями, которые совершают отдельные
участники. Официант принимает заказы, доставляет пищу и
выставляет счёт. Клиент делает заказ, ест и платит.
Сцены. Сценарий разбивается на последовательность сцен,
каждая из которых представляет временные аспекты сценария.
Сценарий похода в ресторан включает следующие сцены:
вход, заказ, принятие пищи и т.д.
Элементы сценария – основные «части» семантического
значения
–
представляются
отношениями
концептуальной
зависимости. Собранные вместе они представляют последовательность
значений или событий. Описанный выше сценарий посещения
ресторана представлен на рис. 4.4.
Описанная Schank и Abelson программа читает небольшой
рассказ о ресторанах и преобразует его во внутренне представление
концептуальной зависимости. Поскольку ключевые понятия этого
внутреннего описания сопоставляются с начальными условиями
сценария, программа связывает объекты, представленные в рассказе, с
ролями и предположениями, упомянутыми в сценарии. Результатом
является
расширенное
представление
контекста
рассказа,
использующее сценарий для заполнения отсутствующей информации
и предположений по умолчанию. Затем программа отвечает на
вопросы о рассказе, ссылаясь на сценарий. Сценарий допускает
рациональные предположения по умолчанию, которые являются
существенными в понимании естественного языка. Рассмотрим
несколько примеров.
Пример 1. Sue went out to lunch. She sat at table and called a waitress, who
brought her a menu. She ordered a sandwich. (Сью пошла на ланч. Она
села за стол и позвала официантку, которая принесла ей меню. Она
заказала сэндвич.)
Используя сценарий, система может правильно ответить на
следующие вопросы (например): Почему официантка принесла меню
100
Сью? Была ли Сью в ресторане. Кто платил? Кто заказал сэндвич?
Последний вопрос достаточно сложен. Ответ «официантка»
(упомянутая последней женщина) является неправильным. Роли
сценария помогают разрешить ссылки на местоимения и другие
двусмысленности.
Использование сценариев сопряжено с определёнными
проблемами, включая проблему соответствия сценариев и чтения
между строк. Рассмотрим следующий пример, связанный со сценарием
посещения ресторана или концерта. Контекст здесь играет важную
роль, т.к. слово «bill» может означать как счёт в ресторане, так и
программу концерта.
Пример 2. John visited his favorite restaurant on the way to the concert. He
was pleased by the bill because he liked Mozart. (По пути на концерт
Джон посетил свой любимый ресторан. Он был доволен программа,
так как любил Моцарта.)
Поскольку выбор сценария обычно основан на соответствии
«ключевых» слов, часто трудно определить, какой из двух или более
сценариев следует использовать. Проблема соответствия сценария
является «глубинной», т.е. не существует алгоритма, гарантирующего
правильный выбор. Она требует эвристических знаний об организации
мира, а сценарии помогают лишь в организации этого знания.
Проблема чтения между строк тоже очень сложна: нельзя наперёд
указать возможные случаи, которые могут нарушить сценарий.
Но, несмотря на эти проблемы, программы, использующие
сценарии и другие семантические представления, могут понимать
естественный язык в ограниченных предметных областях. Примером
может служить программа, которая интерпретирует сообщения,
поступающие по каналам новостей. (прогнозирование катастроф,
сделки в бизнесе)
101
Рис. 5.1. Сценарий посещения ресторана
102
5.2. Фреймы
Фреймы (frame) – это другая схема представления, во многом
подобная сценариям и ориентированная на включение в строго
организованные структуры данных неявных (подразумеваемых)
информационных связей, существующих в предметной области. Это
представление поддерживает организацию знаний в более сложные
единицы, которые отображают структуры объектов этой области.
СУТЬ ТЕОРИИ ФРЕЙМОВ: КОГДА НЕКТО ВСТРЕЧАЕТСЯ С
НОВОЙ СИТУАЦИЕЙ (ИЛИ СУЩЕСТВЕННО МЕНЯЕТ ТОЧКУ
ЗРЕНИЯ НА ПРОБЛЕМУ), ОН ВЫБИРАЕТ ИЗ ПАМЯТИ
СТРУКТУРУ,
НАЗЫВАЕМУЮ
«ФРЕЙМОМ».
ЭТОТ
СОХРАНЁННЫЙ КАРКАС ПРИ НЕОБХОДИМОСТИ ДОЛЖЕН
БЫТЬ АДАПТИРОВАН И ПРИВЕДЁН В СООТВЕТСТВИЕ С
РЕАЛЬНЫМ ИЗМЕНЕНИЕМ ДЕТАЛЕЙ
Фрейм может рассматриваться как статическая структура
данных, используемая для представления хорошо понятных
стереотипных ситуаций. Возможно, наше собственное знание о мире
тоже
организовано
во
фреймоподобные
структуры.
Мы
приспосабливаемся к каждой новой ситуации, вызывая информацию,
основанную на опыте. Затем мы адаптируем наши знания в
соответствии с новой ситуацией.
Например, достаточно один раз остановиться в гостинице,
чтобы составить представление о всех гостиничных номерах. Там
почти всегда есть кровать, ванная, место для чемодана, телефон,
аварийно-эвакуационная информация на внутренней стороне двери и
т.д. Детали каждого номера при необходимости могут изменяться.
Может варьироваться цвет портьер, расположение и тип
выключателей и т.п. С фреймом гостиничного номера связана также
информация, принимаемая по умолчанию. Если нет простыней, нужно
вызвать горничную, если нужен лёд, необходимо посмотреть в холле и
т.д. Нам не надо подстраивать сознание для каждого нового
гостиничного номера. Все элементы обобщённого номера
организуются в концептуальную структуру, к которой мы обращаемся,
когда останавливаемся в гостинице.
Эти высокоуровневые структуры можно представить в
семантической сети, организуя её как совокупность отдельных сетей,
каждая из которых представляет некоторую стереотипную ситуацию.
Фреймы так же, как объектно-ориентированные системы,
103
обеспечивают механизм подобной организации, представляя сущности
как структурированные объекты с поименованными ячейками и
связанными с ними значениями. Таким образом, фрейм или схема
рассматриваются как единая сложная сущность.
Например, гостиничный номер и его компоненты могут быть
описаны рядом отдельных фреймов. Помимо кровати во фрейме
должен быть представлен стул: ожидаемая высота – от 20 до 40 см,
число ножек – 4, значение по умолчанию – предназначен для сидения.
Далее фрейм представляет гостиничный телефон: это вариант
обычного телефона, на расчёт за переговоры связывается с оплатой
гостиничного номера. По умолчанию существует специальный
гостиничный коммутатор, и человек может использовать этот телефон
для заказа еды в номер, внешних звонков и получения других услуг.
На рис. 5.2 изображён фрейм, представляющий гостиничный номер
(фрагмент).
Рис. 5.2. Часть фрейма, описывающего гостиничный номер.
«Специализированный» класс содержит указатель на суперкласс
104
Каждый отдельный фрейм можно рассматривать как структуру
данных, во многом подобную обычной «записи», с информацией,
соответствующей стереотипным сущностям. Ячейки фрейма содержат
такую информацию:
1.
2.
3.
4.
5.
6.
Данные для идентификации фрейма.
Взаимосвязь этого фрейма с другими фреймами.
«Гостиничный телефон» может служить специальным
экземпляром «телефона», который, в свою очередь, может
служить примером «механизма связи».
Дескрипторы требований для фрейма. Стул, например, имеет
высоту сидения от 20 до 40 см, его задняя часть выше 60 см, и
т.д. Эти требования могут быть использованы для
определения соответствия новых объектов стереотипу фрейма.
Процедурная информация об использовании описанной
структуры. Важной особенностью фреймов является
возможность присоединить к ячейке процедурный код.
Информация по умолчанию. Это значения ячейки, которые
должны быть истинными, если не найдены противоположные.
Например, стулья имеют 4 ножки, на телефонах есть кнопки,
гостиничные кровати заполняются персоналом.
Информация для нового экземпляра. Многие ячейки фрейма
могут оставаться незаполненными, пока не указано значение
для отдельного экземпляра или пока они не понадобятся для
некоторого аспекта решения задачи. Например, цвет кровати
может оставаться неопределённым.
Фреймы расширяют возможности семантических сетей рядом
важных особенностей. Хотя фреймовое описание гостиничных
кроватей на рис. 5.2 может быть эквивалентно сетевому описанию,
фреймовая версия намного яснее той, в которой кровать описывается с
помощью её различных атрибутов. В сетевой версии существует
просто совокупность узлов. Такое представление в значительной
степени зависит от интерпретации структуры. Возможность
организации знаний в такие структуры является важным свойством баз
знаний.
Фреймы позволяют организовывать иерархию знаний. В сети
каждое понятие представляется узлами и связями на одном и том же
уровне детализации. Однако очень часто для одних целей объект
необходимо рассматривать как единую сущность, а для других
учитывать детали его внутренней структуры. Например, обычно нас не
105
интересует механическое устройство автомобиля, пока что-то не
сломается. При обнаружении поломки мы достаём схему
автомобильного двигателя и пытаемся устранить проблему.
Процедурные вложения являются важным свойством фреймов,
так как они позволяют связать фрагменты программного кода с
соответствующими
сущностями
фреймового
представления.
Например, в базу знаний можно включить возможность генерировать
графические образы. Для этого больше подходит графический язык,
чем сетевой. С помощью процедурных вложений можно создавать
демоны (demon). Демон – это процедура, которая является побочным
эффектом некоторого другого действия в базе знаний. Например, при
каждом изменении определённой ячейки в системе можно запускать
процедуру контроля соответствия типов или тест непротиворечивости.
Системы фреймов поддерживают наследование классов.
Значения ячеек и используемые по умолчанию значения класса
наследуются через иерархию класс/подкласс и класс/элемент.
Например, гостиничный телефон можно реализовать как подкласс
обычного телефона, обладающий следующими особенностями:
внешние звонки, проходят через коммутатор гостиницы (для расчёта),
и гостиничные услуги можно заказывать по прямому номеру.
Некоторым ячейкам можно присвоить значения по умолчанию. Они
используются, если нет другой информации. Например, в гостиничных
номерах стоят кровати, поэтому туда необходимо идти, если вы хотите
спать. Если вы не знаете, как позвонить портье, попытайтесь набрать
«нуль».
Когда создаётся экземпляр фрейма класса, система будет
пытаться заполнить его ячейки либо заданными пользователем
значениями, либо значениями по умолчанию, взятыми из фрейма
класса, либо выполнить некоторую процедуру или демон для
получения значения экземпляра. Как и в семантических сетях, ячейки
и значения по умолчанию наследуются через иерархию
класс/подкласс.
Фреймы расширяют возможности семантических сетей,
позволяя представлять сложные объекты не в виде большой
семантической структуры, а в виде единой сущности (фрейма). Это
также позволяет естественным образом представить стереотипные
сущности, классы, наследование и значения по умолчанию. Хотя
фреймы, подобно сетевым и логическим представлениям, являются
мощным средством, многие проблемы организации сложных баз
знаний всё же должны решаться на основе опыта и интуиции
программиста. Исследования, проведённые в 1970-х годах в
106
Массачусетском технологическом институте и исследовательском
центре Xerox Palo Alto Research Center, привели к разработке
философии
объектно-ориентированного
программирования
и
созданию важных языков реализации, Smalltalk, Java, C++ и CLOS.
5.3. Концептуальные графы: сетевой язык
Вслед за первыми работами по созданию схем представления в
ИИ был предложен ряд сетевых языков для моделирования семантики
естественного языка и других областей. Примером сетевого языка
представления являются концептуальные графы.
Концептуальный граф (conceptual graph) – это конечный,
связанный, двудольный граф. Узлы графа представляют собой
понятия, или концептуальные отношения. В концептуальных графах
метки дуг не используются. Отношения между понятиями
представляются узлами концептуальных отношений. На рис. 5.2 узлы
dog (собака) и brown (коричневый) представляют понятия, а color
(цвет) – концептуальное отношение. Чтобы различать эти типы узлов,
узлы
понятий
будем
представлять
прямоугольниками,
а
концептуальные отношения – эллипсами.
Рис. 5.2. Концептуальные отношения разной арности
В концептуальных графах узлы понятий представляют собой
либо конкретные, либо абстрактные объекты в мире рассуждений.
107
Конкретные понятия, такие как кошка, телефон или ресторан,
характеризуются нашей способностью сформировать их образ.
Отметим, что к конкретным относятся обобщённые понятия,
например, cat (кошка) или restaurant (ресторан), а также понятия
конкретных кошек и ресторанов. Мы можем также сформировать
образ обобщённой кошки. Абстрактные понятия включают в себя
такие абстракции как любовь, красота, верность, для которых не
существует образов в нашем воображении. Узлы концептуальных
отношений описывают отношения, включающие одно или несколько
понятий. Одним из преимуществ концептуальных графов без
использования помеченных дуг является простота представления
отношений любой арности. N-арное отношение представляется узлом
концептуального отношения, имеющего N-дуг, как показано на рис.
5.2.
Каждый
концептуальный
граф
представляет
одно
высказывание. Типовая база знаний будет состоять из ряда таких
графов. Графы могут быть произвольной сложности, но они должны
быть конечными. Например, граф на рис. 5.2 представляет
высказывание «A dog has a color of brown» («Собака коричневого
цвета»). На рис. 5.3 изображён более сложный граф, представляющий
высказывание «Mary gave John the book» («Мэри дала Джону книгу»).
В этом графе концептуальные отношения для представления форм
глагола «give» («давать»). Из этого примера ясно, что концептуальные
графы используются для моделирования семантики естественного
языка.
Рис. 5.3. Граф предложения «Mary gave John the book»
Типы, экземпляры и имена
Разработчики первых семантических сетей в основном не
заботились
об
определении
отношений
класс/подкласс
и
класс/элемент, в результате чего возникла семантическая
неоднозначность. Например, отношение между экземпляром и его
классом отличается от отношения между классом (собака) и его
суперклассом (плотоядные). Подобным образом одни свойства
108
принадлежат экземплярам, а другие - самим классам. В связи с этим
представление должно обеспечить механизм для такого различия.
Свойства «иметь мех (шерсть)» и «любить кости» относятся к
отдельным собакам, а сам класс «собака» не обладает свойствами
«иметь мех (шерсть)» или «есть что угодно». Свойства,
соответствующие классу, включают имена и место в зоологической
классификации.
В концептуальных графах каждое понятие является уникальным
экземпляром конкретного типа. Каждый прямоугольник понятия
снабжается меткой типа, определяющий класс или тип экземпляра,
представленного этим узлом. Т.о., узел, снабжённый меткой dog
(собака), представляет некоторый объект этого типа. Типы имеют
неиерархическую структуру. Тип dog (собака) является подтипом типа
carnivore (плотоядные), который, в свою очередь, является подтипом
mammal (млекопитающие) и т.д. Прямоугольники с одной и той же
меткой типа отражают понятия одного и того же типа. Однако эти
прямоугольники могут либо представлять, либо не представлять одно
и то же индивидуальное понятие.
Каждый прямоугольник понятия помечается именами типа и
экземпляра. Метка типа и экземпляра отделяется двоеточием. Граф на
рис. 5.4 показывает, что собака Emma – коричневая. Граф на рис. 5.5
означает, что некая неспецифированная сущность типа dog (собака)
имеет коричневый цвет. Если экземпляр не указан, понятие
представляет неспецифированный индивидуум этого типа.
Рис. 5.4. Концептуальный граф, показывающий, что собака Emma –
коричневого цвета
Концептуальные
графы
позволяют
также
описывать
конкретные, но неименованные экземпляры. Для обозначения каждого
экземпляра в мире рассуждений используется уникальный дескриптор,
называемый маркером (marker). Он представляет собой число, перед
которым расположен символ «#». Маркеры отличаются от имён тем,
что они являются уникальными: экземпляр может иметь одно имя,
несколько имён или вовсе быть безымянным, но он имеет ровно один
маркер. Это различие даёт возможность преодолевать семантические
неоднозначности, возникающие при именовании объектов. Граф на
рис. 5.6 означает, что конкретная собака #1352 – коричневая.
109
Рис. 5.5. Концептуальный граф, показывающий, что отдельная (но
безымянная) собака - коричневая
Рис. 5.6. Концептуальный граф, показывающий, что собака с именем
Emma – коричневого цвета
Маркеры позволяют отделить экземпляры от их имён. Если
собака номер №1352 имеет имя Эмма, для его описания можно
использовать концептуальное отношение name (имя). Результатом
является граф на рис. 5.6. Имя, заключённое в двойные кавычки,
указывает, что это строка. Там, где не возникает опасность
неоднозначности, мы можем упростить граф и ссылаться на экземпляр
прямо по имени. При таком соглашении граф на рис. 5.6 эквивалентен
графу на рис. 5.4.
Хотя, как в разговорной речи, так и формальном представлении
мы часто игнорируем различие между экземпляром и его именем, оно
является важным и должно быть поддержано языком представления.
Например, если мы говорим, что «John» - обычное мужское имя, мы
утверждаем, что это свойство самого имени, а не какого-нибудь
экземпляра с именем «John». Это позволяет представлять такие
английские выражения, как «Chimpanzee` is the name of species of
primates» («Шимпанзе является именем вида приматов»). Подобным
образом можно представить факт наличия у объекта нескольких имён.
Граф на рис. 5.7 представляет ситуацию, описанную в лирической
песне Леннона и Маккартни (1968 года) о девушке с именем McGill,
которая называла себя Lil, но все её знали как Nancy.
110
Рис. 5.7. Концептуальный граф для представления человека с тремя
именами
Вместо обращения к объекту по маркеру или по имени можно
использовать
обобщённый
маркер
*
для
определения
неспецифированных экземпляров. Эта информация часто опускается в
метках понятий: узел, заданный только меткой типа dog, эквивалентен
узлу dog:*/ Дополнительно к обобщённому маркеру концептуальные
графы позволяют использовать именованные переменные. Они
представляются звёздочкой, за которой следует имя переменной
(например, *Х). Это полезно, если два отдельных узла должны
обозначать один и тот же, но не указанный экземпляр. Граф на рис. 5.8
представляет утверждение «The dog scratches its ear with its paw»
(«Собака чешет ухо лапой»). Хотя мы не знаем, какая собака чешет
своё ухо, переменная *Х указывает, что лапа и ухо принадлежат одной
и той же собаке, которая чешется.
Рис. 5.8. Концептуальный граф для предложения
«The dog scratches its ear with its paw»
Итак, каждый узел понятия означает экземпляр определённого
типа. Это объект, относящийся к данному понятию, или объект ссылки
111
(referent). Ссылка задаётся либо индивидуально, либо для всех
экземпляров в целом. Если для объекта ссылки используется маркер
экземпляра, понятие является конкретным, а если общий маркер –
понятие считается родовым.
Обобщение и специализация
Теория концептуальных графов включает ряд операций для
создания новых графов на основе существующих. Они позволяют
генерировать новый граф путём либо специализации, либо обобщения
существующего графа, и очень важны для представления семантики
естественного языка. На рис. 5.9 показаны четыре операции, а именно:
копирование, ограничение, объединение и упрощение. Предположим,
что g1 и g2 – концептуальные графы.
Правило копирования позволяет сформировать новый граф g,
который является точной копией g1.
Ограничение позволяет заменить узлы понятий графа узлами,
представляющими их специализацию. Возможны две ситуации:
1.
2.
Если понятие помечено общим маркером, то общий маркер
может быть заменён индивидуальным.
Метка типа может быть заменена одной из меток его
подтипов, если это соответствует объекту ссылки понятия. На
рис. 5.9 мы можем изменить animal (животное) на dog
(собака).
Правило объединения позволяет интегрировать два графа в
один. Если узел понятия c1 графа s1 идентичен узлу понятия c2 графа
s2, то можно сформировать новый граф, вычёркивая с2, и связывая все
его отношения с с1. Объединение – это правило специализации, так
как результирующий граф является менее общим, чем любой из его
компонентов.
Если граф содержит два одинаковых отношения, то одно из них
может быть вычеркнуто вместе со всеми его дугами. В этом
заключается правило упрощения. Дублирующие отношения часто
возникают в результате операций объединения, как на графе g4 на рис.
5.9.
112
Рис. 5.9. Примеры операций ограничения, объединения и упрощения.
113
Для использования правил ограничения необходимо так
сопоставить два понятия, чтобы их можно было объединить. Это
позволяет реализовать наследование. Например, замена обобщённого
маркера индивидуальным реализует наследование экземпляром
свойств типа. Замена метки типа меткой подтипа определяет
наследование между классом и суперклассом. Путём объединения
одного графа с другим и ограничения определённых узлов понятий
можно реализовать наследование различных свойств. На рис. 5.10.
показано, как шимпанзе наследует свойство «иметь руку» от класса
primates (приматы) при замене метки типа меткой подтипа. Кроме
того, на рисунке показано, как экземпляр Bonzo наследует это
свойство с помощью инициирования общего понятия.
Рис. 5.10. Наследование в концептуальных графах
Таким же образом объединение и ограничение можно
применять для реализации правдоподобных высказываний, обычно
используемых для понимания языка. Если мы говорим «Mary and Tom
went out for pizza together» («Мэри и Том пошли вместе в пиццерию»),
то автоматически делается ряд предположений: они ели круглый
итальянский хлеб, покрытый сыром и томатным соусом. Они ели его в
ресторане и каким-то образом рассчитались за него. Это рассуждение
может быть сделано на основе объединения и ограничения. Мы
формируем концептуальный граф выражения и объединяем его с
концептуальным графом выражения и объединяем его с
концептуальными графами (из базы знаний) для пиццы и ресторанов.
Результирующий граф позволяет предположить, что они ели томатный
соус и оплатили счёт.
114
Объединение
и
ограничение
являются
правилами
специализации. Они определяют частичное упорядочение на
множестве полученных графов. Если граф g1 является специализацией
g2, то мы можем говорить, что g2 – обобщение g1. Иерархия
обобщения играет важную роль в представлении знаний. Иерархия
обобщения используется в качестве основы для наследования и других
общесмысловых схем рассуждения, а также во многих методах
обучения, позволяя нам, например, конструировать обобщённое
утверждение на основе частного обучающего примера.
Эти правила не являются правилами вывода. Они не
гарантируют, что из истинных графов будут выводиться истинные
графы. Например, при ограничении графа на рис. 5.8 результат может
не быть истинным – Emma может быть кошкой. Подобным же образом
пример объединения на рис. 5.9 тоже не сохраняет истинность: собака
на крыльце и собака, которая ест кости, могут быть различными
животными. Эти операции являются каноническими правилами
формирования (canonical formation rule), и, даже не сохраняя
истинность, они обладают незаменимым свойством – сохраняют
«осмысленность». Это важно при использовании концептуальных
графов в задачах понимания естественного языка. Рассмотрим три
выражения:
Albert Einstein formulated the theory of relativity. (Альберт Эйнштейн
сформулировал теорию относительности.)
Albert Einstein plays center for the Los Angeles Lakers. (Альберт
Эйнштейн – центровой в команде Los Angeles Lakers.)
Conceptual graphs are yellow flying popsicles. (Концептуальные графы
являются жёлтыми летающими мюмзиками.)
Первое выражение является истинным, второе – ложным.
Третья фраза вообще бессодержательна: грамматически правильная,
она не имеет смысла. Второе предложение, хоть и ложное, является
осмысленным. Я могу представить Альберта Эйнштейна на
баскетбольной площадке. Канонические правила формирования
накладывают ограничения на семантику смысла, т.е. не позволяют
формировать бессмысленные графы на основе осмысленных. Не
являясь смысловыми правилами вывода, они формируют основу для
многих правдоподобных рассуждений в системах понимания
естественного языка и для общесмысловых рассуждений.
115
Вопросы для самоконтроля:
1.
2.
3.
4.
5.
6.
7.
8.
Дайте определение концептуальным графам.
Что такое «арность»?
Назовите типы узлов концептуального графа.
Что такое метка?
Расскажите об обобщении и специализации (привести
примеры операций).
Что такое канонические правила?
Дайте краткую характеристику сценариям.
Дайте краткую характеристику фреймам.
116
Глава 6. Нейронные сети
6.1. Нейронные сети. Краткая характеристика
Нейронные сети (НС) (neural networks) (системы параллельной
распределённой обработки или системы связей) – это системы
взаимосвязанных искусственных нейронов (подобно мозгу живых
организмов, состоящих из огромного количества нервных клеток).
Интеллектуальные
свойства
таких
систем
обеспечиваются
взаимодействием простых компонентов (биологических или
искусственных нейронов) и настройкой связей между ними в процессе
обучения или адаптации. Нейронные сети обучаются за счёт
модификации своей собственной структуры в ответ на получаемую
извне информацию.
Нейроны организованы в несколько слоёв, поэтому такие
системы являются распределёнными. Информация обрабатывается
параллельно, т.е. все нейроны одного слоя одновременно и
независимо друг от друга получают, и преобразуют входные значения.
НС не предполагают явного использования символьного
представления в задаче обучения. Однако в нейросетевых моделях
символьное представление играет важную роль при формировании
входных векторов и интерпретации входных значений. Например, для
создания нейронной сети разработчик должен определить схему
кодирования образов для их передачи в нейронную сеть. Выбор схемы
кодирования может сыграть ключевую роль для способности (или
неспособности) сети к обучению.
Сети связей выполняют параллельную и распределённую
обработку
информации,
однако
при
этом
символы
не
рассматриваются как символы. Входная информация из предметной
области преобразуется в числовые векторы. Связи между элементами
или нейронами представляются числовыми значениями.
НС лучше всего подходят для решения следующих задач:
-
Классификация
Распознавание образов – идентификация структуры или
шаблона данных
Прогнозирование
Оптимизация – поиск наилучшей структуры ограничений
Фильтрация
117
Основы НС
Основа НС – искусственный нейрон (см. рис. 6.1). Структура
нейрона:
-
-
Входные сигналы xi. Это данные, поступающие из
окружающей среды или от других активных нейронов.
Диапазон входных значений для различных моделей может
отличаться. Обычно входные значения являются дискретными
(бинарными) и определяются множествами (0, 1) или (-1, 1)
либо принимают любые вещественные значения.
Набор вещественных весовых коэффициентов wi. Весовые
коэффициенты определяют силу связи между нейронами.
Уровень активности нейрона Σwixi, который определяется
взвешенной суммой его входных сигналов.
Пороговая функция f, предназначенная для вычисления
выходного значения нейрона путём сравнения уровня
активации с некоторым порогом. Пороговая функция
определяет активное или неактивное состояние нейрона.
Состояние нейрона определяется по формуле:
n
S   xi wi
i 1
Рис. 6.1. Искусственный нейрон, входной вектор х, вес связей wi и
пороговая функция f, определяющая выходное значение нейрона.
118
Помимо этих свойств отдельных нейронов, НС характеризуется
также следующими глобальными свойствами:
-
-
Топология сети (network topology) – это шаблон,
определяющий наличие связей между отдельными нейронами.
Топология является главным источником индуктивного
порога.
Используемый алгоритм обучения (learning algorithm).
Схема кодирования (encoding scheme), определяющая
интерпретацию данных в сети и результатов их обработки.
Первый пример нейросетевой модели – это нейрон МакКаллока-Питтса (1943г). На вход нейрона подаются биполярные
сигналы (равные +1 и -1).
На рис. 6.2. показан пример вычисления логических функций И
и ИЛИ с помощью нейронов Мак-Каллока-Питтса. Каждый из этих
нейронов имеет три входа, первые два из которых задают аргументы
функции х и y, а третий, иногда называемый пороговым (bias), всегда
равен 1. Весовые коэффициенты связей для входных нейронов
составляют соответственно +1, +1 и -2. Тогда для любых входных
значений х и y нейрон вычисляет значение x+y-2. Если это значение
меньше 0, выходным значением нейрона является -1, в противном
случае 1. Из табл.10.1 видно, что такой нейрон, по существу вычисляет
значение функции x ^ y. Аналогично можно удостовериться в том, что
второй нейрон на рис. 10.2 вычисляет значение логической функции
ИЛИ.
Таблица 6.1. Модель Мак-Каллока-Питтса для вычисления функции
логического И
x
y
x+y-2
выход
1
0
0
1
1
0
-1
-1
0
1
-1
-1
0
0
-2
-1
119
Рис. 6.2. Вычисление логических функций И и ИЛИ с помощью
нейронов Мак-Каллока-Питтса
6.2. Обучение персептрона
Алгоритм обучения персептрона.
Фрэнк Розенблатт (1958) предложил алгоритм обучения для
одного типа однослойной нейронной сети, получившей название
персептрон (perseptron). По способу распространения сигналов
персептрон аналогичен нейрону Мак-Каллока-Питтса. Выходное
значение персептрона вычисляется с помощью строгой пороговой
функции: если уровень активации превышает или равен пороговому
значению, выход персептрона принимается равным 1, в противном
случае -1.
Значение аксона нейрона определяется по формуле:
Y = f(S),
где f – некоторая функция, которая называется активационной.
Наиболее часто в качестве активационной функции используется так
называемый сигмоид, который имеет следующий вид:
120
f x  
1
1  e x
Основное достоинство этой функции в том, что она дифференцируема
на всей оси абсцисс и имеет очень простую производную:
f ' x    f x 1  f x 
Таким образом, выходное значение персептрона вычисляется на
основе его входных значений xi, весовых коэффициентов wi и порога t
следующим образом:
1, если Σwixi ≥ t,
-1, если Σwixi < t.
Для настройки весов персептрона используется простой
алгоритм обучения с учителем.
Обучение с учителем (supervised learning) – задача анализа
данных решается в несколько этапов. Сначала с помощью какого-либо
алгоритма Data Mining строится модель анализируемых данных –
классификатор. Затем классификатор подвергается обучению.
Другими словами, проверяется качество его работы и, если оно
неудовлетворительно,
происходит
дополнительное
обучение
классификатора. Так продолжается до тех пор, пока не будет
достигнут требуемый уровень качества или не станет ясно, что
выбранный алгоритм не работает корректно с данными, либо же сами
данные не имеют структуры, которую можно выявить (классификация
и регрессия).
Персептрон пытается решить предлагаемую задачу, после чего
ему предъявляется корректный результат. Затем веса персептрона
изменяются таким образом, чтобы уменьшить ошибку на его выходе.
При этом используется следующее правило. Пусть с – постоянный
коэффициент скорости обучения, а d – ожидаемое значение выхода.
Настройка весового коэффициента для i-го компонента входного
вектора выполняется по формуле:
wi  cd  sign xi wi  xi .
121
Здесь
sign x w 
i
i
- выходное значение персептрона,
равное +1 или -1. Разность между желаемым и реальным значениями
может быть равна 0, 2 или -2. Следовательно, для каждого компонента
выходного вектора выполняются такие действия:
1.
2.
3.
Если значение реального и желаемого входа совпадают,
ничего не происходит.
Если реальное выходное значение равно -1, а желаемое 1, то
весовой коэффициент для i-го входа увеличивается на 2схi.
Если реальное выходное значение равно 1, а желаемое -1, то
весовой коэффициент для i-го входа уменьшается на 2схi.
При использовании такой процедуры получается вес,
минимизирующий среднюю ошибку на всём обучающем множестве.
Если существует набор весовых коэффициентов, обеспечивающих
корректное выходное значение для каждого элемента обучающего
множества, то такая процедура обучения персептрона позволяет его
получить.
Однако персептрон не решает целого класса достаточно
сложных задач, в которых данные не являются линейно разделимыми.
Классическим примером задачи классификации, данные
которой на обладают свойством линейной разделимости, является
проблема «исключающего ИЛИ» (табл.6.2). Функцию «исключающего
ИЛИ» можно представить с помощью следующей таблицы.
Таблица 6.2 Таблица истинности для функции «исключающее ИЛИ»
х1
х2
Выход
1
1
0
1
0
1
0
1
1
0
0
0
Рассмотрим персептрон с двумя входами х1 и х2, с двумя
весовыми коэффициентами w1 и w2 и пороговым значением t. Для
реализации этой функции сеть должна настроить весовые
коэффициенты таким образом, чтобы выполнялись следующие
неравенства (рис. 6.3):
122
Рис. 6.3. Задача «исключающего ИЛИ». В двухмерном пространстве
нельзя провести прямую, разделяющую пары точек {(0, 1), (1, 0)} и
{(0, 0), (1, 1)}
-
w1  1  w2  1  t (из первой строки таблицы истинности),
w1 1  0  t (из второй строки таблицы истинности),
0  w2  1  t (из третьей строки таблицы истинности),
0  0  t (т.е. положительный порог, из последней строки
таблицы истинности).
Эта система неравенств для w1, w2 и t не имеет решения.
Невозможность решения задачи «исключающего ИЛИ» объясняется
тем, что два класса, которые должна различать сеть, не являются
линейно разделимыми (рис. 6.3). В двухмерном пространстве
невозможно провести прямую, разделяющую множества точек с
координатами {(0, 1), (1, 0)} и {(0, 0), (1, 1)}.
Входные данные сети определяют пространство. Каждый
компонент входного вектора определяет направление, а каждое
входное значение задаёт точку в этом пространстве. В задаче
«исключающего ИЛИ» четыре входных вектора с координатами х1 и х2
определяют точки, показанные на рис. 6.3. Задача обучения
классификации сводится к разделению этих точек на две группы. В nмерном пространстве множество является линейно разделимым, если
его можно разбить на классы с помощью n-мерной гиперплоскости. (в
двухмерном пространстве n-мерная гиперплоскость – это прямая, в
трёхмерном – плоскость и т.д.)
123
Использование персептронной сети для классификации образов
Рис. 6.4. Полная система классификации
На рис. 6.4 показана общая схема решения задачи
классификации. Строки данных из пространства возможных точек
выбираются и преобразуются к новому виду в пространстве данных и
соответствующих им образов. В этом новом пространстве образов
выделяются признаки и определяются сущности, представляемые ими.
Например, рассмотрим задачу со звуковыми сигналами, записанными
на
цифровом
устройстве.
Эти
акустические
сигналы
трансформируются в амплитудно-частотное представление, а
затем система классификации по этим признакам может
распознать, кому принадлежит данный голос. Ещё одним примером
задачи
классификации
является
медицинская
диагностика,
предполагающая сбор информации с помощью медицинского
диагностического оборудования и классификацию симптомов по
различным категориям болезни.
Для рассматриваемого примера в блоке преобразователя и
извлечения признаков на рис. 6.4 данные из предметной области
задачи трансформируются в двухмерные векторы декартова
пространства. На рис. 6.5 показаны результаты анализа информации,
приведённой в таблице 6.3, с помощью персептрона с двумя входами.
В первых двух столбцах таблицы содержатся векторы данных,
используемые для обучения сети. В третьем столбце представлены
124
ожидаемые результаты классификации, +1 или -1, используемые для
обучения сети. На рис. 6.5 показаны обучающие данные и линия
разделения классов данных, полученных после предъявления
обученной сети каждого входного образа.
Рис. 6.5. Данные из табл. 6.3 в двухмерном пространстве. Персептрон
обеспечивает линейное разделение этого набора данных
Таблица 6.3. Набор обучающих данных для классификации с помощью
персептрона
х1
х2
Выход
1,0
1,0
1
9,4
6,4
-1
2,5
2,1
1
8,0
7,7
-1
0,5
2,2
1
7,9
8,4
-1
7,0
7,0
-1
2,8
0,8
1
1,2
3,0
1
7,8
6,1
-1
125
6.3. Общая теория классификации
Каждая группа данных, выявленная классификатором, может
быть представлена некоторой областью в многомерном пространстве.
Каждому классу Ri соответствует дискриминантная функция gi
определяющая степень принадлежности этой области. Среди всех
дискриминантных функций для области Ri максимальное значение
имеет функция gi:
g i x   g j x  для всех j, 1 < j < n.
В простом примере из табл. 6.3 двухмерные входные векторы
делятся на два класса, первому из которых соответствует значение 1, а
второму -1.
Важным частным случаем дискриминантной функции является
оценка степени принадлежности на основе расстояния от некоторой
центральной точки области. Классификация, основанная на такой
дискриминантной
функции,
называется
классификацией
по
минимальному
расстоянию.
Покажем
реализацию
такой
классификации для линейно разделимых классов.
Если области Ri и Rj являются смежными, как две области на
рис. 6.5, то существует пограничная область, для которой
дискриминантная функция имеет вид:
g i x   g j x  или g i x   g j x   0 .
Если классы линейно разделимы, как на рис. 6.5, то
дискриминантная функция, разделяющая соответствующие области,
представляет собой прямую линию, т.е. функции gi и gj являются
линейными. Поскольку прямая – это множество точек,
равноудалённых от двух фиксированных точек, то дискриминантные
функции gi и gj - это функции минимального расстояния от
декартового центра каждой из областей.
Линейную разделяющую функцию можно вычислить с
помощью персептрона, показанного на рис. 6.6 и содержащего два
обычных входа и пороговый вход с постоянным значением 1.
126
Рис. 6.6. Персептрон для классификации данных из табл. 6.3 с
кусочно-линейной биполярной пороговой функцией
Персептрон выполняет вычисление по следующей формуле:
f net   f w1  x1  w2  x2  w3  1,
где f x   signx . .
f x   1 , то х принадлежит одному классу,
если f x   1 - другому. Такое преобразование называется кусочноЕсли
линейной биполярной пороговой функцией (рис. 6.7а). Пороговый
вход служит для смещения пороговой функции вдоль вертикальной
оси. Величина этого смещения определяется в процессе обучения с
помощью настройки весового коэффициента
w3 .
Используем данные из таблицы 6.3 для обучения персептрона,
показанного на рис. 6.6. Инициализируем значение веса случайным
образом, например, [0.75, 0.5, 0.6], и применим алгоритм обучения
персептрона, описанный выше. Верхний индекс переменной, в
 1
частности 1 в выражении f net , задаёт номер текущей итерации
алгоритма. обработка данных начинается с первой строки таблицы:
f net   f 0.75  1  0.5  1  0.6  1  f 0.65  1.
1
127
Рис. 6.7а. Строгая кусочно-линейная биполярная функция.
f net   1 корректно, настройка весовых
2
1
коэффициентов не нужна. Следовательно, W  W . Для второго
Поскольку значение
1
обучающего примера:
f net   f 0.75  9.4  0.5  6.4  0.6  1  f 9.65  1.
2
Для данного обучающего примера на выходе персептрона
ожидается значение -1, значит, для настройки весов необходимо
применить обучающее правило, описанное выше:


W t  W t 1  c  d t 1  sign W t 1

T

 X t 1  X t 1 ,
где с – постоянный коэффициент обучения, Х и W – векторы входов и
весовых коэффициентов, t – номер итерации обучения, Т – символ
t 1
транспонирования, d
- ожидаемый результат в момент времени t –
1 (или, как в данном случае, в момент времени t = 2). Выход сети при t
= 2 равен 1, следовательно, разность между ожидаемым и реальным
выходом сети составляет либо +2сХ либо -2сХ, где Х – вектор из
обучающего множества. Коэффициент скорости обучения – это
небольшое вещественное число, наподобие 0.2. Обновим вектор
весовых коэффициентов:
128
 0.75 
9.4   3.01


W  W  0.2   1  1  X   0.50   0.4  6.4   2.06
 0.60
1.0    1.00 
3
2
2
Теперь нужно вычислить выходное значение сети для третьего
обучающего примера с учётом настроек весов:
f net   f  3.01  2.5  2.06  2.1  1.0  1  f  12.84  1.
3
Это значение снова не совпадает с ожидаемым выходом. На
следующей итерации веса W4 обновляются таким образом:
  3.01
2.5   2.01


W  W  0.2   1   1X   2.06  0.4   2.1    1.22 
  1.00 
1.0   0.60
4
3
3
.
После десяти итераций обучения сети персептрона формируется
линейное разделение, показанное на рис. 6.5. Примерно через 500
шагов обучения вектор весовых коэффициентов будет равен [-1.3; -1.1;
10.9]. Нас интересует линейное разделение двух классов. В терминах
дискриминантных функций
и
gi
g j разделяющая поверхность
представляет собой множество точек, для которых
g i x   g j x  или
g i x   g j x   0 , т.е. уровень активации равен 0. Уравнение
функционирования
сети
можно
записать
в
терминах
весов:
net  w1  x1  w2  x2  w3 .
Следовательно, линейная разделяющая поверхность между
классами
определяется
линейным
уравнением:
 1.3  x1   1.1  x2  10.9  0 .
двумя
129
6.4. Обобщенное дельта-правило
Для обобщения идеи сети персептрона нужно заменить его
строгую пороговую функцию активационной функцией другого типа.
Например, непрерывные активационные функции позволяют строить
более тонкие алгоритмы обучения за счёт более точного вычисления
ошибки измерения.
На рис.6.7 показаны графики некоторых пороговых функций:
кусочно-линейной биполярной пороговой функции (рис. 6.7а),
используемой для персептрона, и нескольких видов сигмоидальных
функций (sigmoid). Сигмоидальные функции получили такое название
благодаря тому, что их график напоминает латинскую букву «S» (рис.
6.7б). Типичная сигмоидальная активационная функция, или
логистическая функция (logistic function), задаётся уравнением:
f net   1 / 1  e net , где net   xi  wi
Здесь, как и ранее,
xi -
i-й вход,
wi -
вес связи,
.

- параметр
«кривизны», используемый для настройки формы сигмоидальной
кривой. При больших значения  форма сигмоиды приближается к
обычной кусочно-линейной пороговой функции с диапазоном
значений {0, 1}, а при значениях параметра «кривизны», близких к 1,
она напоминает прямую линию.
Аргументом пороговой функции является уровень активации, а
её значение – выходом нейрона. Сигмоидальная активационная
функция непрерывна, что позволяет точнее оценить ошибку на выходе
сети. Подобно обычной пороговой функции, сигмоидальная
активационная функция отображает точки области определения в
значения из интервала (0, 1). Однако в отличие от обычной пороговой
функции сигмоида может принимать значения из всего интервала, т.е.
она обеспечивает непрерывную аппроксимацию классической
пороговой функции. Параметр  определяет «крутизну» перехода.
Взвешенное значение порога сдвигает график функции вдоль оси
абсцисс.
Появление сетей с непрерывными активационными функциями
исторически обусловило новые подходы к обучению на основе
коррекции ошибки. Так обучающее правило Видроу-Хоффа
предполагает минимизацию среднеквадратической ошибки между
ожидаемым выходным значением и уровнем активации сети
130
net i  Wxi ,
независимо от вида активационной функции. Но самым
важным правилом обучения для сети является, пожалуй, дельтаправило (delta-rule).
Рис. 6.7б. Сигмоидальная униполярная пороговая функция
Рис. 6.7в. Сигмоидальная сдвинутая функция с различной
«кривизной». Чем больше значение параметра, тем точнее
сигмоидальная аппроксимация кусочно-линейной пороговой функции
Интуитивно дельта-правило базируется на использовании
понятия поверхности ошибки (рис. 6.8), которая представляет
кумулятивную ошибку на всём наборе данных как функцию от весов
сети. Каждая возможная конфигурация весов определяет точку
поверхности ошибки. Имея определённую конфигурацию весов, с
помощью алгоритма обучения можно найти направление на этой
поверхности, вдоль которого происходит наиболее быстрое
уменьшение функции ошибки. Этот подход называется обучения по
методу градиентного спуска (gradient descent learning), поскольку
градиент определяет «наклон» поверхности в каждой его точке.
Дельта-правило предполагает использование непрерывной и
дифференцируемой активационной функции. Этими свойствами
обладает рассмотренная выше логистическая функция. Дельта-правило
для настройки j-го весового коэффициента i-го узла сети имеет вид:
131
cd i  Oi   f ' net i   x j ,
где с – постоянный коэффициент скорости обучения,
ожидаемый и реальный выходы i-го нейрона,
активационной функции i-го узла, а
di
и
Oi
-
f` - производная
x j - j-ое выходное значение i-го
узла.
Существенное влияние на эффективность дельта-правила
оказывает коэффициент скорости обучения с (рис. 6.8). Значение этого
коэффициента определяет величину изменения весов на каждом шаге
обучения. Чем больше с, тем быстрее вес приходит к оптимальному
значению. Однако если коэффициент с слишком велик, алгоритм
может «проскочить» точку экстремума. Небольшие значения
коэффициента скорости обучения позволяют устранить эту проблему,
но замедляют процесс обучения. Оптимальное значение этого
коэффициента иногда определяется с учётом фактора момента –
параметра,
настраиваемого
экспериментально
для
каждого
конкретного приложения.
Рис. 6.8. Двухмерная поверхность ошибки. Константа «с» определяет
размер шага обучения
132
6.5. Обучение по методу обратного распространения
Вывод алгоритма обратного распространения (многослойная сеть)
Нейроны в многослойной сети располагаются по слоям (рис.
6.9), причём элементы слоя n связаны только с узлами слоя n+1. При
многослойной обработке сигнала ошибка на выходе сети может быть
вызвана сложными процессами внутри неё. Поэтому источники
ошибки в выходном слое сети необходимо анализировать в комплексе.
Метод обратного распространения ошибки обеспечивает способ
настройки весов с учётом многослойной структуры нейронной сети.
Рис. 6.9. Обратное распространение ошибки в нейронной сети со
скрытым слоем
В рамках этого подхода ошибка на выходе сети
распространяется в обратном направлении к скрытым слоям.
Анализируя обучение по дельта-правилу, несложно заметить, что вся
информация, необходимая для модификации весов нейрона, относится
только к этому нейрону, за исключением самой величины ошибки. Для
133
нейронов выходного слоя величина ошибки вычисляется просто как
разность между ожидаемым и реальным выходным значением. Для
узлов скрытых слоёв ошибку определить значительно сложнее. В
качестве активационной функции при использовании метода
обратного распространения обычно выбирается логистическая
функция:
f net   1 / 1  e net , где net   xi  wi
.
Применение этой функции обусловлено четырьмя причинами:
1.
2.
3.
4.
она относится к классу сигмоидальных функции.
она непрерывна, следовательно, её производная существует в
каждой точке.
максимальное значение производной соответствует сегменту
наиболее быстрого изменения функции, то наибольшая
ошибка соответствует узлам, для которых уровень активации
наименее определён.
производная этой функции легко вычисляется с помощью
операций умножения и вычитания:


f ' net   1 /(1  e net )    f net   1  f net  .
'
Метод обратного распространения является обобщением
дельта-правила. В нём тоже используется метод градиентного спуска.
Для узлов скрытого слоя ошибка вычисляется на основе ошибки
выходного слоя. Формулы вычисления добавок к весовому
коэффициенту связи
wki
между k-м и i-м нейронами по методу
обратного распространения ошибки имеют вид:
1.
wki    c  d i  Oi   Oi  1  Oi   xk
для узлов выходного
слоя;
2.
wki    c  Oi  1  Oi     delta j  wij  xk
для
узлов
j
скрытых слоёв.
Во втором соотношении j – индекс узла следующего слоя, до
которого распространяется сигнал от i-го нейрона, и
134
delta j  
Error
 d i  Oi   Oi  1  Oi  .
net j
Добавка к весовому коэффициенту для i-го нейрона (дельтаправило):
wk  c  d i  Oi   Oi 1  Oi   xk .
Пример применения метода обратного распространения ошибки:
система NETtalk.
Данная система обучается произносить английский текст:
читает строку текста и возвращает фонему с соответствующим
ударением для каждой буквы строки.
Фонема – базовая единица звука в языке, а ударение –
относительная громкость этого звука.
Архитектура системы (см. рис. 6.11):
Три слоя нейронов. Входные узлы соответствуют семи
символам текстового окна. Каждая позиция в окне представляется 29
входными нейронами, по одному для каждой группы алфавита и три
для знаков пунктуации и пробелов. Буква в каждой позиции
активизирует соответствующий нейрон. Узлы выходного слоя
представляют фонемы с помощью 21 свойства человеческой
артикуляции. Остальные 5 нейронов кодируют ударение и границы
слогов. Сеть содержит 80 скрытых нейронов, 26 выходных узлов и
18269 связей.
При обучении системы ей предъявляется окно размером 7
символов, и система пытается «произнести» среднюю букву. После
сравнения её произношения с корректным, веса системы
настраиваются по методу обратного распространения ошибки.
Система обучается достаточно эффективно, хотя для этого
требуется большое число обучающих примеров, а также многократное
посторенние итераций обучения на одних и тех же обучающих
данных.
135
Рис. 6.11. Топология сети системы NETtalk
Применение метода обратного распространения для решения
задачи «исключающего ИЛИ».
На рис. 6.12 показана сеть с двумя входными нейронами, одним
скрытым и одним выходным элементом. Сеть содержит два пороговых
нейрона, первый из которых связан с единственным нейроном
скрытого слоя, а второй - с выходным нейроном. Уровни активации
скрытого и выходного нейрона вычисляются обычным образом как
скалярное произведение векторов весовых коэффициентов и входных
значений. К этому значению добавляется величина порога. Веса
обучаются по методу обратного распространения при использовании
сигмоидальной активационной функции.
Входные нейроны напрямую соединены обучаемыми связями с
выходным нейроном. Такие дополнительные связи зачастую
позволяют снизить размерность скрытого слоя и обеспечивают более
быструю сходимость. Для решения данной задачи можно подобрать
множество архитектур.
Сначала веса связей инициализируются случайным образом, а
затем настраиваются с использованием данных из таблицы истинности
функции «исключающего ИЛИ»:
0; 0  0; 1; 0  1; 0; 1  1; 1; 1  0 .
136
Рис. 6.12. Решение задачи «исключающего ИЛИ» методом обратного
распространение
После 1400 циклов обучения для этих четырёх обучающих
примеров получаются весовые коэффициенты следующего вида
(значения округлены до 1 знака после запятой):
WH 1  7.0 WHB  2.6 WO1  7.0 WOH  11.0
WH 2  7.0 WOB  7.0 WO 2  4.0
Для входного вектора (0; 0) на выходе скрытого нейрона будет
получено значение:
f 0   7.0  0   7.0  1  2.6  f 2.6  1 .
Для этого же входного образа выходное значение сети будет
вычисляться по формуле:
f 0   5.0  0   4.0  1   11.0  1  7.0  f  4.0  0 .
Для входного вектора (1; 0) выходом скрытого нейрона будет:
f 1   7.0  0   7.0  1  2.6  f  4.4  0 ,
а на выходе сети будет получено значение:
137
f 1   5.0  0   4.0  0   11.0  1  7.0  f 2.0  1.
Для входного вектора (0; 1) будут получены аналогичные
выходные значения. И, наконец, рассмотрим входной вектор (1; 1).
Для него на выходе скрытого слоя получим:
f 1   7.0  1   7.0  1  2.6  f  11.4  0 ,
а на выходе сети
f 1   5.0  1   4.0  0   11.0  1  7.0  f  2.0  0 .
Понятно, что сеть прямого распространения, обученная по
методу обратного распространения ошибки, обеспечивает нелинейное
разделение этих данных. Пороговая функция f - это сигмоида, график
которой показан на рис. 10.7б, несколько смещённая в положительном
направлении за счёт обучаемого порога.
6.6. Конкурентное обучение
Алгоритм обучения «победитель забирает всё» для задачи
классификации
В алгоритме «победитель забирает всё» [Kohonnen, 1984],
[Hecht-Neilsen, 1987] при предъявлении сети входного вектора
возбуждается единственный нейрон, наиболее точно соответствующий
этому образу. Подобный алгоритм можно рассматривать как
реализацию механизма конкуренции между нейронами сети (рис.
10.13). На рис. 10.13 вектор входных значений
X  x1 , x2 , , xm 
передаётся слою нейронов сети A, B, , N , причём нейрон В
оказывается победителем, а его выходной сигнал равен 1.
138
Рис. 6.13. Слой нейронов при работе алгоритма «победитель забирает
всё». Нейрон-победитель определяется на основе входных векторов
Алгоритм «победитель забирает всё» реализует принцип
обучения без учителя, поскольку нейрон-победитель выбирается по
максимальному уровню активности. Вектор весовых коэффициентов
нейрона-победителя модифицируется для более точного соответствия
входному вектору. Если W – вес нейрона-победителя, а Х - входной
вектор, то вектор W модифицируется следующим образом:

W t  c  X t 1  W t 1
,
где с – малый положительный параметр обучения, который обычно
уменьшается в процессе обучения. Вектор весовых коэффициентов
нейрона-победителя настраивается путём добавления к нему W .
Согласно этому соотношению каждый компонент вектора
весовых коэффициентов увеличивается или уменьшается на величину
t
139
xi  wi . Целью такой настройки является максимальное приближение
нейрона-победителя к входному вектору. Алгоритм «победитель
забирает всё» не требует прямого вычисления уровней активации для
поиска нейрона с наиболее сильным откликом. Уровень активации
нейрона напрямую зависит от близости вектора весов входному
вектору.
Положительные особенности обучения Кохонена «победитель
забирает всё»:
-
по эффективности сравним с персептроном;
его можно комбинировать с другими нейросетевыми
архитектурами и обеспечить тем самым более сложные
модели обучения.
6.7. Самоорганизующиеся карты Кохонена
Самоорганизующиеся карты – это одна из разновидностей
нейросетевых алгоритмов. Основным отличием данной технологии от
рассмотренных нами ранее нейросетей, обучаемых по алгоритму
обратного распространения, является то, что при обучении
используется метод обучения без учителя, то есть результат обучения
зависит только от структуры входных данных. Нейронные сети
данного типа часто применяются для решения самых различных задач,
от восстановления пропусков в данных до анализа данных и поиска
закономерностей, например, в финансовой задаче. В данной статье мы
рассмотрим принципы функционирования и некоторые аспекты
использования самоорганизующихся карт.
Основы
Алгоритм функционирования самообучающихся карт (Self
Organizing Maps – SOM) представляет собой один из вариантов
кластеризации многомерных векторов. Примером таких алгоритмов
может служить алгоритм k-ближайших средних (c-means). Важным
отличием алгоритма SOM является то, что в нем все нейроны (узлы,
центры классов…) упорядочены в некоторую структуру (обычно
двумерную сетку). При этом в ходе обучения модифицируется не
только нейрон-победитель, но и его соседи, но в меньшей степени. За
счет этого SOM можно считать одним из методов проецирования
многомерного пространства в пространство с более низкой
140
размерностью. При использовании этого алгоритма вектора, схожие в
исходном пространстве, оказываются рядом и на полученной карте.
Нейрон-победитель (Best matching unit)
Нейрон карты, который в наибольшей степени соответствует
вектору входов (обычно имеет минимальное расстояние до него).
Именно этот нейрон определяет к какому классу относится пример, и
он модифицируется при обучении.
Структура
SOM подразумевает использование упорядоченной структуры
нейронов. Обычно используются одно и двумерные сетки. При этом
каждый нейрон представляет собой n-мерный вектор-столбец
w  w1 , w2,, wn  , где n определяется размерностью исходного
T
пространства (размерностью входных векторов). Применение одно и
двумерных сеток связано с тем, что возникают проблемы при
отображении пространственных структур большей размерности (при
этом опять возникают проблемы с понижением размерности до
двумерной, представимой на мониторе).
Обычно нейроны располагаются в узлах двумерной сетки с
прямоугольными или шестиугольными ячейками. При этом, как было
сказано выше, нейроны также взаимодействуют друг с другом.
Величина этого взаимодействия определяется расстоянием между
нейронами на карте. На рис. 6.14 дан пример расстояния для
шестиугольной и четырехугольной сеток.
Рис. 6.14. Расстояние между нейронами на карте для шестиугольной
(а) и четырехугольной (б) сеток.
141
При этом легко заметить, что для шестиугольной сетки
расстояние между нейронами больше совпадает с евклидовым
расстоянием, чем для четырехугольной сетки.
При этом количество нейронов в сетке определяет степень
детализации результата работы алгоритма, и, в конечном счете, от
этого зависит точность обобщающей способности карты.
Начальная инициализация карты
При реализации алгоритма SOM заранее задается конфигурация
сетки (прямоугольная или шестиугольная), а также количество
нейронов в сети. Некоторые источники рекомендуют использовать
максимально возможное количество нейронов в карте. При этом
начальный радиус обучения (neighborhood в англоязычной литературе)
в значительной степени влияет на способность обобщения при помощи
полученной карты.
Радиус обучения (Radius of learning) Синонимы: Радиус коррекции
Параметр алгоритма обучения карт Кохонена, который
определяет сколько нейронов кроме нейрона-победителя участвуют в
обучении (т.е. корректируют свои веса) на данной итерации. Под
радиусом в данном случае подразумевается расстояние в пространстве
векторов весов нейронов. Т.е. любой нейрон карты, расстояние от
вектора весов которого до вектора весов нейрона победителя менее
радиуса обучения, участвует в коррекции весов на данной итерации.
Радиус обучения максимален на первой итерации и
уменьшается с увеличением числа итераций по линейному закону
таким образом, что в конце обучения корректирует свои веса только
нейрон победитель.
В случае, когда количество узлов карты превышает количество
примеров в обучающей выборке, то успех использования алгоритма в
большой степени зависит от подходящего выбора начального радиуса
обучения. Однако, в случае, когда размер карты составляет десятки
тысяч нейронов, то время, требуемое на обучение карты, обычно
бывает слишком велико для решения практических задач, таким
образом, необходимо достигать допустимого компромисса при выборе
количества узлов.
Перед
началом
обучения
карты
необходимо
проинициализировать весовые коэффициенты нейронов. Удачно
выбранный способ инициализации может существенно ускорить
142
обучение, и привести к получению более качественных результатов.
Существуют три способа инициирования начальных весов:



Инициализация случайными значениями, когда всем весам
даются малые случайные величины.
Инициализация примерами, когда в качестве начальных
значений задаются значения случайно выбранных примеров из
обучающей выборки
Линейная инициализация. В этом случае веса инициируются
значениями векторов, линейно упорядоченных вдоль
линейного подпространства, проходящего между двумя
главных собственными векторами исходного набора данных.
Собственные вектора могут быть найдены, например, при
помощи процедуры Грама-Шмидта.
Обучение
Обучение состоит из последовательности коррекций векторов,
представляющих собой нейроны. На каждом шаге обучения из
исходного набора данным случайно выбирается один из векторов, а
затем производится поиск наиболее похожего на него вектора
коэффициентов нейронов. При этом выбирается нейрон-победитель,
который наиболее похож на вектор входов. Под похожестью в данной
задаче понимается расстояние между векторами, обычно вычисляемое
в евклидовом пространстве. Таким образом, если обозначит нейронпобедитель как c, то получим
x  wc  min  x  wi .
i
После того, как найден нейрон-победитель производится
корректировка весов нейросети. При этом вектор, описывающий
нейрон-победитель и вектора, описывающие его соседей в сетке,
перемещаются
в
направлении
входного
вектора.
Это
проиллюстрировано на рис. 6.15 для двумерного вектора.
143
Рис. 6.15
Подстройка весов нейрона победителя и его соседей. Координаты
входного вектора отмечены крестом, координаты узлов карты после
модификации отображены серым цветом. Вид сетки после
модификации отображён штриховыми линиями.
При этом для модификации весовых коэффициентов
используется формула:
wi t 1  wi t   hci t  xt   wt  ,


где t обозначает номер эпохи (дискретное время). При этом вектор x(t)
выбирается случайно из обучающей выборки на итерации t. Функция
h(t) называется функцией соседства нейронов. Эта функция
представляет собой невозрастающую функцию от времени и
расстояния между нейроном-победителем и соседними нейронами в
сетке. Эта функция разбивается на две части: собственно, функцию
расстояния и функции скорости обучения от времени. где r определяет
положение нейрона в сетке.
Обычно применяется одни из двух функций от расстояния:
простая константа
hd , t   e

const , d   t 
hd , t   
, или Гауссова функция
 0, d   t 
d2
2 2 t 
. При этом лучший результат получается при
использовании Гауссовой функции расстояния. При этом является
убывающей функцией от времени. Часто эту величину называют
радиусом обучения, который выбирается достаточно большим на
начальном этапе обучения и постепенно уменьшается так, что в
144
конечном итоге обучается один нейрон-победитель. Наиболее часто
используется функция, линейно убывающая от времени.
Рассмотрим теперь функцию скорости обучения a t . Эта
функция также представляет собой функцию, убывающую от времени.
Наиболее часто используются два варианта этой функции: линейная и

обратно пропорциональная времени вида
at  
A
, где A и B это
tB
константы. Применение этой функции приводит к тому, что все
вектора из обучающей выборки вносят примерно равный вклад в
результат обучения.
Обучение состоит из двух основных фаз: на первоначальном
этапе выбирается достаточно большое значение скорости обучения и
радиуса обучение, что позволяет расположить вектора нейронов в
соответствии с распределением примеров в выборке, а затем
производится точная подстройка весов, когда значения параметров
скорости обучения много меньше начальных. В случае использования
линейной инициализации первоначальный этап грубой подстройки
может быть пропущен.
Применение алгоритма
Так как алгоритм SOM сочетает в себе два основных
направления – векторное квантование и проецирование, то можно
найти и основные применения этого алгоритма. Данную методику
можно использовать для поиска и анализа закономерностей в
исходных данных. При этом, после того, как нейроны размещены на
карте, полученная карта может быть отображена. Рассмотрим
различные способы отображения полученной карты.
Раскраска, порождённая отдельными компонентами
При данном методе отрисовки полученную карту можно
представить в виде слоёного пирога. Каждый слой которого
представляет собой раскраску, порождённую одной из компонент
исходных данных. Полученный набор раскрасок может использоваться
для анализа закономерностей, имеющихся между компонентами
набора данных. После формирования карты мы получаем набор узлов,
который можно отобразить в виде двумерной картинки. При этом
каждому узлу карты можно поставить в соответствие участок на
рисунке, четырёх или шестиугольный, координаты которого
145
определяются координатами соответствующего узла в решётке. Теперь
для визуализации осталось только определить цвет ячеек этой
картинки. Для этого и используются значения компонент. Самый
простой вариант – использование градаций серого. В этом случае
ячейки, соответствующие узлам карты, в которые попали элементы с
минимальными значениями компонента или не попало вообще ни
одной записи, будут изображены черным цветом, а ячейки, в которые
попали записи с максимальными значениями такого компонента,
будут соответствовать ячейки белого цвета. В принципе можно
использовать любую градиентную палитру для раскраски.
Полученные раскраски в совокупности образуют атлас,
отображающий расположение компонент, связи между ними, а также
относительное расположение различных значений компонент.
Отображение кластеров
Кластером будет являться группа векторов, расстояние между
которыми внутри этой группы меньше, чем расстояние до соседних
групп. Структура кластеров при использовании алгоритма SOM может
быть отображена путём визуализации расстояния между опорными
векторами (весовыми коэффициентами нейронов). При использовании
этого метода чаще всего используется унифицированная матрица
расстояний (u-matrix). При использовании этого метода вычисляется
расстояние между вектором весов нейрона в сетке и его ближайшими
соседями. Затем эти значения используются для определения цвета,
которым этот узел будет отрисован. Обычно используют градации
серого, причём чем больше расстояние, тем темнее отрисовывается
узел. При таком использовании узлам с наибольшим расстоянием
между ними и соседями соответствует чёрный цвет, а близлежащим
узлам – белый.
146
Вопросы для самоконтроля:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Дайте определение нейронным сетям.
Почему нейросети являются системами параллельной
распределённой обработки?
Типы задач, решаемых при помощи нейросетей?
Опишите структуру нейрона.
Назовите глобальные свойства нейросетей.
Нарисуйте модель нейрона Мак-Каллока-Питтса.
Расскажите об алгоритм обучения персептрона Ф.Розенблатта.
Как используется персептрон для классификации образов?
Дайте понятие общей теории классификации.
Для чего используются сигмоидальные функции?
Сформулируйте обобщённое дельта-правило.
Почему сигмоидальная функция получила такое название?
Что определяет параметр «  »?
Что такое «с»?
Расскажите об обучение по методу обратного
распространения.
Что такое фонема?
Расскажите о «Система NETtalk».
Расскажите о решении задачи исключающего ИЛИ при
помощи метода обратного рапространения.
Расскажите об алгоритме обучения «победитель забирает всё».
Расскажите о картах Кохонена.
147
Глава 7. Генетические алгоритмы
7.1. Социальные и эмерджентные модели обучения
На ранних этапах развитие сетей связей во многом было
обусловлено создания искусственной нервной системы. Однако это не
единственный биологический прототип для разработки алгоритмов
машинного обучения. Будем рассматривать алгоритмы обучения,
основанные на принципах биологической эволюции: выживание
сильнейших особей в популяции в процессе её развития. Роль отбора
сильнейших представителей популяции ярко проявляется на примере
эволюции видов, а также в социальных процессах, приводящих к
изменению и формированию культуры.
Эмерджентные, или проявляющиеся модели обучения
имитируют наиболее элегантную и мощную форму адаптации эволюцию форм жизни животного и растительного мира.
Простота процессов, лежащих в основе эволюции, обеспечивает
их достаточно общее обоснование. Виды создаются в процессе
биологической эволюции за счёт отбора наиболее благоприятных
изменений генома. Аналогично в процессе культурной эволюции при
передаче социально обработанных и модифицированных единиц
информации формируются знания. Генетические алгоритмы и другие
формальные эволюционные аналоги обуславливают более точное
решение задачи за счёт операций над популяциями кандидатов на роль
решения.
Генетический алгоритм решения задачи включает три стадии,
первая
из которых
предполагает
представление
отдельных
потенциальных решений в специальном виде, удобном для
выполнения эволюционных операций изменения и отбора. Часто
таким представлением являются обычные битовые строки. На второй
стадии
реализуются
скрещивание
и
мутации,
присущие
биологическим формам жизни, в результате которых появляются
новое поколение особей с рекомбинированными свойствами своих
родителей. И наконец, на основе некоторого критерия отбора (fitness
function) выбираются «лучшие» формы жизни, т.е. наиболее точно
соответствующие решению данной проблемы. Эти особи выбираются
для выживания и воспроизведения, т.е. для формирования нового
поколения потенциальных решений. В конечном итоге некоторое
поколение особей и станет решением исходной задачи.
В генетических алгоритмах применяются и более сложные
представления, в том числе правила вывода, эволюционирующие в
148
процессе взаимодействия с внешней средой. Например, в
генетическом программировании за счёт комбинирования и «мутации»
фрагментов программного кода программа эволюционирует и
сходится к решению задачи, например, к выделению инвариантного
множества.
Примеры обучения, представляющего собой социальное
взаимодействие с целью выживания, можно найти в таких играх, как
«Жизнь». В игре рождение, жизнь и смерть особей - это функций их
собственного состояния и состояния их ближайших соседей. Обычно
для определения игры достаточно небольшого количества правил трёх или четырёх. Как показали эксперименты с игрой «Жизнь»,
несмотря на эту простоту, в её рамках могут эволюционировать
чрезвычайно сложные структуры, в том числе много клеточные
организмы, обладающие функцией саморепликации.
Один из важнейших подходов к искусственной жизни состоит в
моделировании условий биологической эволюции за счёт
взаимодействия конечных автоматов, заданных наборами состояний и
правил перехода. Эти автоматы могут принимать информацию от
внешней среды, в частности, от ближайших соседей. Правила
переходов содержат инструкции по рождению, продолжению жизни и
смерти. Если популяция таких автоматов свободно действует в своей
предметной области, и её особи могут взаимодействовать как
параллельные асинхронные агенты, то иногда можно наблюдать
эволюцию практически независимых «форм жизни».
7.2. Генетические алгоритмы
В рамках данного подхода обучение рассматривается как
конкуренция внутри популяции между эволюционирующими
кандидатами на роль решения задачи. Каждое решение оценивается
согласно критерию отбора. По результатам оценки определяется,
будет ли этот экземпляр участвовать в следующем поколении
решений. Затем с помощью операций, аналогичных трансформации
генотипа в процессе биологического воспроизводства, создаётся новое
поколение решений-кандидатов.
Пусть
Pt  - поколение решений-кандидатов xit в момент
времени t:
Pt   x1t , x2t ,, xnt .
149
В общем виде генетический алгоритм можно представить
следующим образом:
procedure genetic algorithm
begin
установить t:=0;
инициализировать популяцию P(t);
while не достигнуто условие завершения
begin
вычислить значение критерия качества для каждого элемента
популяции P(t);
на основе значений критерия качества выбрать из P(t) нужное число
элементов;
создать следующее поколение с помощью генетических операций;
заменить с учётом значений критерия качества особей популяции
P(t) их потомками;
установить время t:= t + 1
end
end.
Этот алгоритм отражает основные принципы генетического
обучения. Его конкретные реализации могут отличаться в зависимости
от задачи. Предположим, что необходимо с помощью генетического
алгоритма научить классифицировать строки, состоящие из единиц и
нулей. В такой задаче популяцию битовых строк можно описывать с
помощью шаблона, состоящего из нулей, единиц и символов #,
которые могут соответствовать как единице, так и нулю.
Следовательно, шаблон 1##00##1 представляет все восьмибитные
строки, начинающиеся, заканчивающиеся единицей и содержащие в
середине строки два нуля подряд.
При работе генетического алгоритма популяция кандидатов
P(0) некоторым образом инициализируется. Обычно инициализация
выполняется с помощью датчика случайных чисел. Для оценки
решений-кандидатов
вводится
критерий
качества
 
f xit ,
определяющий меру соответствия каждого кандидата в момент
времени t. При классификации мерой соответствия является
процентное соотношение правильных ответов на множестве
обучающих примеров. При таком критерии качества каждому
решению-кандидату соответствует значение:
 
f xit mP, t 
150
,где m (P, t) - среднее значение критерия качества для всех элементов
популяции. Обычно мера соответствия изменяется во времени,
поэтому критерий качества может быть функцией от стадии решения
всей проблемы или
 
f xit .
После анализа каждого кандидата выбираются пары для
рекомбинации. При этом используются генетические операторы, в
результате выполнения которых новые решения получаются путём
комбинации свойств родителей. Как и в естественном процессе
эволюции, степень участия в репродуктивном процессе для каждого
кандидата определяется значением критерия качества: кандидаты с
более высоким значением критерия качества участвуют в процессе
воспроизводства с более высокой вероятностью (чем критерий
качества ниже - тем меньше и вероятность).
Существует множество генетических операторов получения
потомства, обладающих свойствами своих родителей. Наиболее
типичный из них называется скрещиванием (crossover). При
скрещивании два решения-кандидата делятся на несколько частей и
обмениваются этими частями. Результатом становятся два новых
кандидата.
11#0 | 101# #110 | #0#1
Результирующие битовые строки:
11#0#0#1 #110101#
На рисунке (вверху) показана операция скрещивания шаблонов
битовых строк длины 8. Эти строки делятся на две равные части, после
чего формируются два потомка, содержащих по одному сегменту
каждого из родителей. Заметим, что разбиение родительских особей на
две равные части - это достаточно произвольный выбор. Решения
кандидаты могут разбиваться в любой точке, которую можно выбирать
и изменять случайным образом в ходе решения задачи.
Предположим, что целевой класс - это набор всех строк,
которые начинаются и заканчиваются единицей. Обе родительские
строки, показанные на рис. вверху, достаточно хорошо подходят для
решения этой задачи. Однако первый их потомок гораздо точнее
соответствует критерию качества, чем любой из родителей: с
помощью этого шаблона не будет пропущен ни один из
целевых примеров, а нераспознанными останутся гораздо меньше
151
строк, чем реальном классе решения. Заметим также, что его «собрат»
гораздо хуже, чем любой из родителей, поэтому этот экземпляр,
скорее всего, будет исключён в одном из ближайших поколений.
Мутация (mutation) - это ещё один важный генетический
оператор. Она состоит в случайном выборе кандидата и случайном
изменении некоторых его свойств. Например, мутация может состоять
в случайном выборе бита в шаблоне и изменении его значения с
единицы на ноль или #. Значение мутации состоит в возможном
восполнении важных компонентов решения, отсутствующих
в исходной популяции. Если в рассмотрено примере ни один из
элементов исходной популяции не содержит единиц в первой позиции,
то в процессе скрещивания нельзя получить потомка, обладающего
этим свойством. Значение первого бита может измениться лишь
вследствие мутации. Этой цели также можно достичь с помощью
другого генетического оператора - инверсии (inversion) - о ней позже.
Работа генетического алгоритма продолжается до тех пор, пока
не будет достигнуто условие его завершения, например, для одного
или нескольких кандидатов значение критерия качества не превысит
некоторого порога.
Системы классификации и генетическое программирование
Первые генетические алгоритмы почти полностью базировались
на низкоуровневом представлении, в частности, на битовых строках
{0, 1, #}. Помимо того что битовые строки являются естественным
представлением для реализации генетических операторов, они
обеспечивают для генетических алгоритмов столь же высокую
производительность, как и другие несимвольные подходы, в том числе
нейросетевые. Однако существуют задачи, для которых естественным
является кодирование на более высоком уровне представления.
Важным аспектом таких представлений является возможность
комбинирования таких фрагментов высокоуровневых знаний, как
цепочки правил вывода или вызовы функций.
Реализовать вышеуказанный аспект очень сложно.
Системы классификации
В системах классификации генетическое обучение применяется
к правилам логического вывода. Система классификации включает
стандартные элементы системы вывода (см. рис.): правила вывода
152
(называемые здесь классификаторами), рабочую память, входные
датчики (или декодеры) и выходные элементы (эффекторы).
Рис. 7.1
Отличительной особенностью системы классификации является
конкурентный подход к разрешению конфликтов, применение
генетических алгоритмов для обучения и алгоритма «пожарной
цепочки» (bucket brigade algorithm) для распределения поощрений и
наказаний в процессе обучения. Обратная связь с внешней средой даёт
возможность оценить качество классификаторов-кандидатов, что
необходимо для реализации генетического обучения. Система
классификации, приведённая на рисунке, включает следующие
основные компоненты:
1. Детекторы входящих сообщений от внешней среды.
153
2. Детекторы обратных связей с внешней средой.
3. Эффекторы, передающие результаты применения правил во
внешнюю среду.
4. Набор правил вывода, представляющий собой популяцию
классификаторов. Каждому классификатору соответствует своё
значение критерия качества.
5. Рабочая память для правил классификации, в которой результаты
правил выбора интегрированы со входной информацией.
6. Набор генетических операторов для модификации правил вывода.
7. Система для предоставления кредита правилам, участвующим в
выполнении успешных действий.
При решении задачи классификатор работает как традиционная
система логического вывода. На детекторы системы классификации из
внешней среды поступает сообщение, например, информация о
сделанном игроком ходе. Это событие кодируется и помещается в
качестве образа во внутренний список сообщений - рабочую память
системы вывода. Эти сообщения при обычной работе системы вывода
на основе данных соответствуют условиям правил классификации.
Выбор «наиболее активного классификатора» осуществляется по
схеме аукциона, в которой предлагаемая цена - это функция
аккумулированного значения критерия качества для такого
классификатора и уровня соответствия между входным стимулом и его
условием. Эти сообщения добавляются в рабочую память
классификаторов с наиболее высоким уровнем соответствия. Из
обновлённого списка сообщения могут передаваться во внешнюю
среду либо активизировать новые правила классификации в процессы
работы системы вывода.
Вопросы для самоконтроля:
1.
2.
3.
4.
5.
6.
Что такое социальные модели обучения?
Что такое эмерджентные модели обучения?
Приведите упрощённый пример генетического алгоритма.
Что такое скрещивание?
Что такое мутация?
Приведите пример системы классификации на основе
генетического алгоритма.
154
Глава 8. Деревья решений
8.1. Деревья решений - общие принципы работы
Введение
Стремительное развитие информационных технологий, в
частности, прогресс в методах сбора, хранения и обработки данных
позволил многим организациям собирать огромные массивы данных,
которые необходимо анализировать. Объемы этих данных настолько
велики, что возможностей экспертов уже не хватает, что породило
спрос на методы автоматического исследования (анализа) данных,
который с каждым годом постоянно увеличивается.
Деревья решений – один из таких методов автоматического
анализа данных. Первые идеи создания деревьев решений восходят к
работам Ховленда (Hoveland) и Ханта (Hunt) конца 50-х годов XX
века. Однако, основополагающей работой, давшей импульс для
развития этого направления, явилась книга Ханта (Hunt, E.B.), Мэрина
(Marin J.) и Стоуна (Stone, P.J) «Experiments in Induction», увидевшая
свет в 1966г.
Терминология
Введем основные понятия из теории деревьев решений, которые
будут употребляться далее.
Название
Объект
Атрибут
Метка
класса
Узел
Лист
Проверка
(test)
Описание
Пример, шаблон, наблюдение
Признак, независимая переменная, свойство
Зависимая переменная, целевая переменная, признак
определяющий класс объекта
Внутренний узел дерева, узел проверки
Конечный узел дерева, узел решения
Условие в узле
155
Дерево решений и типы решаемых задач
Деревья решений – это способ представления правил в
иерархической, последовательной структуре, где каждому объекту
соответствует единственный узел, дающий решение.
Под
правилом
понимается
логическая
конструкция,
представленная в виде «если ... то ...».
Рис. 8.1
Область применения деревья решений в настоящее время
широка, но все задачи, решаемые этим аппаратом, могут быть
объединены в следующие три класса:



Описание данных: Деревья решений позволяют хранить
информацию о данных в компактной форме, вместо них мы
можем хранить дерево решений, которое содержит точное
описание объектов.
Классификация: Деревья решений отлично справляются с
задачами классификации, т.е. отнесения объектов к одному из
заранее известных классов. Целевая переменная должна иметь
дискретные значения.
Регрессия: Если целевая переменная имеет непрерывные
значения, деревья решений позволяют установить зависимость
целевой переменной от независимых(входных) переменных.
Например, к этому классу относятся задачи численного
прогнозирования (предсказания значений целевой
переменной).
156
Как построить дерево решений?
Пусть нам задано некоторое обучающее множество T,
содержащее объекты (примеры), каждый из которых характеризуется
m атрибутами (атрибутами), причем один из них указывает на
принадлежность объекта к определенному классу.
Идею построения деревьев решений из множества T, впервые
высказанную Хантом, приведем по Р. Куинлену (R. Quinlan).
Пусть через {C1, C2, ... Ck} обозначены классы (значения метки
класса), тогда существуют 3 ситуации:
1.
2.
3.
множество T содержит один или более примеров,
относящихся к одному классу Ck. Тогда дерево решений для Т
– это лист, определяющий класс Ck;
множество T не содержит ни одного примера, т.е. пустое
множество. Тогда это снова лист, и класс, ассоциированный с
листом, выбирается из другого множества отличного от T,
скажем, из множества, ассоциированного с родителем;
множество T содержит примеры, относящиеся к разным
классам. В этом случае следует разбить множество T на
некоторые подмножества. Для этого выбирается один из
признаков, имеющий два и более отличных друг от друга
значений O1, O2, ... On. T разбивается на подмножества T1, T2,
... Tn, где каждое подмножество Ti содержит все примеры,
имеющие значение Oi для выбранного признака. Это
процедура будет рекурсивно продолжаться до тех пор, пока
конечное множество не будет состоять из примеров,
относящихся к одному и тому же классу.
Вышеописанная процедура лежит в основе многих современных
алгоритмов построения деревьев решений, этот метод известен еще
под названием разделения и захвата (divide and conquer). Очевидно,
что при использовании данной методики, построение дерева решений
будет происходить сверху вниз.
Поскольку все объекты были заранее отнесены к известным нам
классам, такой процесс построения дерева решений называется
обучением с учителем (supervised learning). Процесс обучения также
называют индуктивным обучением или индукцией деревьев (tree
induction).
157
На сегодняшний день существует значительное число
алгоритмов, реализующих деревья решений CART, C4.5, NewId,
ITrule, CHAID, CN2 и т.д. Но наибольшее распространение и
популярность получили следующие два:


CART (Classification and Regression Tree) – это алгоритм
построения бинарного дерева решений – дихотомической
классификационной модели. Каждый узел дерева при
разбиении имеет только двух потомков. Как видно из названия
алгоритма, решает задачи классификации и регрессии.
C4.5 – алгоритм построения дерева решений, количество
потомков у узла не ограничено. Не умеет работать с
непрерывным целевым полем, поэтому решает только задачи
классификации.
Большинство из известных алгоритмов являются «жадными
алгоритмами». Если один раз был выбран атрибут, и по нему было
произведено разбиение на подмножества, то алгоритм не может
вернуться назад и выбрать другой атрибут, который дал бы лучшее
разбиение. И поэтому на этапе построения нельзя сказать даст ли
выбранный атрибут, в конечном итоге, оптимальное разбиение.
Этапы построения деревьев решений
При построении деревьев решений особое внимание уделяется
следующим вопросам: выбору критерия атрибута, по которому пойдет
разбиение, остановки обучения и отсечения ветвей. Рассмотрим все
эти вопросы по порядку.
Правило разбиения. Каким образом следует выбрать признак?
Для построения дерева на каждом внутреннем узле необходимо
найти такое условие (проверку), которое бы разбивало множество,
ассоциированное с этим узлом на подмножества. В качестве такой
проверки должен быть выбран один из атрибутов. Общее правило для
выбора атрибута можно сформулировать следующим образом:
выбранный атрибут должен разбить множество так, чтобы получаемые
в итоге подмножества состояли из объектов, принадлежащих к одному
классу, или были максимально приближены к этому, т.е. количество
объектов из других классов ("примесей") в каждом из этих множеств
было как можно меньше.
158
Были разработаны различные критерии, но мы рассмотрим
только два из них:
Теоретико-информационный критерий
Алгоритм C4.5, усовершенствованная версия алгоритма ID3
(Iterative Dichotomizer), использует теоретико-информационный
подход. Для выбора наиболее подходящего атрибута, предлагается
следующий критерий:
Gain X  Info T  Info X T , (1)
 
 
–
энтропия
InfoT 
n T
Info X T    i  Info Ti  .
i 1 T
где
Множества
 
множества
T,
а
T1 , T2 , Tn получены при разбиении исходного
множества T по проверке X. Выбирается атрибут, дающий
максимальное
значение
по
критерию
(1).
Впервые эта мера была предложена Р. Куинленом в разработанном им
алгоритме ID3. Кроме вышеупомянутого алгоритма C4.5, есть еще
целый класс алгоритмов, которые используют этот критерий выбора
атрибута.
Статистический критерий
Алгоритм CART использует так называемый индекс Gini (в
честь итальянского экономиста Corrado Gini), который оценивает
«расстояние» между распределениями классов.
Ginic   1   p 2j , (3)
j
где c – текущий узел, а pj – вероятность класса j в узле c. CART был
предложен Л. Брейманом и др.
159
Правило остановки. Разбивать дальше узел или отметить его как
лист?
В дополнение к основному методу построения деревьев
решений были предложены следующие правила:



Использование статистических методов для оценки
целесообразности дальнейшего разбиения, так называемая
«ранняя остановка» (prepruning). В конечном счете «ранняя
остановка» процесса построения привлекательна в плане
экономии времени обучения, но здесь уместно сделать одно
важное предостережение: этот подход строит менее точные
классификационные модели и поэтому ранняя остановка
крайне нежелательна. Признанные авторитеты в этой области
Л.Брейман и Р. Куинлен советуют буквально следующее:
"Вместо остановки используйте отсечение".
Ограничить глубину дерева. Остановить дальнейшее
построение, если разбиение ведет к дереву с глубиной,
превышающей заданное значение.
Разбиение должно быть нетривиальным, т.е. получившиеся в
результате узлы должны содержать не менее заданного
количества примеров.
Этот список эвристических правил можно продолжить, но на
сегодняшний день не существует такого, которое бы имело большую
практическую ценность. К этому вопросу следует подходить
осторожно, так как многие из них применимы в каких-то частных
случаях.
Правило отсечения. Каким образом ветви дерева должны
отсекаться?
Очень часто алгоритмы построения деревьев решений дают
сложные деревья, которые «переполнены данными», имеют много
узлов и ветвей. Такие "ветвистые" деревья очень трудно понять. К
тому же ветвистое дерево, имеющее много узлов, разбивает
обучающее множество на все большее количество подмножеств,
состоящих из всё меньшего количества объектов. Ценность правила,
справедливого скажем для 2-3 объектов, крайне низка, и в целях
анализа данных такое правило практически непригодно. Гораздо
предпочтительнее иметь дерево, состоящее из малого количества
160
узлов, которым бы соответствовало большое количество объектов из
обучающей выборки. И тут возникает вопрос: а не построить ли все
возможные варианты деревьев, соответствующие обучающему
множеству, и из них выбрать дерево с наименьшей глубиной? К
сожалению, это задача является NP-полной, это было показано Л.
Хайфилем и Р. Ривестом, и, как известно, этот класс задач не имеет
эффективных методов решения.
Для решения вышеописанной проблемы часто применяется так
называемое отсечение ветвей (pruning).
Пусть под точностью (распознавания) дерева решений
понимается отношение правильно классифицированных объектов при
обучении к общему количеству объектов из обучающего множества, а
под ошибкой – количество неправильно классифицированных.
Предположим, что нам известен способ оценки ошибки дерева, ветвей
и листьев. Тогда, возможно использовать следующее простое правило:


построить дерево;
отсечь или заменить поддеревом те ветви, которые не
приведут к возрастанию ошибки.
В отличии от процесса построения, отсечение ветвей
происходит снизу вверх, двигаясь с листьев дерева, отмечая узлы как
листья,
либо
заменяя
их
поддеревом.
Хотя отсечение не является панацеей, но в большинстве практических
задач дает хорошие результаты, что позволяет говорить о
правомерности использования подобной методики.
Правила
Иногда даже усеченные деревья могут быть все еще сложны для
восприятия. В таком случае, можно прибегнуть к методике извлечения
правил из дерева с последующим созданием наборов правил,
описывающих классы.
Для извлечения правил необходимо исследовать все пути от
корня до каждого листа дерева. Каждый такой путь даст правило, где
условиями будут являться проверки из узлов, встретившихся на пути.
161
Рис.8.2
Преимущества использования деревьев решений
Рассмотрев основные проблемы, возникающие при построении
деревьев, было бы несправедливо не упомянуть об их достоинствах:






быстрый процесс обучения;
генерация правил в областях, где эксперту трудно
формализовать свои знания;
извлечение правил на естественном языке;
интуитивно понятная классификационная модель;
высокая точность прогноза, сопоставимая с другими методами
(статистика, нейронные сети);
построение непараметрических моделей.
В силу этих и многих других причин, методология деревьев
решений является важным инструментом в работе каждого
специалиста, занимающегося анализом данных, вне зависимости от
того практик он или теоретик.
162
Области применения деревьев решений
Деревья решений являются прекрасным инструментом в
системах поддержки принятия решений, интеллектуального анализа
данных (data mining).
В
состав
многих
пакетов,
предназначенных
для
интеллектуального анализа данных, уже включены методы построения
деревьев решений. В областях, где высока цена ошибки, они послужат
отличным подспорьем аналитика или руководителя
Деревья решений успешно применяются для решения
практических задач в следующих областях:




Банковское дело. Оценка кредитоспособности клиентов
банка при выдаче кредитов.
Промышленность. Контроль за качеством продукции
(выявление дефектов), испытания без разрушений (например,
проверка качества сварки) и т.д.
Медицина. Диагностика различных заболеваний.
Молекулярная биология. Анализ строения аминокислот.
Это далеко не полный список областей, где можно использовать
деревья решений. Не исследованы еще многие потенциальные области
применения.
8.2. Деревья решений - C4.5 математический аппарат.
Общий принцип построения деревьев решений был дан выше.
Далее речь пойдет о методе построения деревьев решений,
который впервые был предложен Р. Куинленом (R. Quinlan). Этот
метод используется в одном из лучших алгоритмов построения
деревьев решений C4.5.
Прежде чем приступить к описанию алгоритма построения
дерева решений, определим обязательные требования к структуре
данных и непосредственно к самим данным, при выполнении которых
алгоритм C4.5 будет работоспособен:

Описание атрибутов. Данные, необходимые для работы
алгоритма, должны быть представлены в виде плоской
таблицы. Вся информация об объектах (далее примеры) из
предметной области должна описываться в виде конечного
набора признаков (далее атрибуты). Каждый атрибут должен
163


иметь дискретное или числовое значение. Сами атрибуты не
должны меняться от примера к примеру, и количество
атрибутов должно быть фиксированным для всех примеров.
Определенные классы. Каждый пример должен быть
ассоциирован с конкретным классом, т.е. один из атрибутов
должен быть выбран в качестве метки класса.
Дискретные классы. Классы должны быть дискретными, т.е.
иметь конечное число значений. Каждый пример должен
однозначно относиться к конкретному классу. Случаи, когда
примеры принадлежат к классу с вероятностными оценками,
исключаются. Количество классов должно быть значительно
меньше количества примеров.
Алгоритм построения дерева
Пусть нам задано множество примеров T, где каждый элемент
этого множества описывается m атрибутами. Количество примеров в
множестве T будем называть мощностью этого множества и будем
обозначать |T|.
Пусть метка класса принимает следующие значения C1, C2 … Ck.
Наша задача будет заключаться в построении иерархической
классификационной модели в виде дерева из множества примеров T.
Процесс построения дерева будет происходить сверху вниз. Сначала
создается корень дерева, затем потомки корня и т.д. На первом шаге
мы имеем пустое дерево (имеется только корень) и исходное
множество T (ассоциированное с корнем). Требуется разбить исходное
множество на подмножества. Это можно сделать, выбрав один из
атрибутов в качестве проверки. Тогда в результате разбиения
получаются n (по числу значений атрибута) подмножеств и,
соответственно, создаются n потомков корня, каждому из которых
поставлено в соответствие свое подмножество, полученное при
разбиении множества T. Затем эта процедура рекурсивно применяется
ко всем подмножествам (потомкам корня) и т.д.
Рассмотрим подробнее критерий выбора атрибута, по которому
должно пойти ветвление. Очевидно, что в нашем распоряжении m (по
числу атрибутов) возможных вариантов, из которых мы должны
выбрать самый подходящий. Некоторые алгоритмы исключают
повторное использование атрибута при построении дерева, но в нашем
случае мы таких ограничений накладывать не будем. Любой из
атрибутов можно использовать неограниченное количество раз при
построении дерева.
164
Пусть мы имеем проверку X (в качестве проверки может быть
выбран любой атрибут), которая принимает n значений A1, A2 ... An.
Тогда разбиение T по проверке X даст нам подмножества T1, T2 ... Tn,
при X равном соответственно A1, A2… An. Единственная доступная нам
информация – то, каким образом классы распределены в множестве T
и его подмножествах, получаемых при разбиении по X. Именно этим
мы и воспользуемся при определении критерия.
Пусть freq C j , S – количество примеров из некоторого


множества S, относящихся к одному и тому же классу Cj. Тогда
вероятность того, что случайно выбранный пример из множества S
будет принадлежать к классу Cj
P
freq C j , S 
S
.
Согласно теории информации, количество содержащейся в
сообщении информации, зависит от ее вероятности
1
log 2   (1)
P
Поскольку мы используем логарифм с двоичным основанием,
то выражение (1) дает количественную оценку в битах.
Выражение
k
Info T   
j 1
freq C j , T 
T
 freq C j , T  
 (2)
 log 2 

T


дает оценку среднего количества информации, необходимого для
определения класса примера из множества T. В терминологии теории
информации выражение (2) называется энтропией множества T.
Ту же оценку, но только уже после разбиения множества T по X,
дает следующее выражение:
n
Ti
i 1
T
Info X T   
165
 Info Ti  (3)
Тогда критерием для выбора атрибута будет являться следующая
формула:
Gain X   InfoT   Info X T  (4)
Критерий (4) считается для всех атрибутов. Выбирается
атрибут, максимизирующий данное выражение. Этот атрибут будет
являться проверкой в текущем узле дерева, а затем по этому атрибуту
производится дальнейшее построение дерева. Т.е. в узле будет
проверяться значение по этому атрибуту и дальнейшее движение по
дереву будет производиться в зависимости от полученного ответа.
Такие же рассуждения можно применить к полученным
подмножествам T1, T2 … Tn и продолжить рекурсивно процесс
построения дерева, до тех пор, пока в узле не окажутся примеры из
одного класса.
Одно важное замечание: если в процессе работы алгоритма
получен узел, ассоциированный с пустым множеством (т.е. ни один
пример не попал в данный узел), то он помечается как лист, и в
качестве решения листа выбирается наиболее часто встречающийся
класс у непосредственного предка данного листа.
Здесь следует пояснить почему критерий (4) должен
максимизироваться. Из свойств энтропии нам известно, что
максимально возможное значение энтропии достигается в том случае,
когда все его сообщения равновероятны. В нашем случае, энтропия (3)
достигает своего максимума, когда частота появления классов в
примерах множества T равновероятна. Нам же необходимо выбрать
такой атрибут, чтобы при разбиении по нему один из классов имел
наибольшую вероятность появления. Это возможно в том случае,
когда энтропия (3) будет иметь минимальное значение и,
соответственно, критерий (4) достигнет своего максимума.
Как быть в случае с числовыми атрибутами? Понятно, что
следует выбрать некий порог, с которым должны сравниваться все
значения атрибута. Пусть числовой атрибут имеет конечное число
значений. Обозначим их {v1, v2 … vn}. Предварительно отсортируем все
значения. Тогда любое значение, лежащее между vi и vi+1, делит все
примеры на два множества: те, которые лежат слева от этого значения
{v1, v2 … vi}, и те, что справа {vi+1, vi+2 … vn}. В качестве порога можно
выбрать среднее между значениями vi и vi+1
166
TH i 
vi  vi 1
2
Таким образом, мы существенно упростили задачу нахождения
порога, и привели к рассмотрению всего n - 1 потенциальных
пороговых значений TH1, TH2 … THn-1.
Формулы (2), (3) и (4) последовательно применяются ко всем
потенциальным пороговым значениям и среди них выбирается то,
которое дает максимальное значение по критерию (4). Далее это
значение сравнивается со значениями критерия (4), подсчитанными
для остальных атрибутов. Если выяснится, что среди всех атрибутов
данный числовой атрибут имеет максимальное значение по критерию
(4), то в качестве проверки выбирается именно он.
Следует отметить, что все числовые тесты являются
бинарными, т.е. делят узел дерева на две ветви.
Классификация новых примеров
Итак, мы имеем дерево решений и хотим использовать его для
распознавания нового объекта. Обход дерева решений начинается с
корня дерева. На каждом внутреннем узле проверяется значение
объекта Y по атрибуту, который соответствует проверке в данном узле,
и, в зависимости от полученного ответа, находится соответствующее
ветвление, и по этой дуге двигаемся к узлу, находящему на уровень
ниже и т.д. Обход дерева заканчивается, как только встретится узел
решения, который и дает название класса объекта Y.
Итак, первый шаг сделан. Вы можете легко получить дерево
решений, реализовав описанный алгоритм. Правда, небольшим
недостатком будут ветвистые деревья, если примеры представлены
очень большим количеством атрибутов.
Этот недостаток можно устранить, применив методику
отсечения (pruning) ветвей.
Улучшенный критерий разбиения
Критерий (4) имеет один недостаток – он «предпочитает»
атрибуты,
которые
имеют
много
значений.
Рассмотрим
гипотетическую задачу медицинской диагностики, где один из
атрибутов идентифицирует личность пациента. Поскольку каждое
значение этого атрибута уникальное, то при разбиении множества
примеров по этому атрибуту получаются подмножества, содержащие
167
только по одному примеру. Так как все эти множества
«однопримерные», то и пример относится, соответственно, к одному
единственному классу, тогда
Info X T   0
Значит критерий (4) принимает свое максимальное значение, и
несомненно, что именно этот атрибут будет выбран алгоритмом.
Однако, если рассмотреть проблему под другим углом – с точки
зрения предсказательных способностей построенной модели, то
становится очевидным вся бесполезность такой модели. Хотя на
практике не так часто встречаются подобные задачи, но, тем не менее,
необходимо предусмотреть и такие случаи.
Проблема решается введением некоторой нормализации. Пусть
суть информации сообщения, относящегося, к примеру, указывает не
на класс, к которому пример принадлежит, а на выход. Тогда, по
аналогии с определением Info(T), мы имеем
Ti
T 
 log 2  i  (5)
T 
i 1 T
n
split inf o X   
Выражение (5) оценивает потенциальную информацию,
получаемую при разбиении множества T на n подмножеств.
Рассмотрим следующее выражение:
gain ratio  X  
gain  X 
(6)
split inf o X 
Пусть выражение (6) является критерием выбора атрибута.
Очевидно, что атрибут, идентифицирующий пациента, не будет
высоко оценен критерием (6). Пусть имеется k классов, тогда
числитель выражения (6) максимально будет равен log2(k) и пусть n –
количество примеров в обучающей выборке и одновременно
количество значений атрибута, тогда знаменатель максимально равен
log2(n). Если предположить, что количество примеров заведомо
больше количества классов, то знаменатель растет быстрее, чем
числитель, и, соответственно, выражение будет иметь небольшое
значение. Таким образом, мы можем заменить критерий (4) на новый
критерий (6), и опять же выбрать тот атрибут, который имеет
168
максимальное значение по критерию. Критерий (4) использовался в
алгоритме ID3, критерий (6) введен в модифицированном алгоритме
С4.5.
Несмотря на то, что мы улучшили критерий выбора атрибута
для разбиения, алгоритм может создавать узлы и листья, содержащие
незначительное количество примеров. Чтобы избежать этого, следует
воспользоваться еще одним эвристическим правилом: при разбиении
множества T, по крайней мере два подмножества должны иметь не
меньше заданного минимального количества примеров k (k>1);
обычно оно равно 2. В случае невыполнения этого правила,
дальнейшее
разбиение
этого
множества
прекращается,
и
соответствующий узел отмечается как лист.
Вероятно, что при таком ограничении может возникнуть
ситуация, когда примеры, ассоциированные с узлом, относятся к
разным классам. В качестве решения листа выбирается класс, который
наиболее часто встречается в узле, если же примеров равное
количество из всех классов, то решение дает наиболее часто
встречающийся класс у непосредственного предка данного листа.
Возвращаясь к вопросу о выборе порога для числовых
атрибутов, можно ввести следующее дополнение: если минимальное
число примеров в узле k тогда имеет смысл рассматривать только
следующие значения TH1, TH2 … THn-1, так как при разбиении по
первым и последним k – 1 порогам в узел попадает меньше k
примеров.
Пропущенные данные
Алгоритм построения деревьев решений, рассматриваемый
нами, предполагает, что для атрибута, выбираемого в качестве
проверки, существуют все значения, хотя явно это нигде не
утверждалось. Т.е. для любого примера из обучающей выборки
существует значение по этому атрибуту.
Пока мы работаем с синтетическими данными, особых проблем
не возникает, мы можем «сгенерировать» нужные данные. Но как
только мы обратимся к практической стороне вопроса, то выясняется,
что реальные данные далеки от идеальных, и что часто встречаются
пропущенные, противоречащие и аномальные данные.
Мы подробнее остановимся на проблеме пропущенных данных.
Первое решение, которое лежит на поверхности и само напрашивается
– это не учитывать примеры с пропущенными значениями. Следует
подчеркнуть, что крайне нежелательно отбрасывать весь пример
169
только потому, что по одному из атрибутов пропущено значение,
поскольку мы рискуем потерять много полезной информации.
Тогда нам необходимо выработать процедуру работы с
пропущенными данными.
Пусть T – множество обучающих примеров и X – проверка по
некоторому атрибуту A. Обозначим через U количество
неопределенных значений атрибута A. Изменим формулы (2) и (3)
таким образом, чтобы учитывать только те примеры, у которых
существуют значения по атрибуту A.
k
Info T   
j 1
freq C j , T 
T U
n
Info X T   
i 1
 freq C j , T  
 (7)
 log 2 

T

U


Ti
 InfoTi  (8)
T U
В этом случае при подсчете
freq C j , T  учитываются только
примеры с существующими значениями атрибута A.
Тогда критерий (4) можно переписать
Gain X  
T U
 InfoT   Info X T  (9)
T
Подобным образом изменяется и критерий (6). Если проверка
имеет n выходных значений, то критерий (6) считается как в случае,
когда исходное множество разделено на n+1 подмножеств.
Пусть теперь проверка X с выходными значениями O1, O2 … On
выбран на основе модифицированного критерия (8).
Нам надо решить, что делать с пропущенными данными. Если
пример из множества T с известным выходом Oi ассоциирован с
подмножеством Ti, вероятность того, что пример из множества Ti равна
1. Пусть тогда каждый пример из подмножества Ti имеет вес,
указывающий вероятность того, что пример принадлежит Ti. Если
пример имеет значение по атрибуту A, тогда вес равен 1, в противном
случае пример ассоциируется со всеми множествами T1, T2 … Tn, с
соответствующими весами
170
T1
T
T
, 2 , , n
T U T U
T U
Легко убедиться, что
n
Ti
 T U  1
i 1
Вкратце, этот подход можно сформулировать таким образом:
предполагается, что пропущенные значения по атрибуту вероятностно
распределены пропорционально частоте появления существующих
значений.
Классификация новых примеров
Такая же методика применяется, когда дерево используется для
классификации новых примеров. Если на каком-то узле дерева при
выполнении проверки выясняется, что значение соответствующего
атрибута классифицируемого примера пропущено, то алгоритм
исследует все возможные пути вниз по дереву и определяет с какой
вероятностью пример относится к различным классам. В этом случае,
«классификация» – это скорее распределение классов. Как только
распределение классов установлено, то класс, имеющий наибольшую
вероятность появления, выбирается в качестве ответа дерева решений.
Следует отметить, что кроме подхода, использованного в
описываемом алгоритме, применяются и другие методики. В конечном
итоге, успех от использования того или иного метода работы с
пропущенными данными, напрямую зависит как от предметной
области, так и самих данных.
8.3. Деревья решений - CART математический аппарат.
CART, сокращение от Classification And Regression Tree,
переводится как «Дерево Классификации и регрессии» – алгоритм
бинарного дерева решений, впервые опубликованный Бриманом и др.
в 1984 году [1]. Алгоритм предназначен для решения задач
классификации и регрессии. Существует также несколько
модифицированных версий – алгоритмы IndCART и DB-CART.
Алгоритм IndCART, является частью пакета Ind и отличается от CART
171
использованием иного способа обработки пропущенных значений, не
осуществляет регрессионную часть алгоритма CART и имеет иные
параметры отсечения. Алгоритм DB-CART базируется на следующей
идее: вместо того чтобы использовать обучающий набор данных для
определения разбиений, используем его для оценки распределения
входных и выходных значений и затем используем эту оценку, чтобы
определить разбиения. DB, соответственно означает – «distribution
based». Утверждается, что эта идея дает значительное уменьшение
ошибки классификации, по сравнению со стандартными методами
построения дерева. Основными отличиями алгоритма CART от
алгоритмов семейства ID3 являются:





бинарное представление дерева решений;
функция оценки качества разбиения;
механизм отсечения дерева;
алгоритм обработки пропущенных значений;
построение деревьев регрессии.
Бинарное представление дерева решений
В алгоритме CART каждый узел дерева решений имеет двух
потомков. На каждом шаге построения дерева правило, формируемое в
узле, делит заданное множество примеров (обучающую выборку) на
две части – часть, в которой выполняется правило (потомок – right) и
часть, в которой правило не выполняется (потомок – left). Для выбора
оптимального правила используется функция оценки качества
разбиения.
Предлагаемое алгоритмическое решение.
Оно вполне очевидно. Каждый узел (структура или класс) должен
иметь ссылки на двух потомков Left и Right – аналогичные структуры.
Также узел должен содержать идентификатор правила (подробнее о
правилах см. ниже), каким-либо образом описывать правую часть
правила, содержать информацию о количестве или отношении
примеров каждого класса обучающей выборки «прошедшей» через
узел и иметь признак терминального узла – листа. Таковы
минимальные требования к структуре (классу) узла дерева.
172
Функция оценки качества разбиения
Обучение дерева решений относится к классу обучения с
учителем, то есть обучающая и тестовая выборки содержат
классифицированный
набор
примеров.
Оценочная
функция,
используемая алгоритмом CART, базируется на интуитивной идее
уменьшения нечистоты (неопределённости) в узле. Рассмотрим задачу
с двумя классами и узлом, имеющим по 50 примеров одного класса.
Узел имеет максимальную "нечистоту". Если будет найдено
разбиение, которое разбивает данные на две подгруппы 40:5 примеров
в одной и 10:45 в другой, то интуитивно "нечистота" уменьшится. Она
полностью исчезнет, когда будет найдено разбиение, которое создаст
подгруппы 50:0 и 0:50. В алгоритме CART идея «нечистоты»
формализована в индексе Gini. Если набор данных Т содержит данные
n классов, тогда индекс Gini определяется как:
n
GiniT   1   pi2
i 1
, где pi – вероятность (относительная частота) класса i в T.
Если набор Т разбивается на две части Т1 и Т2 с числом
примеров в каждом N1 и N2 соответственно, тогда показатель качества
разбиения будет равен:
Ginisplit (T ) 
N1
N
 GiniT1   2  GiniT2 
N
N
Наилучшим считается то разбиение, для которого Ginisplit(T)
минимально.
Обозначим N – число примеров в узле – предке, L, R – число
примеров соответственно в левом и правом потомке, li и ri – число
экземпляров i-го класса в левом/правом потомке. Тогда качество
разбиения оценивается по следующей формуле:
Ginisplit 
n
L 
l 
 1  i 
N  i 1  L 
2
2
n
 R 

   1    ri    min
 N  i 1  R  



Чтобы уменьшить объем вычислений формулу можно преобразовать:
173
Ginisplit 
1  
1 n 

1 n

  L  1  2   li2   R  1  2  ri 2    min
N   L i 1 
 R i 1  
Так как умножение на константу не играет роли при минимизации:
Ginisplit  L 
1 n 2
1 n
  li  R    ri 2  min
L i 1
R i 1
1 n
1 n

Ginisplit  N     li2   ri 2   min
R i 1 
 L i 1
n
n
~ 1
1
G    li2    ri 2  max
L i 1
R i 1
В итоге, лучшим будет то разбиение, для которого величина
максимальна. Реже в алгоритме CART используются другие критерии
разбиения Twoing, Symmetric Gini и др.
Правила разбиения
Вектор предикторных переменных, подаваемый на вход дерева
может содержать как числовые (порядковые) так и категориальные
переменные. В любом случае в каждом узле разбиение идет только по
одной переменной. Если переменная числового типа, то в узле
формируется правило вида xi <= c. Где с – некоторый порог, который
чаще всего выбирается как среднее арифметическое двух соседних
упорядоченных значений переменной xi обучающей выборки. Если
переменная категориального типа, то в узле формируется правило xi
V(xi), где V(xi) – некоторое непустое подмножество множества
значений переменной xi в обучающей выборке. Следовательно, для n
значений числового атрибута алгоритм сравнивает n - 1 разбиений, а
для категориального (2n-1 – 1). На каждом шаге построения дерева
алгоритм последовательно сравнивает все возможные разбиения для
всех атрибутов и выбирает наилучший атрибут и наилучшее разбиение
для него.
174
Предлагаемое алгоритмическое решение.
Договоримся, что источник данных, необходимых для работы
алгоритма, представим как плоскую таблицу. Каждая строка таблицы
описывает один пример обучающей/тестовой выборки.
Каждый шаг построения дерева фактически состоит из
совокупности трех трудоемких операций.
Первое – сортировка источника данных по столбцу.
Необходимо для вычисления порога, когда рассматриваемый в
текущий момент времени атрибут имеет числовой тип. На каждом
шаге построения дерева число сортировок будет как минимум равно
количеству атрибутов числового типа.
Второе – разделение источника данных. После того, как
найдено наилучшее разбиение, необходимо разделить источник
данных в соответствии с правилом формируемого узла и рекурсивно
вызвать процедуру построения для двух половинок источника данных.
Обе этих операции связаны (если действовать напрямую) с
перемещением значительных объемов памяти. Здесь намеренно
источник данных не называется таблицей, так как можно существенно
снизить временные затраты на построение дерева, если использовать
индексированный источник данных. Обращение к данным в таком
источнике происходит не напрямую, а посредством логических
индексов строк данных. Сортировать и разделять такой источник
можно с минимальной потерей производительности.
Третья операция, занимающая 60–80% времени выполнения
программы – вычисление индексов для всех возможных разбиений.
Если у Вас n – числовых атрибутов и m – примеров в выборке, то
получается таблица n*(m-1) – индексов, которая занимает большой
объем памяти. Этого можно избежать, если использовать один столбец
для текущего атрибута и одну строку для лучших (максимальных)
индексов для всех атрибутов. Можно и вовсе использовать только
несколько числовых значений, получив быстрый, однако плохо
читаемый код. Значительно увеличить производительность можно,
если использовать, что L = N – R, li = «ni» – ri , а li и ri изменяются
всегда и только на единицу при переходе на следующую строку для
текущего атрибута. То есть подсчет числа классов, а это основная
операция, будет выполняться быстро, если знать число экземпляров
каждого класса всего в таблице и при переходе на новую строку
таблицы изменять на единицу только число экземпляров одного класса
– класса текущего примера.
175
Все возможные разбиения для категориальных атрибутов
удобно представлять по аналогии с двоичным представлением числа.
Если атрибут имеет n – уникальных значений. 2n – разбиений. Первое
(где все нули) и последнее (все единицы) нас не интересуют, получаем
2n – 2. И так как порядок множеств здесь тоже неважен, получаем (2n –
2)/2 или (2n-1 – 1) первых (с единицы) двоичных представлений. Если
{A, B, C, D, E} – все возможные значения некоторого атрибута X, то
для текущего разбиения, которое имеет представление, скажем {0, 0, 1,
0, 1} получаем правило X in {C, E} для правой ветви и [ not {0, 0, 1, 0,
1} = {1, 1, 0, 1, 0} = X in {A, B, D} ] для левой ветви.
Часто значения атрибута категориального типа представлены в
базе как строковые значения. В таком случае быстрее и удобнее
создать кэш всех значений атрибута и работать не со значениями, а с
индексами в кэше.
Механизм отсечения дерева
Механизм отсечения дерева, оригинальное название minimal
cost-complexity tree pruning, – наиболее серьезное отличие алгоритма
CART от других алгоритмов построения дерева. CART рассматривает
отсечение как получение компромисса между двумя проблемами:
получение дерева оптимального размера и получение точной оценки
вероятности ошибочной классификации.
Основная проблема отсечения – большое количество всех
возможных отсеченных поддеревьев для одного дерева. Более точно,
если бинарное дерево имеет |T| – листов, тогда существует
~[1.5028369|T|] отсечённых поддеревьев. И если дерево имеет хотя бы
1000 листов, тогда число отсечённых поддеревьев становится просто
огромным.
Базовая идея метода – не рассматривать все возможные
поддеревья, ограничившись только "лучшими представителями"
согласно приведённой ниже оценке.
Обозначим |T| – число листов дерева, R(T) – ошибка
классификации дерева, равная отношению числа неправильно
классифицированных примеров к числу примеров в обучающей
выборке. Определим С T  – полную стоимость (оценку/показатель
затраты-сложность) дерева Т как:
C T   RT     T , где |T| – число листов (терминальных
узлов) дерева, – некоторый параметр, изменяющийся от 0 до +∞.
Полная стоимость дерева состоит из двух компонент – ошибки
176
классификации дерева и штрафа за его сложность. Если ошибка
классификации дерева неизменна, тогда с увеличением полная
стоимость дерева будет увеличиваться. Тогда менее ветвистое дерево,
дающее бОльшую ошибку классификации может стоить меньше, чем
дающее меньшую ошибку, но более ветвистое.
Определим Tmax – максимальное по размеру дерево, которое
предстоит обрезать. Если мы зафиксируем значение  , тогда
существует наименьшее минимизируемое поддерево  , которое
выполняет следующие условия:
1.
2.
3.
С T    min T Tmax C T 
if C T   C T   then T    T
Первое условие говорит, что не существует такого поддерева
дерева Tmax , которое имело бы меньшую стоимость, чем T   при
этом значении T   . Второе условие говорит, что, если существует
более одного поддерева, имеющего данную полную стоимость, тогда
мы выбираем наименьшее дерево.
Можно показать, что для любого значения существует такое
наименьшее минимизируемое поддерево. Но эта задача не тривиальна.
Что она говорит – что не может быть такого, когда два дерева
достигают минимума полной стоимости и они несравнимы, т.е. ни
одно из них не является поддеревом другого. Мы не будем доказывать
этот результат.
Хотя имеет бесконечное число значений, существует конечное
число поддеревьев дерева Tmax. Можно построить последовательность
уменьшающихся поддеревьев дерева Tmax: T1 > T2 > T3 >...> {t1}, (где t1
– корневой узел дерева) такую, что Tk – наименьшее минимизируемое
поддерево для [ k ,  k 1 ) . Это важный результат, так как это означает,
что мы можем получить следующее дерево в последовательности,
применив отсечение к текущему дереву. Это позволяет разработать
эффективный алгоритм поиска наименьшего минимизируемого
поддерева при различных значениях  . Первое дерево в этой
последовательности – наименьшее поддерево дерева Tmax имеющее
такую же ошибку классификации, как и Tmax, т.е. T1 = T(  = 0).
Пояснение: если разбиение идет до тех пор, пока в каждом узле
останется только один класс, то T1 = Tmax, но так как часто
применяются методы ранней остановки (prepruning), тогда может
177
существовать поддерево дерева Tmax имеющее такую же ошибку
классификации.
Предлагаемое алгоритмическое решение.
Алгоритм вычисления T1 из Tmax прост. Найти любую пару листов с
общим предком, которые могут быть объединены, т.е. отсечены в
родительский узел без увеличения ошибки классификации. R(t) = R(l)
+ R(r), где r и l – листы узла t. Продолжать пока таких пар больше не
останется. Так мы получим дерево, имеющее такую же стоимость как
Tmax при = 0, но менее ветвистое, чем Tmax.
Алгоритм обработки пропущенных значений
Большинство алгоритмов Data Mining предполагает отсутствие
пропущенных значений. В практическом анализе это предположение
часто является неверным. Вот только некоторые из причин, которые
могут привести к пропущенным данным:
1.
2.
3.
Респондент не желает отвечать на некоторые из поставленных
вопросов;
Ошибки при вводе данных;
Объединение не совсем эквивалентных наборов данных.
Наиболее общее решение – отбросить данные, которые
содержат один или несколько пустых атрибутов. Однако это решение
имеет свои недостатки:
1.
2.
Смещение данных. Если выброшенные данные лежат
несколько 'в стороне' от оставленных, тогда анализ может дать
предубеждённые результаты.
Убыток мощности. Может возникнуть ситуация, когда
придется выбросить много данных. В таком случае точность
прогноза сильно уменьшается.
Если мы хотим строить и использовать дерево на неполных
данных нам необходимо решить следующие вопросы:
1.
2.
Как нам определить качество разбиения?
В какую ветвь нам необходимо послать наблюдение, если
пропущена переменная, на которую приходится наилучшее
разбиение (построение дерева и тренировка)?
178
Заметьте, что наблюдение с пропущенной меткой класса
бесполезно для построения дерева и будет выброшено.
Чтобы определить качество разбиения CART просто игнорирует
пропущенные значения. Это «решает» первую проблему, но мы ещё
должны решить, по какому пути посылать наблюдение с пропущенной
переменной содержащей наилучшее разбиение. С этой целью CART
вычисляет так называемое 'суррогатное' разбиение. Оно создает
наиболее близкие к лучшему подмножества примеров в текущем узле.
Чтобы определить значение альтернативного разбиения как
суррогатного мы создаем кросс-таблицу (см. табл.).
p(l*, l')
p(r*, l')
p(l*, r')
p(r*, r')
В этой таблице p(l*,l') обозначает пропорцию случаев, которые
будут посланы в левую ветвь при лучшем s* и альтернативном
разбиении s' и аналогично для p(r*,r'), так p(l*,l') + p(r*,r') – пропорция
случаев, которые посланы в одну и ту же ветвь для обоих разбиений.
Это мера сходства разбиений или иначе: это говорит, насколько
хорошо мы предсказываем путь, по которому послан случай
наилучшим разбиением, смотря на альтернативное разбиение. Если
p(l*,l') + p(r*,r') < 0.5, тогда мы можем получить лучший суррогат,
поменяв левую и правую ветви для альтернативного разбиения. Кроме
того, необходимо заметить, что пропорции в таблице 1 вычислены,
когда обе переменные (суррогатная и альтернативная) наблюдаемы.
Альтернативные разбиения с p(l*,l') + p(r*,r') > max(p(l*), p(r*))
отсортированы в нисходящем порядке сходства. Теперь если
пропущена переменная лучшего разбиения, тогда используем первую
из суррогатных в списке, если пропущена она, тогда следующую т.д.
Если пропущены все суррогатные переменные, используем max(p(l*),
p(r*)).
На рис. 8.3 изображен пример лучшего и альтернативного
разбиения. Каково значение альтернативного разбиения по
супружескому статусу как суррогатного? Видно, что примеры 6 и 10
оба разбиения послали влево. Следовательно p(l*,l') = 2/7. Оба
разбиения послали примеры 1 и 4 направо – p(r*,r') = 2/7. Его значение
как суррогатного есть p(l*,l') + p(r*,r') = 2/7 + 2/7 = 4/7. Так как
max(p(l*), p(r*)) = 4/7, поэтому разбиение по супружескому статусу не
является хорошим суррогатным разбиением.
179
Лучшее разбиение
Альтернативное разбиение
1...6, 10
1...6, 10
Возраст > 37
2, 6, 10
Состоит в
браке = Да
Состоит в
браке = Нет
Возраст
<= 37
1, 3, 4, 5
3, 5, 6, 10
1, 2, 4
Рис. 8.3. Лучшее и суррогатное разбиения.
Регрессия
Построение дерева регрессии во многом схоже с деревом
классификации. Сначала мы строим дерево максимального размера,
затем обрезаем дерево до оптимального размера.
Основное достоинство деревьев по сравнению с другими
методами регрессии – возможность работать с многомерными
задачами и задачами, в которых присутствует зависимость выходной
переменной от переменной или переменных категориального типа.
Основная идея – разбиение всего пространства на
прямоугольники, необязательного одинакового размера, в которых
выходная переменная считается постоянной. Заметим, что существует
сильная зависимость между объемом обучающей выборки и ошибкой
ответа дерева.
Вопросы для самоконтроля:
1.
2.
3.
4.
5.
6.
Что такое деревья решений?
Для решения каких задач применяются деревья решений?
Какие виды деревьев решений вы знаете?
Как производится построение дерева решений?
Перечислите достоинства деревьев решений.
Перечислите недостатки деревьев решений.
180
Глава 9. Ассоциативные правила
9.1. Ассоциативные правила
Как уже упоминалось ранее, ассоциация - одна из задач Data
Mining. Целью поиска ассоциативных правил (association rule) является
нахождение закономерностей между связанными событиями в базах
данных.
Мы рассмотрим следующие вопросы:




Что такое ассоциативные правила?
Какие существуют алгоритмы поиска ассоциативных правил?
Что такое часто встречающиеся наборы товаров?
Применение задачи поиска ассоциативных правил?
Очень часто покупатели приобретают не один товар, а
несколько. В большинстве случаев между этими товарами существует
взаимосвязь. Так, например, покупатель, приобретающий макаронные
изделия, скорее всего, захочет приобрести также кетчуп. Эта
информация может быть использована для размещения товара на
прилавках.
Часто встречающиеся приложения с применением ассоциативных
правил:






розничная торговля: определение товаров, которые стоит
продвигать совместно; выбор местоположения товара в
магазине; анализ потребительской корзины; прогнозирование
спроса;
перекрестные продажи: если есть информация о том, что
клиенты приобрели продукты A, Б и В, то какие из них
вероятнее всего купят продукт Г?
маркетинг:
поиск
рыночных
сегментов,
тенденций
покупательского поведения;
сегментация клиентов: выявление общих характеристик
клиентов компании, выявление групп покупателей;
оформление каталогов, анализ сбытовых кампаний фирмы,
определение последовательностей покупок клиентов (какая
покупка последует за покупкой товара А);
анализ Web-логов.
181
Приведем простой пример ассоциативного правила: покупатель,
приобретающий банку краски, приобретет кисточку для краски с
вероятностью 50%.
Введение в ассоциативные правила
Впервые задача поиска ассоциативных правил (association rule
mining) была предложена для нахождения типичных шаблонов
покупок, совершаемых в супермаркетах, поэтому иногда ее еще
называют анализом рыночной корзины (market basket analysis).
Рыночная корзина - это набор товаров, приобретенных
покупателем в рамках одной отдельно взятой транзакции.
Транзакции являются достаточно характерными операциями,
ими, например, могут описываться результаты посещений различных
магазинов.
Транзакция - это множество событий, которые произошли
одновременно.
Регистрируя все бизнес-операции в течение всего времени своей
деятельности, торговые компании накапливают огромные собрания
транзакций. Каждая такая транзакция представляет собой набор
товаров, купленных покупателем за один визит.
Полученные в результате анализа шаблоны включают перечень
товаров и число транзакций, которые содержат данные наборы.
Транзакционная или операционная база данных (Transaction
database) представляет собой двумерную таблицу, которая состоит из
номера транзакции (TID) и перечня покупок, приобретенных во время
этой транзакции.
TID - уникальный идентификатор, определяющий каждую
сделку или транзакцию.
Пример транзакционной базы данных, состоящей из покупательских
транзакций, приведен в таблице 9.1. В таблице первая колонка (TID)
определяет номер транзакции, во второй колонке таблицы приведены
товары, приобретенные во время определенной транзакции.
182
Таблица 9.1. Транзакционная база данных
TID Приобретенные покупки
100 Хлеб, молоко, печенье
200 Молоко, сметана
300 Молоко, хлеб, сметана, печенье
400 Колбаса, сметана
500 Хлеб, молоко, печенье, сметана
На основе имеющейся базы данных нам нужно найти
закономерности между событиями, то есть покупками.
Часто встречающиеся шаблоны или образцы
Допустим, имеется транзакционная база данных D. Присвоим
значениям товаров переменные (таблице 9.2).
Хлеб = a
Молоко = b
Печенье = c
Сметана = d
Колбаса = e
Конфеты = f
Таблица 8.2. Часто встречающиеся наборы товаров
Приобретенные
покупки
TID Приобретенные покупки
TID
100 Хлеб, молоко, печенье
100 a, b, c
200 Молоко, сметана
200 b, d
300 Молоко,
печенье
хлеб,
сметана,
400 Колбаса, сметана
500 Хлеб,
молоко,
сметана
300 b, a, d, c
400 e, d
печенье,
600 Конфеты
500 a, b, c, d
600 f
183
Рассмотрим набор товаров (Itemset), включающий, например,
{Хлеб, молоко, печенье}. Выразим этот набор с помощью переменных:
abc={a,b,c}
Поддержка
Этот набор товаров встречается в нашей базе данных три раза,
т.е. поддержка этого набора товаров равна 3:
SUPabc   3 .
При минимальном уровне поддержки, равной трем, набор
товаров abc является часто встречающимся шаблоном.
min_sup=3, {Хлеб, молоко, печенье} - часто встречающийся шаблон.
Поддержкой называют количество или процент транзакций,
содержащих определенный набор данных.
Для данного набора товаров поддержка, выраженная в
процентном отношении, равна 50%.
SUPabc   3 6100%  50%
Поддержку иногда также называют обеспечением набора.
Таким образом, набор представляет интерес, если его
поддержка выше определенного пользователем минимального
значения (min support). Эти наборы называют часто встречающимися
(frequent).
9.2. Характеристики ассоциативных правил
Ассоциативное правило имеет вид: «Из события A следует
событие B».
В результате такого вида анализа мы устанавливаем
закономерность следующего вида: «Если в таранзакции встретился
набор товаров (или набор элементов) A, то можно сделать вывод, что в
этой же транзакции должен появиться набор элементов B»
Установление таких закономерностей дает нам возможность находить
очень простые и понятные правила, называемые ассоциативными.
184
Основными
характеристиками
ассоциативного
правила
являются поддержка и достоверность правила.
Рассмотрим правило «из покупки молока следует покупка
печенья» для базы данных, которая была приведена выше в таблице
8.1. Понятие поддержки набора мы уже рассмотрели. Существует
понятие поддержки правила.
Правило имеет поддержку s, если s% транзакций из всего
набора содержат одновременно наборы элементов A и B или, другими
словами, содержат оба товара.
Молоко - это товар A, печенье - это товар B. Поддержка правила
«из покупки молока следует покупка печенья» равна 3, или 50%.
Достоверность правила показывает, какова вероятность того,
что из события A следует событие B.
Правило «Из A следует B» справедливо с достоверностью с,
если c% транзакций из всего множества, содержащих набор элементов
A, также содержат набор элементов B.
Число транзакций, содержащих молоко, равно четырем, число
транзакций, содержащих печенье, равно трем, достоверность правила
равна (3/4)*100%, т.е. 75%.
Достоверность правила "из покупки молока следует покупка
печенья" равна 75%, т.е. 75% транзакций, содержащих товар А, также
содержат товар B.
Границы поддержки и достоверности ассоциативного правила
При помощи использования алгоритмов поиска ассоциативных
правил аналитик может получить все возможные правила вида «Из A
следует B», с различными значениями поддержки и достоверности.
Однако в большинстве случаев, количество правил необходимо
ограничивать
заранее
установленными
минимальными
и
максимальными значениями поддержки и достоверности.
Если значение поддержки правила слишком велико, то в
результате работы алгоритма будут найдены правила очевидные и
хорошо известные. Слишком низкое значение поддержки приведет к
нахождению очень большого количества правил, которые, возможно,
будут в большей части необоснованными, но не известными и не
очевидными для аналитика. Таким образом, необходимо определить
такой интервал, «золотую середину», который с одной стороны
обеспечит нахождение неочевидных правил, а с другой - их
обоснованность.
185
Если уровень достоверности слишком мал, то ценность правила
вызывает серьезные сомнения. Например, правило с достоверностью в
3% только условно можно назвать правилом.
9.3. Методы поиска ассоциативных правил
Алгоритм AIS. Первый алгоритм поиска ассоциативных
правил, называвшийся AIS, (предложенный Agrawal, Imielinski and
Swami) был разработан сотрудниками исследовательского центра IBM
Almaden в 1993 году. С этой работы начался интерес к ассоциативным
правилам; на середину 90-х годов прошлого века пришелся пик
исследовательских работ в этой области, и с тех пор каждый год
появляется несколько новых алгоритмов.
В алгоритме AIS кандидаты множества наборов генерируются и
подсчитываются «на лету», во время сканирования базы данных.
Алгоритм SETM. Создание этого алгоритма было
мотивировано желанием использовать язык SQL для вычисления часто
встречающихся наборов товаров. Как и алгоритм AIS, SETM также
формирует кандидатов «на лету», основываясь на преобразованиях
базы данных. Чтобы использовать стандартную операцию
объединения языка SQL для формирования кандидата, SETM отделяет
формирование кандидата от их подсчета.
Неудобство алгоритмов AIS и SETM - излишнее генерирование
и подсчет слишком многих кандидатов, которые в результате не
оказываются часто встречающимися. Для улучшения их работы был
предложен алгоритм Apriori.
Работа данного алгоритма состоит из нескольких этапов,
каждый из этапов состоит из следующих шагов:


формирование кандидатов;
подсчет кандидатов.
Формирование кандидатов (candidate generation) - этап, на
котором алгоритм, сканируя базу данных, создает множество iэлементных кандидатов (i - номер этапа). На этом этапе поддержка
кандидатов не рассчитывается.
Подсчет кандидатов (candidate counting) - этап, на котором
вычисляется поддержка каждого i-элементного кандидата. Здесь же
осуществляется отсечение кандидатов, поддержка которых меньше
минимума, установленного пользователем (min_sup). Оставшиеся iэлементные наборы называем часто встречающимися.
186
Рассмотрим работу алгоритма Apriori на примере базы данных
D. Иллюстрация работы алгоритма приведена на рис. 9.1.
Минимальный уровень поддержки равен 3.
На первом этапе происходит формирование одноэлементных
кандидатов.
Далее
алгоритм
подсчитывает
поддержку
одноэлементных наборов. Наборы с уровнем поддержки меньше
установленного, то есть 3, отсекаются. В нашем примере это наборы e
и f, которые имеют поддержку, равную 1. Оставшиеся наборы товаров
считаются часто встречающимися одноэлементными наборами
товаров: это наборы a, b, c, d.
Далее происходит формирование двухэлементных кандидатов,
подсчет их поддержки и отсечение наборов с уровнем поддержки,
меньшим 3. Оставшиеся двухэлементные наборы товаров,
считающиеся часто встречающимися двухэлементными наборами ab,
ac, bd, принимают участие в дальнейшей работе алгоритма.
Если смотреть на работу алгоритма прямолинейно, на
последнем этапе алгоритм формирует трехэлементные наборы
товаров: abc, abd, bcd, acd, подсчитывает их поддержку и отсекает
наборы с уровнем поддержки, меньшим 3. Набор товаров abc может
быть назван часто встречающимся.
Однако алгоритм Apriori уменьшает количество кандидатов,
отсекая - априори - тех, которые заведомо не могут стать часто
встречающимися, на основе информации об отсеченных кандидатах на
предыдущих этапах работы алгоритма.
Отсечение кандидатов происходит на основе предположения о
том, что у часто встречающегося набора товаров все подмножества
должны быть часто встречающимися. Если в наборе находится
подмножество, которое на предыдущем этапе было определено как
нечасто встречающееся, этот кандидат уже не включается в
формирование и подсчет кандидатов.
187
Рис. 9.1. Алгоритм Apriori
188
Так наборы товаров ad, bc, cd были отброшены как нечасто
встречающиеся, алгоритм не рассматривал товаров abd, bcd, acd.
При рассмотрении этих наборов формирование трехэлементных
кандидатов происходило бы по схеме, приведенной в верхнем
пунктирном прямоугольнике. Поскольку алгоритм априори отбросил
заведомо нечасто встречающиеся наборы, последний этап алгоритма
сразу определил набор abc как единственный трехэлементный часто
встречающийся набор (этап приведен в нижнем пунктирном
прямоугольнике).
Алгоритм Apriori рассчитывает также поддержку наборов,
которые не могут быть отсечены априори. Это так называемая
негативная область (negative border), к ней принадлежат наборыкандидаты, которые встречаются редко, их самих нельзя отнести к
часто встречающимся, но все подмножества данных наборов являются
часто встречающимися.
Разновидности алгоритма Apriori
В зависимости от размера самого длинного часто
встречающегося набора алгоритм Apriori сканирует базу данных
определенное количество раз. Разновидности алгоритма Apriori,
являющиеся его оптимизацией, предложены для сокращения
количества сканирований базы данных, количества наборовкандидатов или того и другого. Были предложены следующие
разновидности алгоритма Apriori: AprioriTID и AprioriHybrid.
AprioriTid
Интересная особенность этого алгоритма - то, что база данных
D не используется для подсчета поддержки кандидатов набора товаров
после первого прохода.
С этой целью используется кодирование кандидатов,
выполненное на предыдущих проходах. В последующих проходах
размер закодированных наборов может быть намного меньше, чем
база данных, и таким образом экономятся значительные ресурсы.
AprioriHybrid
Анализ времени работы алгоритмов Apriori и AprioriTid
показывает, что в более ранних проходах Apriori добивается большего
189
успеха, чем AprioriTid; однако AprioriTid работает лучше Apriori в
более поздних проходах. Кроме того, они используют одну и ту же
процедуру формирования наборов-кандидатов. Основанный на этом
наблюдении, алгоритм AprioriHybrid предложен, чтобы объединить
лучшие свойства алгоритмов Apriori и AprioriTid. AprioriHybrid
использует алгоритм Apriori в начальных проходах и переходит к
алгоритму AprioriTid, когда ожидается, что закодированный набор
первоначального множества в конце прохода будет соответствовать
возможностям памяти. Однако, переключение от Apriori до AprioriTid
требует вовлечения дополнительных ресурсов.
Некоторыми авторами были предложены другие алгоритмы
поиска ассоциативных правил, целью которых также было
усовершенствование алгоритма Apriori. Кратко изложим суть
нескольких, для более подробной информации можно рекомендовать.
Один из них - алгоритм DHP, также называемый алгоритмом
хеширования. В основе его работы - вероятностный подсчет наборовкандидатов, осуществляемый для сокращения числа подсчитываемых
кандидатов на каждом этапе выполнения алгоритма Apriori.
Сокращение обеспечивается за счет того, что каждый из k-элементных
наборов-кандидатов помимо шага сокращения проходит шаг
хеширования. В алгоритме на k-1 этапе во время выбора кандидата
создается так называемая хеш-таблица. Каждая запись хеш-таблицы
является счетчиком всех поддержек k-элементных наборов, которые
соответствуют этой записи в хеш-таблице. Алгоритм использует эту
информацию на этапе k для сокращения множества k-элементных
наборов-кандидатов. После сокращения подмножества, как это
происходит в Apriori, алгоритм может удалить набор-кандидат, если
его значение в хеш-таблице меньше порогового значения,
установленного для обеспечения. К другим усовершенствованным
алгоритмам относятся: PARTITION, DIC, алгоритм «выборочного
анализа».
PARTITION алгоритм. Этот алгоритм разбиения (разделения)
заключается в сканировании транзакционной базы данных путем
разделения ее на непересекающиеся разделы, каждый из которых
может уместиться в оперативной памяти. На первом шаге в каждом из
разделов при помощи алгоритма Apriori определяются "локальные"
часто встречающиеся наборы данных. На втором подсчитывается
поддержка каждого такого набора относительно всей базы данных.
Таким образом, на втором этапе определяется множество всех
потенциально встречающихся наборов данных.
190
Алгоритм DIC, Dynamic Itemset Counting (S. Brin R. Motwani, J.
Ullman and S. Tsur, 1997 год). Алгоритм разбивает базу данных на
несколько блоков, каждый из которых отмечается так называемыми
«начальными точками» (start point), и затем циклически сканирует БД.
Вопросы для самоконтроля:
1.
2.
3.
4.
Какие виды алгоритмов поиска ассоциативных правил вы
знаете?
Поясните работу алгоритма Априори.
Какие характеристики ассоциативных правил вы знаете?
Для решения каких задач применяются алгоритмы поиска
ассоциативных правил?
191
Глоссарий
Искусственный интеллект - область компьютерной науки,
занимающуюся автоматизацией разумного поведения.
Статистика - это наука о методах сбора данных, их обработки и
анализа для выявления закономерностей, присущих изучаемому
явлению.
Data Mining (Интеллектуальный анализ данных, ИАД) - это процесс
обнаружения в сырых данных ранее неизвестных, нетривиальных,
практически полезных и доступных интерпретации знаний,
необходимых для принятия решений в различных сферах
человеческой деятельности.
Поиск – это метод решения проблемы, в котором систематически
просматривается
состояний
задачи
(problem
states),
т.е.
альтернативных стадий её решения (примеры состояний задачи:
различные размещения фигур на доске при игре в шахматы или
промежуточные шаги логического обоснования).
Концептуальная модель – прослойка между человеческим опытом и
реализованной программой.
Семантическая сеть (semantic network) представляет знания в виде
графа, узлы которого соответствуют фактам или понятиям, а дуги –
отношениям или ассоциациям между понятиями.
Сценарий (script) – это структурированное представление,
описывающее стереотипную последовательность событий в частном
контексте.
Фреймы (frame) – это другая схема представления, во многом
подобная сценариям и ориентированная на включение в строго
организованные структуры данных неявных (подразумеваемых)
информационных связей, существующих в предметной области.
Концептуальный граф (conceptual graph) – это конечный, связанный,
двудольный граф. Узлы графа представляют собой понятия, или
концептуальные отношения. В концептуальных графах метки дуг не
используются.
Нейронные сети (НС) (neural networks) (системы параллельной
распределённой обработки или системы связей) – это системы
взаимосвязанных искусственных нейронов (подобно мозгу живых
организмов, состоящих из огромного количества нервных клеток).
Формирование кандидатов (candidate generation) (алгоритм Априори)
- этап, на котором алгоритм, сканируя базу данных, создает множество
i-элементных кандидатов (i - номер этапа).
192
Подсчет кандидатов (candidate counting) (алгоритм Априори) - этап,
на котором вычисляется поддержка каждого i-элементного кандидата.
Поддержка (s) – относительная частота встречаемости набора
элементов в выборке.
Достоверность (c) правила показывает, какова вероятность того, что
из события A следует событие B.
Точность
дерева
решений
отношение
правильно
классифицированных объектов при обучении к общему количеству
объектов из обучающего множества.
Жадный алгоритм деревьев решений - если один раз был выбран
атрибут, и по нему было произведено разбиение на подмножества, то
алгоритм не может вернуться назад и выбрать другой атрибут,
который дал бы лучшее разбиение.
Топология сети (network topology) – это шаблон, определяющий
наличие связей между отдельными нейронами.
Самоорганизующиеся карты – это одна из разновидностей
нейросетевых алгоритмов. Основным отличием данной технологии от
рассмотренных нами ранее нейросетей, обучаемых по алгоритму
обратного распространения, является то, что при обучении
используется метод обучения без учителя, то есть результат обучения
зависит только от структуры входных данных.
Business Intelligence - программные средства, функционирующие в
рамках предприятия и обеспечивающие функции доступа и анализа
информации, которая находится в хранилище данных, а также
обеспечивающие
принятие
правильных
и
обоснованных
управленческих решений.
193
Список литературы
1. Гаврилова Т.А., Кудрявцев Д.В., Муромцев Д.И. Инженерия знаний.
Модели и методы. : Издательство «Лань», 2016. – 324 с.
2. Рассел С., Норвиг П. Искусственный интеллект и универсальное
мышление. : Издательство «Вильямс», 2016. – 1408 с.
3. Бостром Н. Искусственный интеллект. Этапы. Угрозы. Стратегии. :
Издательство «Манн, Иванов и Фербер», 2016. – 496 с.
194
Заключение
Человеческое общество на современном этапе развития
становится всё более сложным. Появляются новые задачи, проблемы,
вызовы, которые необходимо решать, чтобы прогресс не стоял на
месте. Наука не стоит на месте. Она предлагает более совершенные
технологии, подходы, методики и методы. Одним из таки направлений
является искусственный интеллект.
Искусственный интеллект, на взгляд автора, можно считать
новой областью человеческих знаний, потому, что границы её попрежнему не определены. Они продолжают активно расширяться. Это
вызвано тем, что данный подход оказался очень востребованным в
современном обществе. При этом с каждым днём открываются всё
новые и новые направления, где он оказывается очень полезным и,
часто, просто незаменимым.
Как показывают исследования, технологии искусственного
интеллекта обладают неисчерпаемым потенциалом. Это однозначно
указывает на то, что работы в этом направлении представляются
крайне перспективными. Способствующим фактором является то, что
для проведения научных изысканий/разработок в данной области
достаточно (минимально) компьютера с доступом к глобальной сети.
Благодаря таким невысоким требованиям, круг потенциальных
исследователей оказывается очень широким. Им может стать почти
каждый. Из этого следует, что учебные материалы, знакомящие
читателей с областью искусственного интеллекта, его методами и
задачами, для решения которых они могут применяться, являются
актуальными и востребованными.
Одной из технологий искусственного интеллекта, является
интеллектуальный анализ данных (data mining). Она получила
широкое распространение и используется в самых разных областях
для решения разнообразных задач. Перечень проблем, решаемых
посредством методов вышеприведённой технологии, регулярно
пополняется.
195
196
Документ
Категория
Без категории
Просмотров
51
Размер файла
2 918 Кб
Теги
posobie, tehnologii, sistemy, uchebnoy, palmov, intellektualnye
1/--страниц
Пожаловаться на содержимое документа