 |
Тема 4. Процесс нахождения нового знания
Нахождение нового знания - это процесс, состоящий из нескольких
шагов, каждый из которых необходим для эффективного применения средств
интеллектуальных вычислений. Основными этапами этого процесса являются:
- определение проблемы (постановка задачи)
- сбор и подготовка данных:
- оценивание данных
- объединение и очищение данных
- отбор данных
- преобразование
- построение модели:
- оценка и интерпретация
- внешняя проверка
- использование модели
- наблюдение за моделью
Рассмотрим подробней каждый из этих этапов:
1. Определение проблемы. Для того, чтобы
полнее использовать все преимущества интеллектуальных технологий
необходимо ясно представить цель будущего анализа. Построение модели
проводится в зависимости от цели. Если необходимо увеличить прибыль
торговой организации, то для целей: "увеличение количества
продаж" и "увеличение эффективности рекламы" необходимо
строить разные модели. На этом же этапе определяются способы оценивания
результатов будущего проекта и возможные затраты на его реализацию.
2. Сбор и подготовка данных. Самый продолжительный
этап: может занимать от 50% до 85% времени всего процесса нахождения
нового знания. На этом этапе необходимо определить источники получения
данных. Это могут быть данные, накопленые самой организацией или
внешние данные от общедоступных источников (сведения о погоде или
перепись населения) или частных источников (разные архивные данные,
базы нотариальных контор и др.).
а. оценивание данных. При построении
модели необходимо помнить одно правило, что касается корректности
входных данных: "Если на вход задачи поступает "мусор",
то и результатом тоже будет "мусор". Входные данные могут
находиться в одной базе или в нескольких. Перед "загрузкой"
данных в хранилище необходимо учесть, что разные источники данных
могут быть спроектированы под определенные задачи и, соответственно,
возникают проблемы, связанные с объединением данных: разные форматы
представления числовых данных (например, целые или вещественные);
разное кодирование данных (например, разный формат дат); разные
способы хранения данных; разные единицы измерения (дюймы и сантиметры);
а также частота сбора данных и дата последнего обновления.
Даже, если данные находятся в одной базе, то все равно надо обращать
внимание на пропущенные значения и значения, нереальной величины,
так называемые "выбросы".
Аналитик должен всегда знать, как, где и при каких условиях собираются
данные, и быть уверенной, что все данные, используемые для проведения
анализа измерены одинаковым способом.
б. объединение и очищение данных. На
этом этапе происходит построение хранилища данных для дальнейшей
обработки, то есть, происходит наполнение хранилища или добавление
к нему данных, отобраных на преддыдущих этапах. В это же время происходит
очищение, то есть исправление всех выявленных ошибок. Существуют
разные аспекты очищения данных. Все они направлены на нахождение
и исправление ошибок, допущеных на этапе сбора информации. Ошибкой
в данных могут считаться:
- пропущенное значение
- невозможное событие (неверно набранное значение - "выброс")
Коррекция происходит на основе здравого смысла, использования правил
и/или с привлечением эксперта, хорошо знающего предметную область.
Запись в базе данных, в которой есть ошибка, должна быть исправлена
или, в спорных случаях, исключена из дальнейшего рассмотрения.
После проверки данных, они превращаются и форматируются соответственно
результатам оценивания. Это делается для большего удобства наблюдения
за данными. Данные дискретных событий превращаются в специально
разработанную или стандартную форму, в которой отражается время
и описание событий. Если пользователи будут легко разбираться в
этой форме, они смогут быстро выучить события, которые были в основе
построения этой формы. Может показаться, что этот шаг дублирует
этап сбора данных, но на самом деле это два совсем разных этапа.
На первом из них происходит отбор данных для ускорения машинной
обработки информации без потери качества, на втором данные приводятся
к виду, удобном для визуального контроля пользователя. Человек,
который проводит анализ, может полнее представить себе входные данные.
Это необходимо для разного рода отчетов, когда нужно коротко охарактеризовать
входные данные, применяемые для анализа.
в. отбор данных. Если хранилище сформировано
и определены типы моделей, которые будут построены для решения задачи,
происходит отбор данных необходимых именно для этих моделей. Имеется
в виду не только уменьшение количества записей в базе по определенному
условию, но также и изменение количества полей, слияние разных таблиц
в одну, или, наоборот, создание на основе одной таблицы нескольких.
То есть, преобразование происходит в "трех измерениях":
по количеству записей, по количеству полей и по структуре.
г. преобразование данных служит для
обогащения полученной базы, то есть добавление разных отношений
на основе существующих полей (не просто "цена" и "количество",
а их произведение - "общая сумма", не долг и доход, а
отношение долга к доходу), добавление интервалов (по номеру месяца
можно поставить номер квартала, а процент выполнения плана можно
дополнить характеристиками "хорошо", "удовлетворительно"),
добавление критических значений (максимум, среднее, минимум).
3. Построение модели представляет собой
итерационный процесс, то есть, необходимо построить ряд моделей
для нахождения одной, наиболее удовлетворяющей поставленным целям.
Модели можно разделить на две группы:
- контролируемые (модели классификации, регрессии, прогнозирование
временных последовательностей);
- неконтролируемые (кластеризация, ассоциация и последовательность).
После того, как определен тип модели, необходимо выбрать алгоритм
построения модели или технологию нахождения знания.
Сущность процесса построения контролируемой модели сводится к нахождению
зависимостей на одной части данных ("обучение модели")
и проверки этих зависимостей на другой части данных (оценка точности).
Модель считается построенной, если завершается цикл "обучения"
и проверок. Если точность модели при очередных итерациях не улучшается,
то это говорит о завершении построения модели.
Поскольку "обучающие" и тестовые данные находятся в одной
базе данных, то часто возникает необходимость в третьем наборе данных
- контрольном, который выбирается из таких данных, что не пересекаются
с "обучающими" и тестовыми. Он нужен для независимого
оценивания точности модели. Как правило, все три набора данных принадлежат
множеству данных, необходимому для реализации определенного проекта.
Наиболее известный тестовый метод - называется простой оценкой.
В этом случае распределение данных на два набора происходит случайным
образом. Отношение количества тестовых данных к количеству данных,
на которых происходит построение модели должно быть в пределах от
5% до 33%. После построения модели, ее используют для предусмотрения
значений на тестовом наборе. Мерой точности модели считают отношение
количества удачных результатов к общему количеству примеров в тестовом
наборе (можно использовать такую переменную, как мера неточности,
которая равняется 1 - "мера точности").
Если для построения модели используется не очень большая база данных,
то применяется так называемая перекрестная оценка точности. В этом
случае данные случайным образом делятся на две приблизительно равные
части. После этого модель будет строиться на одной из них, а другая
используется для определения точности. Потом части базы меняются
ролями. Полученные две независимые оценки точности объединяются
(как среднее арифметическое или другим способом) для наилучшей оценки
точности модели, построенной на всей базе.
Для еще меньших баз, в несколько тысяч записей, используется n-перекрестная
оценка точности. В этом случае база делится на n приблизительно
равных непересекающихся групп. Далее первая из этих групп становится
тестовым набором, а другие группы объединяются, и на их основе происходит
построение модели. Полученная модель используется для предвидения
значений для тестового набора и таким образом получается первое
значение точности. Аналогичным образом получают все n независимые
значения точности. Среднее из них является точностью всей модели.
Еще один способ используется для нахождения точности в маленьких
базах данных. В этом случае модель будет строиться на основе данных
всей базы. После этого случайным образом из записей базы создается
множество тестовых наборов (минимум 200, а иногда даже больше 1000).
Одна запись может присутствовать в разных тестовых наборах. Для
любой из них определяется точность. Среднее из них есть точностью
всей модели.
После того, как построение модели завершено, можно построить модель,
используя другие параметры или даже изменить алгоритм построения
модели, так как никогда нельзя сказать, какой алгоритм, какая технология
нахождения знания даст лучшие результаты. Нельзя быть уверенной,
что определенная технология будет работать лучше всего. Часто приходится
строить большое количество моделей и оценивать каждую для нахождения
лучшей. Кроме этого, для разных моделей необходима разная подготовка
данных и неминуемо повторение шагов. Все это увеличивает время нахождения
лучшей модели, поэтому необходимо применять технологии параллельных
вычислений.
а. оценка и интерпретация. После построения
модели необходимо оценить результаты и объяснить (интерпретировать)
их значимость. При оценке модели вычисляется точность, но надо помнить,
что это значения верно лишь для данных, на которых модель построена
и быть готовым, что новые данные, к которым в дальнейшем будет применяться
модель, могут отличаться от исходных неизвестным образом.
б. внешняя проверка. Высокая точность
модели не является гарантией того, что модель правильно отражает
реальную среду. Одной из причин, является существование так называемых
неявных предположений в модели. То есть, сам по себе коэффициент
инфляции не может быть частью модели, объясняющей склонность покупателей
к покупке того ли другого товара, но резкое изменение этого коэффициента
с 3% до 20% уже, наверное, может объяснить такое поведение.
Другая причина - это существование неминуемых проблем с данными,
приводящих к некорректности модели, поэтому очень важно проверить
модель в реальной среде. Например, если модель используется для
отбора кандидатов для целевой рекламы, то можно сделать тестовую
рассылку для проверки модели на небольшом объеме данных. Если модель
используется для предусмотрения риска невозвращения кредита, то
следует подвергнуть испытанию эту модель на небольшом количестве
претендентов на ссуду. Чем больше риск, связанный с некорректностью
модели, тем более важно провести предварительные эксперименты для
проверки модели перед ее эксплуатацией.
4. Использование модели. После построения
и оценки модели, ее можно использовать разными способами. Например,
аналитик может посмотреть группы, которая определила модель кластеризации,
графики эффективности модели или полученные правила. Иногда аналитик
может использовать модель для выбора некоторых записей из базы данных
для проведения дополнительного анализа.
Базируясь на результатах использования модели, аналитик может рекомендовать
действия, которые можно начинать в деловой сфере. Однако, часто
технологии интеллектуальных вычислений - это часть автоматизированной
системы (например, нахождение кредитных рисков, определение возможности
потери клиентов и др.), то есть модель встраивается в систему, какую
аналитик или менеджер могут применять для принятия решения. С другой
стороны, модель можно включать в систему, генерирующую некоторое
действие (приказ), когда прогнозируемая величина начинает выходить
за пределы каких-то значений.
В общем, методы интеллектуальных вычислений, это небольшая, хотя
и важная часть конечного программного продукта. Процедура нахождения
знания с помощью этих методов может объединяться со знаниями экспертов
и применяться к данным в базах.
5. Наблюдение за моделью. Когда модель
начинает работать в реальной среде, то необходимо измерять точность
модели на реальных данных. Однако, даже если модель работает хорошо,
и можно считать, что работа на этом заканчивается, то все равно
необходимо продолжать наблюдения за моделью. Все системы имеют свойство
развиваться, и полученные данные (их структура, точность, периодичность)
тоже меняются. Внешняя переменная, такая как коэффициент инфляции,
своим изменением тоже могут влиять на поведение людей и на факторы,
влияющие на это изменение. Время от времени модель необходимо подвергать
повторному тестированию, и даже перестраиванию.
Простейшим способом наблюдения деятельности модели являются графики
расхождений между предвиденными величинами и реальными значениями.
Они просты для построения и понимания и могут встраиваться в программные
продукты. Такая автоматизированная система может следить сама за
собой и извещать пользователя, когда величина этих расхождений начинает
выходить за определенный предельный уровень.
|