- •Глава 1
- •Искусственный интеллект
- •Фактуальное и операционное знание
- •Признаки иис
- •Системы с интеллектуальным интерфейсом
- •Экспертные системы
- •Самообучающиеся системы
- •Адаптивные информационные системы
- •Языки программирования для ии и языки представления знаний
- •Глава 2
- •Данные и знания
- •Модели представления знаний
- •Глава 3
- •Системы продукций
- •Стратегии поиска в пространстве состояний
- •Рекурсивный поиск
- •Глава 4
- •Введение в экспертные системы. Определение и структура
- •Классификация экспертных систем
- •Коллектив разработчиков
- •Технология проектирования и разработки
- •Глава 5
- •Поле знаний
- •Стратегии получения знаний
- •Теоретические аспекты извлечения знаний
- •Теоретические аспекты структурирования знаний
- •Технологии инженерии знаний
- •Глава 6
- •Задача классификации
- •Деревья решений
- •Искусственные нейронные сети
- •Глава 7
- •Способы аналитической обработки данных
- •Некоторые бизнес-приложения Data Mining
- •Типы закономерностей
- •Процесс нахождения нового знания
- •Глава 1 2
- •Глава 2 15
- •Глава 3 23
- •Глава 4 45
- •Глава 5 54
- •Глава 6 62
- •Глава 7 88
Процесс нахождения нового знания
Для того чтобы найти новое знание на основе данных большого хранилища недостаточно просто взять алгоритмы Data Mining, запустить их и ждать появления интересных результатов. Нахождение нового знания — процесс, включающий в себя несколько шагов, каждый из которых необходим для уверенности в эффективном применении средств Data Mining. Процесс нахождения нового знания включает следующие шаги:
Определение проблемы (постановка задачи).
Подготовка данных.
Сбор данных:
оценка данных;
объединение и очистка данных;
отбор данных;
преобразование.
Построение модели:
оценка и интерпретация;
внешняя проверка.
Использование модели.
Наблюдение за моделью.
Рассмотрим каждый шаг этого процесса подробнее.
Определение проблемы. Для того чтобы наиболее полно использовать все преимущества технологий Data Mining необходимо ясно представить цели будущего анализа. В зависимости от целей проводится построение модели. Если необходимо увеличить прибыль торговой организации, то для целей: «увеличение количества продаж» и «увеличение эффективности рекламы» необходимо строить различные модели. Здесь же определяются способы оценки результатов будущего проекта и возможные (максимальные) затраты на его реализацию.
Подготовка данных. Самый времяемкий шаг. Вся подготовка данных может занимать от 50 до 85% времени всего процесса нахождения нового знания.
Сбор данных. Необходимо определить источники получения данных. Такими источниками могут быть данные, накопленные самой организацией; внешние данные от общедоступных источников (сведения о погоде или переписи населения и др.); данные из частных источников (различные архивные данные, базы нотариальных контор и др.).
Оценка данных. При построении модели необходимо помнить одно правило, касающееся корректности исходных данных: "Если на вход задачи поступает «мусор», то и результатом тоже будет «мусор»". Исходные данные могут находиться или в одной базе, или в нескольких. Перед «загрузкой» данных в хранилище необходимо учесть, что различные источники данных могут быть спроектированы под определенные задачи и соответственно возникают проблемы, связанные с объединением данных: различные форматы представления данных (одна и та же по смыслу переменная — например, количество - может быть представлена в различных базах разными типами данных - int или short); разное кодирование данных (например, разный формат даты); различные способы хранения данных; отличающиеся единицы измерения (дюймы и сантиметры); а также частота сбора данных и дата последнего обновления.
Даже если данные находятся в одной базе, то все равно надо обращать пристальное внимание на пропущенные значения и значения, нарушающие целостность базы («выбросы»).
Аналитик должен всегда знать, как, где и при каких условиях собираются данные, и быть уверенным, что все данные, которые используются для проведения анализа, измеряют одно и то же одинаковым способом.
Объединение и очистка данных. На этом этапе производится построение хранилища данных, которое будет подвергаться дальнейшей обработке, или, говоря другими словами, производится наполнение хранилища или «загрузка» в него тех данных, которые были отобраны на предыдущих этапах с исправление всех ошибок, которые были выявлены, то есть очисткой. Существуют различные аспекты очистки данных. Все они направлены на нахождение и исправление ошибок, которые были допущены ещё на этапе сбора информации. Ошибкой в данных могут считаться:
пропущенное значение;
невозможное событие (неверно набранное значение — «выброс»).
Коррекция производится на основе здравого смысла, использования правил и/или с привлечением хорошо знающего предметную область эксперта. Транзакция или запись в базе данных, в которой есть такая ошибка, может быть исправлена или в спорных случаях исключена из дальнейшего рассмотрения.
Данные после проверки согласованности преобразовываются и переформатируются в соответствии с результатами оценки, что делается для большего удобства наблюдения за данными. Данные дискретных событий преобразовываются в специально разработанную стандартную форму, в которой отражаются время и описание событий. Когда пользователи будут легко разбираться в этой стандартной форме, они смогут быстро изучить события, которые лежали в основе построения этой формы. Может показаться, что этот шаг дублирует этап сбора данных, но на самом деле это два совершенно разных этапа. На первом из них происходит отбор данных для ускорения машинной обработки информации (анализа) без потери качества, на втором данные приводятся к виду, удобному для визуального контроля пользователя. Теперь человек, проводящий анализ, может наиболее полно представить себе исходные данные, что бывает необходимо для различного рода отчетов, когда необходимо кратко охарактеризовать исходные данные, применяемые для анализа.
Отбор данных. Когда сформировано хранилище и определены типы моделей, которые будут строиться для решения задачи, поставленной на первом шаге, производиться отбор данных необходимых именно для рассматриваемых моделей. Здесь подразумевается не только уменьшение количества записей в базе по определенному условию, но также и изменение количества полей, слияние разных таблиц в одну или наоборот создание на основе одной таблицы нескольких. Преобразование проходит в «трех измерениях»: по количеству записей, по количеству полей и по структуре.
Преобразование данных подразумевает обогащение полученной базы, то есть добавление различных отношений на основе существующих полей (не просто «цена» и «количество», а их произведение - «общая сумма», не долг и доход, а отношение долга к доходу), добавление интервалов (по номеру месяца можно поставить номер квартала, а процент выполнения плана можно дополнить характеристиками «плохо — удовлетворительно — хорошо»), добавление критических значений (максимум, среднее, минимум).
Построение модели представляет из себя итерационный процесс. Необходимо построить ряд моделей для нахождения одной, наиболее удовлетворяющей поставленным целям.
Модели можно разделить на две группы: контролируемые (модели классификации, регрессии и прогнозирования временных последовательностей) и неконтролируемые (кластеризация, ассоциация и последовательность).
Рассмотрим далее более подробно процесс построения контролируемых моделей. Неконтролируемые модели также требуют итерационного построения для получения оптимального результата, но не имеют строго определенных процедур проверки и оценки такого результата.
После того как определен тип модели, необходимо выбрать алгоритм построения модели, или технологию добычи знания.
Сущность процесса построения контролируемой модели состоит в нахождении зависимостей на одной части данных («тренировка модели») и проверке найденных зависимостей на другой части данных (оценка точности). Модель считается построенной, когда завершается цикл «тренировок» и проверок.
Так как «тренировочные» и тестовые данные находятся в одной части базы данных, то часто возникает необходимость в третьем наборе данных - дополнительном проверочном, который выбирается из таких данных, которые не пересекаются с «тренировочными» и тестовыми. Он необходим для независимого измерения точности модели. Как правило все три набора данных принадлежат одному и тому же множеству данных, необходимому для реализации проекта Data Mining.
Наиболее известный тестовый метод — простая оценка, когда деление данных на два набора производится случайным образом. Данные тестового набора никак не используются для построения модели. Процент отношения количества тестовых данных к количеству данных, на которых производится построение модели, должно быть в пределах от 5 до 33%.
После построения модели ее используют для предсказания значений на тестовом наборе. Меру точности модели определяют как отношение количества удачных результатов к общему количеству записей в тестовом наборе данных.
Как было сказано раньше, модель считается построенной, когда завершается цикл «тренировок» и проверок. Если мера предиктивной способности модели при очередных итерациях не улучшается, то можно говорить о завершении построения модели.
Если для построения модели полностью используется не очень большая база данных, то применяется так называемая перекрестная оценка точности. Данные случайным образом делятся на две примерно равные части, после чего модель строится на одной из них, а другая используется для определения меры точности. Потом части базы меняются ролями. Полученные две независимые оценки точности объединяются (как среднее арифметическое, как отношение суммы удачных результатов к общему количеству записей в базе или другим способом) для наилучшей оценки меры точности модели, построенной на всей базе.
Для ещё меньших баз (в несколько тысяч записей) используется n-перекрестная оценка точности. В этом случае база делится на n примерно равных непересекающихся групп. Далее первая из групп становится тестовым набором, а остальные группы объединяются, и на их основе производится построение модели. Полученная модель используется для предсказания значений для тестового набора и таким образом получается первая мера точности. Аналогичным образом рассчитываются все n независимых мер точности. Среднее из них является мерой точности всей модели.
Для нахождения меры точности в малых базах данных модель может строиться на основе данных всей базы, после чего случайным образом из записей базы создается множество тестовых наборов (минимум 200, а иногда даже больше 1000). Одна и та же запись может присутствовать в различных тестовых наборах. Для каждого из них определяется мера точности и их арифметическое среднее является мерой точности всей модели.
После того как построение модели завершено, можно построить модель, используя другие параметры, или даже изменить алгоритм (технологию) построения модели, так как никогда нельзя сказать, какой алгоритм, какая технология добычи знания даст наилучшие результаты. Нельзя быть уверенным, что определенная технология будет работать лучше всего. Обычно приходиться строить большое количество моделей и для каждой проводить процедуру оценки для нахождения самой лучшей. Кроме этого для разных моделей необходима различная подготовка данных, следовательно, неизбежно повторение шагов. Время нахождения лучшей модели увеличивается и необходимо применение технологии параллельных вычислений.
Оценка и интерпретация. После построения модели необходимо оценить результаты и объяснить (интерпретировать) их значимость. При оценке модели вычисляется мера точности, но надо помнить, что это значение применимо только к тем данным, на которых модель построена и быть готовым, что данные, к которым в дальнейшем будет применяться модель, могут отличаться от исходных неизвестным образом.
Внешняя проверка. Как было сказано выше, высокая мера точности модели не является гарантией того, что модель правильно отражает реальный мир. Одной из причин для этого является существование так называемых неявных предположений в модели. Например, сам по себе коэффициент инфляции не может являться частью модели, объясняющей склонность покупателей к покупке того или иного товара, но резкое изменение этого коэффициента уже наверняка может объяснить такое поведение.
Другая причина состоит в существовании неизбежных проблем с данными, которые могут привести к некорректности модели. Поэтому так важно проверить модель в реальном мире.
Использование модели. После построения и оценки модели она может быть использована различными способами. Например, аналитик может посмотреть группы, которые определила модель кластеризации, графики эффективности модели или полученные правила.
Основываясь на результатах использования модели, аналитик может рекомендовать действия, которые можно предпринять в деловой сфере. Однако часто технология Data Mining является частью автоматизированной системы (например, нахождения кредитных рисков, определения возможности потери клиентов и др.), то есть модель встраивается в систему, которую менеджер может применять для принятия решения. С другой стороны, модель можно включать в систему, которая генерирует некоторое действие (приказ), если прогнозируемая величина начинает выходить за пределы каких-то значений.
В едином приложении методы Data Mining — небольшая, хотя и немаловажная часть конечного программного продукта. Например, процедура нахождения знания при помощи таких методов может соединяться со знаниями экспертов и применяться к данным в базе. В системе, применяющейся в юриспруденции и помогающей определить степень мошенничества ответчика, известные ранее случаи мошенничества могут объединяться с модулями, полученными при помощи технологии Data Mining. Когда на рассмотрение поступает новое дело, то может понадобиться доступ к данным о других исках, поданных тем же истцом, и о других исках, в которых принимали участие те же адвокат и судья.
Наблюдение за моделью. Когда модель начинает работать в реальном мире, то необходимо измерить меру точности модели на реальных данных. Однако, даже если модель работает просто превосходно, все равно необходимо продолжать наблюдение за моделью. Все системы имеют свойства развиваться, и данные (их структура, точность, периодичность), которые они поставляют, тоже меняются. Внешние переменные, такие как коэффициент инфляции, своим изменением тоже могут влиять на поведение людей и на факторы, которые оказывают воздействие на это изменение. Таким образом, время от времени модель необходимо подвергать процедуре повторного тестирования и перестроения. Самым простым способом наблюдения за результатами деятельности модели являются графики различий между предсказываемыми величинами и реальными значениями. Они просты для построения и понимания и могут встраиваться в программные продукты, следовательно, такая автоматизированная система может следить сама за собой и оповещать пользователя, если величина таких различий начинает выходить за определенный пороговый уровень.
Современные продукты для Data Mining имеют набор специализированных модулей для выполнения каждого из рассмотренных выше этапов.
Список рекомендуемой литературы
Абдикеев Н. М. Проектирование интеллектуальных систем в экономике. — М.: Экзамен, 2004.
Братко И. Программирование на языке Пролог для искусственного интеллекта. — М.: Мир, 1990.
Гаврилова Т. А., Хорошевский Т. А. Базы знаний интеллектуальных систем. — СПб.: Питер, 2000.
Галушкин А. Теория нейронных сетей. — М.: ИПРЖР, 2000.
Горбань А. Н., Россиев Д. А. Нейронные сети на персональном компьютере. — Новосибирск: Наука, 1996.
Кнут Д. Искусство программирования: В 3 т. — М.: Мир, 1975. — Т. 1.
Круглов В. В., Борисов В. В. Искусственные нейронные сети. Теория и практика.— М.: Горячая линия—Телеком, 2001.
Люгер Д. Ф. Искусственный интеллект: стратегии и методы решения сложных проблем. — 4-е изд. — М.: Издательский дом «Вильямс», 2003.
Нильсон Н. Принципы искусственного интеллекта. — М.: Радио и связь, 1985.
Осипов Г. С. Приобретение знаний интеллектуальными системами.— М.: Наука, 1997.
Осуга С. Обработка знаний. — М.: Мир, 1989.
Осуга С., Саэки Ю., Судзуки Х. и др. Приобретение знаний / Под ред. С. Осуга, Ю. Саэки. — М.: Мир, 1990.
Попов Э., Фоминых И., Кисель Е., Шапот М. Статические и динамические экспертные системы— М.: Финансы и статистика, 1996.
Таунсенд К., Фохит Д. Проектирование и программная реализация экспертных систем на персональных ЭВМ. — М.: Финансы и статистика, 1990.
Уоссермен Ф. Нейрокомпьютерная техника : Теория и практика. — М.: Мир, 1992.
Уотерман Д. Руководство по экспертным системам. — М.: Мир, 1989.
Уэно Х., Кояма Т., Окамото Т. и др. Представление и использование знаний /Под ред. Х. Уэно, М. Исидзука. — М.: Мир, 1989.
Хювенен Э., Сеппянен Й. Мир Лиспа: В 2 т. — М.: Мир, 1990.
Элти Д., Кумбс М. Экспертные системы. Концепции и примеры. — М.: Финансы и статистика, 1987.
Оглавление
Введение 1
