Мы живем в век информации. В настоящее время широко признана значимость сбора данных, которая отражает вашу коммерческую или научную деятельность и необходима для выхода на конкурентоспособный уровень. Все крупные и средние компании имеют мощные системы сбора и управления данными в больших базах данных. Но существенным недостатком является сложность извлечения информации о системе из собранных данных.
- Какие товары следует предложить этому покупателю?
- Какая вероятность того, что именно этот покупатель среагирует на планируемую рекламу?
- Можно ли сделать прогноз, какие ценные бумаги для покупки/продажи во время следующих торгов будут наиболее выгодными?
- Просрочит ли тот или иной клиент выплату по кредиту или оплатит в срок?
- Какой медицинский диагноз поставить пациенту?
- Какой может быть максимальная нагрузка на телефонную или энергетическую сеть?
- Почему оборудование ни с того ни с сего начинает производить бракованные изделия?
На все эти вопросы возможно ответить, если информация, скрытая в мегабайтах данных вашей базы, является прозрачной и готовой к использованию. Моделирование исследовательской системы, установление связей, которые соединяют переменные показатели в базу данных – это исследуемые объекты глубокого анализа данных.
Современные компьютерные системы глубокого анализа данных способны самостоятельно обучаться, перенимать алгоритмы предыдущей исследовательской системы, при этом формулируя и тестируя гипотезы о правилах, которые система соблюдает. Когда обнаружена краткая и ценная информация об интересующей системе, ее следует внедрить в одну из систем поддержки принятия решений, которая в свою очередь поможет менеджеру принять разумное, основанное на полученной информации, деловое решение.
Причины растущей популярности глубокого анализа данных
Растущий объем данных
Основная причина необходимости автоматизированных компьютерных систем для интеллектуального анализа данных – это огромный объем существующих и вновь появляющихся данных, которые требуют обработки. Количество накопленных данных за каждый день разными деловыми, научными и государственными организациями по всему миру поистине ошеломляющее. По информации научно-исследовательского центра GTE только научные организации каждый день сохраняют около 1 ТБ (терабайта!) новой информации, а академические круги далеко не ведущие в сфере новых данных. Аналитики уже не могут справиться с таким колоссальным объемом информации.
Недостатки анализа, проводимого человеком
При обработке данных человеком возникают две проблемы: несовершенство человеческого мозга при поиске сложных многофакторных зависимостей в данных и отсутствие объективности в таком анализе. Человек-эксперт всегда является заложником предыдущего опыта исследований других систем. Иногда это помогает, иногда наоборот, но факт остается фактом.
Низкая стоимость машинного обучения
Еще один плюс использования автоматизированных систем глубокого анализа данных – гораздо меньшая стоимость обработки данных по сравнению с нанятой армией высокообученных (и высокооплачиваемых) профессиональных статистиков. Анализ данных не полностью исключает участие человека, а лишь существенно облегчает работу и позволяет аналитикам, не профессионалам в статистике и программировании, справляться с обработкой извлеченной информации из данных.
Задачи, решаемые при помощи Глубокого анализа данных
Прогноз
Изучение модели из примеров и использование разработанной модели с целью прогнозирования будущего значения целевой переменной.
- Полиноминальная нейронная сеть PolyAnalyst (PolyNet Predictor), построитель моделей (Find Laws), метод “ближайших соседей” (Memory Based Reasoning) и алгоритмы линейной регрессии
Классификация
Нахождения функции, преобразующей записи в одну из нескольких дискретных классов.
- Метод “ближайших” соседей PolyAnalyst (Memory Based Reasoning), алгоритмы классификатора (Classify) и дикриминации (Dicriminate)
Определение отношений
Поиск наиболее влиятельной независимой переменной для выбранной целевой переменной.
- Алгоритмы N-мерного анализа распределений PolyAnalyst (Find Dependencies)
Эксплицитное моделирование
Поиск эксплицитных формул, описывающих зависимости между различными переменными.
- Алгоритмы построителя моделей PolyAnalyst (Find Laws)
Кластеризация
Идентификация групп записей, похожих между собой, но отличающихся от других данных. Чаще всего переменные для лучшего осуществления процесса кластеризации должны быть так же идентифицированы.
- Алгоритмы кластеризатора PolyAnalyst (Cluster)
Анализ потребительской корзины
Обработка транзакционных данных, с целью найти группы продуктов, которые хорошо продаются вместе, и ассоциативные правила, определяющие лучшие продукты, которые можно предложить вместе с уже выбранными товарами.
- Метод анализа корзины покупателя PolyAnalyst (Market Basket Analysis)
Обнаружение отклонений
Определение наиболее значимых изменения в некоторых ключевых критериях данных из предыдущих или выбранных значений.
Разные технологии и системы глубокого анализа данных
Существуют различные подходы к глубокому анализу данных, но выделяет три основных общих критерия:
- Контроль значимости полученных результатов
- Прозрачность разработанных эмпирических моделей и их интерпретируемость
- Степень автоматизации процесса поиска и простота использования
Мы начнем с более традиционных подходов, чтобы переход от традиционных методов анализа данных к методам глубокого анализа данных был плавным:
- Объектно-ориентированные аналитические системы
- Пакет программ обработки статистических данных
И затем продолжим с определением методов глубокого анализа данных по существу:
- Нейронные сети
- Эволюционное программирование
- Принятие решения на основе накопленной в памяти информации (MBR)
- Деревья Решений
- Генетические алгоритмы
- Нелинейные методы регрессии
Объектно-ориентированные аналитические системы
Все подобные системы являются, разумеется, прикладными средствами доменов приложений. Одной из наиболее развитых систем мы считаем систему анализа финансового рынка, построенную на основе метода технического анализа. Технический анализ представляет собой совокупность нескольких десятков разных методов для прогноза динамики цен и выбора оптимальной структуры инвестиционного портфеля, основанного на различных эмпирических моделях поведения рынка. Эти методы варьируются от очень простых, например, методы вычисления трендового значения, до тех, которые имеют сложные математические базы, такие как фрактальная теория или спектральный анализ.
Базовая эмпирическая модель внедряется в такие системы вручную c самого начала, а не вводится при помощи автоматического обучения из предыстории. Итак, наши первые два критерия – статистическая значимость производной модели и их интерпретируемость – не могут быть применены в рассматриваемых системах.
Однако подобные системы имеют существенный плюс для пользователя. Они выполняют операции при помощи терминов специфической предметной области, которые понятны трейдерам и финансовым аналитикам. Часто такие системы имеют специальные интерфейсы для загрузки финансовых данных, где существует большое количество объектно-ориентированных систем, основанных на техническом анализе.
Примеры систем:
- MetaStock (Equis International)
- SuperCharts (Omega Research)
- Candlestick Forecaster (IPTC)
- Wall Street Money (Market Arts)
Статистические пакеты
В то время как в большинстве последних версий известных пакетов статистических данных традиционные статистические методы дополнялись некоторыми элементами глубокого анализа данных, их главные способы обработки данных так и остались классическими: корреляция, регрессия, факторные анализы и другие подобные техники. Такие системы не могут определить форму зависимостей, скрытую в данных, и требуют от пользователя собственных гипотез, которые будут протестированы системой.
Один из главных недостатков такой системы состоит в том, что анализ данных может быть выполнен только пользователем с навыками в области статистики. Новоиспеченному же пользователю придется несколько месяцев проходить специальные курсы, чтобы более или менее грамотно использовать такие системы. Еще один недостаток статистических пакетов – необходимость снова и снова выполнять некоторые элементарные операции во время процесса исследования данных. Инструменты для автоматизации этого процесса либо не существуют, либо требуют программирования на каком-либо внутреннем языке.
По нашему мнению, такие характеристики делают пакет программ обработки статистических данных слишком неудобным и неэффективным для решения реально существующих комплексных проблем.
Примеры систем:
- SAS (SAS Institute)
- SPSS (SPSS)
- Statgraphics (Statistical Graphics)
- Statistica (Statsoft)
Нейронные сети
Это большой класс различных систем, архитектура которых в какой-то мере имитирует структуру живой нервной ткани, состоящей из отдельных нейронов. Одна из наиболее распространенных архитектур, многослойный перцептрон с обратным распространением ошибок, имитирует работу нейронов, внедренных в иерархическую сеть, где ввод каждого нейрона следующего уровня (более узкого) соединяется с выходными данными всех нейронов предыдущего (более широкого) уровня. Анализируемые данные интерпретируются как параметры возбуждения нейрона и поддерживаются входными данными первого слоя. Это возбуждение нижнего слоя нейронов распространяется на следующий уровень, оно усиливается или ослабевает в зависимости от весов (числовых коэффициентов), приписываемых соответствующими интраневральными соединениями. В качестве финального результата этого процесса один нейрон, составляющий самый высший нейронный слой, приобретает некоторое значение (интенсивность возбуждения), которое считается прогнозом то есть реакцией целой сети на обрабатываемые данные.
Для того чтобы сделать значимые прогнозы нейронную сеть сначала необходимо обучить описывать данные из предыдущих ситуаций, для которых и входные параметры, и истинные реакции на них известны. Обучение состоит из выбора весов, приписываемых интраневральными соединениями, которые обеспечивают максимальную близость реакции, производимой сетью на известную истинную реакцию.
Данный подход доказал свою эффективность при распознавании изображений. Однако опыт показывает, что он не подходит полностью для, скажем, финансовых или серьезных медицинских приложений. Существует несколько причин, почему все не так просто. Во-первых, актуальные нейронные сети, которые построены для анализа сложных систем, таких как финансовые рынки, должны быть многосложными системами сами по себе. Они включают дюжины нейронов с парой сотен соединений между ними. В результате число степеней свободы созданной модели прогнозирования (это веса всех соединений между нейронными сетями) часто становится больше, чем количество примеров (отдельных записей данных), которые использовались для обучения сети. Это лишает прогноз какого-либо смысла и ценности: сеть легко можно обучить объяснять массив устройства некоторых хаотично сгенерированных данных. Наш опыт в применении нейронных сетей для прогноза курса ценных бумаг наглядно демонстрирует, что они могут идеально объяснять всю функциональность в данных, используемых для обучения сетей, но не справляются, когда их применяют при прогнозировании будущих цен.
Второй недостаток – это непрозрачность прогнозируемых моделей, представленных обученной нейронной системой. Эта сложность так же тесно связана с замысловатостью структуры нейронных сетей: информация выраженная в весах пары сотни интраневральных соединений не может быть проанализирована и интерпретирована человеком.
Следует отметить, что несмотря на эти недостатки нейронные сети активно используются (с различной степенью успеха) в различных финансовых приложениях в большинстве развитых стран.
Примеры систем:
- PolyAnalyst (Megaputer Intelligence)
- BrainMaker (CSS)
- NeuroShell (Ward Systems Group)
- OWL (Hyperlogic)
Эволюционное программирование
В настоящий момент это молодая и очевидно многообещающая отрасль глубокого анализа данных. Основная идея метода состоит в том, что система автоматически формулирует гипотезы о зависимости целевой переменной от других переменных в виде программ, выраженных на внутреннем языке программирования. Используя универсальный язык программирования, метод гарантирует, что в принципе любая зависимость или алгоритм может быть выражен на языке.
Процесс производства внутренних программ (гипотез) организован подобно процессу эволюции, но в мире всевозможных программ (это несколько напоминает метод генетических алгоритмов). Когда система находит гипотезы, сравнительно точно описывающие экспериментальную зависимость, она начинает вводить разные простые модификации в эту программу и выбирать лучшую дочернюю программу, полученную в результате этого процесса, которая максимально улучшит точность. Таким образом, система разрабатывает генетические линии программы, которые дополняются при помощи друг друга в точности выражения искомой зависимости.
Когда лучшая программа (гипотеза) с желаемой точностью достигнута, специальный модуль системы переводит обнаруженную зависимость с внутреннего языка в явную форму, легко понимаемую человеком: математические формулы, таблицы прогнозов и т. д. Это позволяет пользователю понять сущность и контролировать полученную зависимость и, к тому же, обеспечит графическую визуализацию результата. Контроль статистической значимости полученных результатов выполняется через некоторое количество современных статистических методов, например, метод проверки рандомизации данных.
Единственная доступная система на рынке основанная на этом методе – PolyAnalyst – показывает лучшие результаты в различных приложениях от финансов до медицины.
Примеры систем:
Принятие решения на основе всей накопленной в памяти информации (MBR)
Основная идея в основе MBR (прим. от англ. Memory Based Reasoning) очень проста. Чтобы прогнозировать будущую ситуацию или принять правильное решение, такие системы находят прошлые аналоги текущих ситуаций и выбирают аналогичное решение, которые было правильным в подобных ситуациях. Поэтому этот метод так же называют методом ближайшего соседа. CBR системы (прим. системы принятие решений на основе подобных случаев от англ. Case Based Reasoning) показывают относительно хорошие результаты в задачах различного характера. Но, с другой стороны, их большой недостаток в том, что они не создают абсолютно никаких моделей или правил, суммирующих предыдущий опыт. Их прогнозы основаны на обработке всего тела доступных сохраненных данных, по этой причине невозможно говорить, какие специфичные факторы влияют на систему прогнозов CBR.
Примеры систем:
- PolyAnalyst (Megaputer Intelligence)
- KATE tools (Acknosoft)
- Pattern Recognition Workbench (Unica)
Деревья решений
Этот метод может быть использован только для решений задач классификации, что ограничивает целесообразность применения метода деревьев решений во многих сферах. Например, самая частая проблема при применении в сфере финансов – это задача прогнозируемых значений некоторых числовых переменных.
При применении этого метода на тренировочных примерах создается иерархическая структура правил классификации типа “ЕСЛИ… ТО…”. Эта структура имеет вид дерева (похожа на распознавание видов в ботанике или зоологии). Для того чтобы решить к какому классу или ситуации объект следует приписать необходимо ответить на вопросы, расположенные на узлах деревьев, начиная с корневого. Это вопросы такого вида “Значение переменной А больше чем х?”. Если ответ да, следуем за правой веткой дерева к узлу следующего уровня, если ответ нет – левая ветвь. Затем уже в этом узле необходимо ответить на вопрос и так далее. Следуя этой процедуре придем в результате к финальным узлам (называемые листья), где будет сделан вывод, к какому классу рассматриваемого объекта следует его отнести.
Достоинство этого метода в том, что форма представления правил интуитивна и понятна пользователю. Однако вопрос определения значимости найденного правила становится очень серьезной проблемой для метода деревьев решений. Причина проблемы в небольшом количестве записей, которые остаются на каждом следующем уровне классификационного дерева в процессе его построения. Дерево разбивает данные на большое количество маленьких наборов заданных ситуаций. Чем больше некоторое количество различных ситуаций, тем меньше каждый новый отдельный набор тренировочных примеров и тем меньше уверенность, что дальше возможна корректная классификация. Если построенное дерево достаточно разветвленное: если содержит большое количество маленьких веток – тогда такое дерево не отражает действительное и статистически оправданное решение. Применение в комплексных реально существующих проблемах показывает, что большинство систем, использующих метод деревьев решений, не находят удовлетворительное решение по сей день.
Мы должны отметить, что существует много систем, которые выполняют метод деревьев решений.
Примеры систем:
- PolyAnalyst (Megaputer Intelligence)
- C5.0 (Rule Quest)
- Clementine (Integral Solutions)
- SIPINA (University of Lyon)
- IDIS (Information Discovery)
Генетические алгоритмы
Собственно говоря, анализ данных – это не главная сфера применения генетических алгоритмов. Их следует рассматривать как мощные методы решения различных комбинаторных и оптимизационных задач. Несмотря на это, генетические алгоритмы находятся в списке стандартных современных инструментов для глубокого анализа данных, и поэтому они включены в настоящий обзор.
Метод получил свое название из-за схожести с процессом естественного отбора в природе. Допустим, будет найдено решение задачи, которое было бы наиболее оптимальным с точки зрения определенного критерия. Допустим, каждое решение будет тщательно описано некоторым набором числовых или нечисловых параметров. Например, стоит задача выбрать фиксированное количество параметров рынка, влияющих наиболее значительно на состояние рынка, названия которых затем образуют такой дескрептивный набор. Можно подумать, что это множество, которое является множеством хромосом, определяющих качество “организма”, и есть решение проблемы. Если следовать этой аналогии, то значения параметров, определяющих решение, схожи с генами. Поиск оптимального решения подобен процессу эволюции популяции организмов, где каждый организм представляется как набор хромосом.
Эволюцию приводят в действие три механизма: первый – это выбор сильнейшего: тот набор хромосом, который характеризует наиболее оптимальные решения; второй – скрещивание: воспроизведение, рождение нового организма благодаря смешиванию набора хромосом; и третий – мутации: случайные изменения генов в других организмах популяции. После некоторого количества новых поколений, построенных при помощи описываемых механизмов, возможно прийти к предельно эффективному решению. Это решение будет приниматься как финальное.
Генетические алгоритмы имеют два слабых места. Первое – тот самый путь формирования проблемы не дает никакой возможности оценивать статистическую значимость полученного решения. Второе – только специалист может разработать критерий для выбора хромосом и сформулировать проблему эффективно. По этой причине в настоящий момент алгоритмы должны рассматриваться больше как инструмент для научных исследований, чем как инструмент для характерного конструктивного анализа данных, например, в финансах.
Примеры систем:
- PolyAnalyst (Megaputer Intelligence)
- GeneHunter (Ward Systems Group)
Методы нелинейной регрессии
Данные методы основаны на поиске зависимостей целевой переменной от остальных в форме функций какого-то определенного вида. Например, в одной из наиболее успешной реализации алгоритмов этого типа, а именно в методе группового учета атрибутов, зависимость ищут в форме полиномов. Такие методы должны предложить решения с большей статистической значимостью, чем нейронные сети. Теоретически полученная формула, полином, наиболее подходит для анализа и интерпретации (но в реальности это все еще представляет сложность). Поэтому этот метод имеет хорошие шансы для получения реальных решение в таких сферах, как финансовые рынки или медицинская диагностика.
Примеры систем:
- PolyAnalyst (Megaputer Intelligence)
- NeuroShell (Ward Systems Group)