Что такое data mining
Data Mining: что внутри
Уровни информации
Я не думаю, что открою Америку, если скажу, что не вся информация одинаково полезна. Иногда для объяснения какого-то понятия необходимо написать много текста, а иногда для объяснения сложнейших вопросов достаточно посмотреть на простую диаграмму. Для сокращения избыточности информации были придуманы математические формулы, чертежи, условные обозначения, программный код и т.д. Кроме того, важным является не только сама информация, но и ее представление. Понятно, что котировки акций более наглядно можно продемонстрировать с помощью графика, а математические формулы опишут законы Ньютона в более компактном виде.
В процессе развития информационных технологий, а также систем сбора и хранения данных — баз данных (databases), хранилищ данных (data warehousing), и с недавних пор, облачных репозиториев, возникла проблема анализа больших объемов данных, когда аналитик или управленец не в состоянии вручную обработать большие массивы данных и принять решение. Понятно, что аналитику необходимо каким-то образом представить исходную информацию в более компактном виде, с которой может справится человеческий мозг за приемлемое время.
Между уровнями нет четких граней, но такая классификация позволит нам в дальнейшем не запутаться с терминологией.
Data Mining
Осмелюсь ввести еще один термин для первого пункта — Data Extracting, который буду использовать в дальнейшем.
Information retrieval
Information retrieval используется для получения структурированных данных или репрезентативной выборки меньшего размера. По нашей классификации information retrieval оперирует данными первого уровня, а в результате выдает информацию второго уровня.
Самым простым примером information retrieval является поисковая система, которая на основании неких алгоритмов выводит часть информации из полного набора документов. Кроме того, любая система, которая работает с тестовыми данными, метаинформаций или базами данных тем или иным способом использует инструменты information retrieval. Инструментами могут выступать методы индексации, фильтрации, сортировки данных, парсеры и т.д.
Text Mining
Другие названия: text data mining, text analysis, очень близкое понятие – concern mining.
Text mining может работать как с сырыми данными, так и с частично обработанными, но в отличие от information retrieval, text mining анализирует текстовую информацию с помощью математических методов, что позволяет получать результат с элементами знания.
Задачи, которые решает text mining: нахождение шаблонов данных, получение структурированной информации, построение иерархий объектов, классификация и кластеризация данных, определение тематики или области знаний, автоматическое реферирование документов, задачи автоматической фильтрации контента, определение семантических связей и другие.
Для решения задач text mining используют статистические методы, методы интерполяции, аппроксимации и экстраполяции, нечеткие методы, методы контент-анализа.
Web Mining
Ну и наконец мы добрались к web mining – наборе подходов и техник для извлечения данных из веб-ресурсов.
Так как веб-источники, ка правило, не являются текстовыми данными, то и подходы к процессу извлечения данных отличаются в этом случае. В первую очередь необходимо помнить, что информация в вебе хранится в виде специального языка разметки HTML (хотя есть и другие форматы – RSS, Atom, SOAP, но об этом поговорим позже), веб-страницы могут иметь дополнительную метаинформацию, а также информацию о структуре (семантике) документа, каждый веб-документ находится внутри некого домена и к нему могут применяться правила поисковой оптимизации (SEO).
Это первая статья из цикла, посвященного data mining / extracting / web mining. Пожелания и аргументированная критика принимаются.
Разбираемся, в чем разница между Data Mining и Data Extraction
Что такое Data Mining?
Data mining, также называемый Обнаружение знаний в базе данных (KDD), представляет собой метод, часто используемый для анализа больших массивов данных с помощью статистических и математических методов для поиска скрытых закономерностей или тенденций и извлечения из них ценности.
Что можно сделать с помощью Data Mining?
Автоматизируя процесс, инструменты data mining могут просматривать базы данных и эффективно выявлять скрытые закономерности. Для предприятий data mining часто используется для выявления закономерностей и взаимосвязей в данных, помогающих принимать оптимальные решения в бизнесе.
Примеры применения
После того, как в 1990-х годах data mining получил широкое распространение, компании в широком спектре отраслей, включая розничную торговлю, финансы, здравоохранение, транспорт, телекоммуникации, электронную коммерцию и т.д., начали использовать методы data mining для получения информации на основе данных. Data mining может помочь сегментировать клиентов, выявить мошенничество, прогнозировать продажи и многое другое.
Этапы Data Mining
Data mining — это целостный процесс сбора, отбора, очистки, преобразования и извлечения данных для оценки закономерностей и, в конечном итоге, для извлечения ценности.
Как правило, весь процесс добычи данных можно обобщить до 7 этапов:
Недостатки Data Mining
Выше приведено краткое введение в data mining. Как я уже упоминала, data mining содержит процесс сбора и интеграции данных, который включает в себя процесс извлечения данных (data extraction). В этом случае можно с уверенностью сказать, что data extraction может быть частью длительного процесса data mining.
Что такое Data Extraction?
Также известное как «извлечение веб-данных» и «веб-скрепинг», этот процесс представляет собой акт извлечения данных из (обычно неструктурированных или плохо структурированных) источников данных в централизованные места и централизацию в одном месте для хранения или дальнейшей обработки. В частности, к неструктурированным источникам данных относятся веб-страницы, электронная почта, документы, файлы PDF, отсканированный текст, отчеты мейнфреймов, катушечные файлы, объявления и т.д. Централизованные хранилища могут быть локальными, облачными или гибридными. Важно помнить, что извлечение данных не включает в себя обработку или другой анализ, который может произойти позже.
Что можно сделать с помощью Data Extraction?
В основном цели извлечения данных делятся на 3 категории.
Некоторые примеры применения Data Extraction
Подобно data mining, извлечение данных широко используется в различных отраслях промышленности. Помимо мониторинга цен в электронной коммерции, извлечение данных может помочь в собственном исследовании, агрегировании новостей, маркетинге, в работе с недвижимостью, путешествиях и туризме, в консалтинге, финансах и во многом другом.
Шаги Data Extraction
Извлечение данных — первый этап ETL (аббревиатура Extract, Transform, Load: извлечение, преобразование, загрузка) и ELT (извлечение, загрузка и преобразование). ETL и ELT сами по себе являются частью завершенной стратегии интеграции данных. Другими словами, извлечение данных может быть частью их добычи.
Извлечение, преобразование, загрузка
В то время как data mining — это получение информации из больших массивов данных, data extraction — это гораздо более короткий и простой процесс. Его можно свести к трем этапам:
Недостатки Data Extraction
Ключевые различия между Data Mining и Data Extraction
Data mining. Как превращать данные в золото и зачем для этого Java?
Что такое Data mining?
Чем Data mining отличается от Больших данных (Big data)?
Сферы применения Data mining
Маркетинг и таргетинг целевых групп потребителей в ритейле.
Чаще других дата майнинг применяют ритейлеры, чтобы лучше понимать потребности своих клиентов. Анализ данных позволяет им более точно разделять потребителей по группам и подстраивать под них рекламные акции.
Например, продуктовые супермаркеты часто предлагают покупателям завести карту постоянного клиента, которая открывает скидки, недоступные остальным. С помощью таких карт ритейлеры собирают данные о том, какие покупки совершают те или иные группы потребителей. Применение глубинного анализа к этим данным позволяет изучать их привычки и предпочтения, адаптируя к учётом этой информации ассортимент и акции.
Управление кредитными рисками и кредитными историями в банках.
Банки разрабатывают и внедряют модели интеллектуального анализа данных для прогнозирования способности заемщика брать и погашать кредиты. Используя разного рода демографические и личные данные заемщика, эти модели автоматически определяют процентную ставку в зависимости от уровня риска каждого клиента индивидуально.
Обнаружение и борьба с мошенничеством в финансовой сфере.
Финансовые организации используют Data mining для обнаружения и предотвращения мошеннических транзакций. Данная форма анализа применяется ко всем транзакциям, и зачастую потребители даже не подозревают об этом. Например, отслеживание регулярных расходов клиента банка позволяет автоматически выявлять подозрительные платежи и мгновенно задерживать их осуществление до тех пор, пока пользователь не подтвердит покупку. Таким образом Data mining используется для защиты потребителей от разного рода мошенников.
Анализ настроений в социологии.
Анализ настроений на основе данных социальных сетей — также распространенная сфера применения глубинного анализа данных, в которой используется метод, называемый анализом текста. С его помощью можно получить понимание того, как определенная группа людей относится к определенной теме. Это делается с помощью автоматического анализа данных из социальных сетей или других публичных источников.
Биоинформация в здравоохранении.
В медицине Data mining модели используются, чтобы предсказывать вероятность возникновения у пациента различных недугов на основании факторов риска. Для этого собирают и анализируют демографические, семейные и генетические данные. В развивающихся странах с большим населением такие модели не так давно начали внедрять, чтобы диагностировать пациентов и расставлять приоритеты медицинской помощи еще до прибытия врачей и личного осмотра.
“Если изучать данные достаточно тщательно, можно найти в них сообщения от Бога.”Скотт Адамс (Scott Adams), писатель, юморист
Data mining и Java
RapidMiner — это открытая платформа для добычи данных, написанная на Java. Одно из лучших доступных решений для прогнозного анализа с возможностью создания интегрированных сред для глубокого обучения, анализа текстов и машинного обучения. Многие организации используют для глубинного анализа данных именно ее. RapidMiner можно использовать как на локальных серверах, так и в облаке.
Apache Mahout — это open source Java библиотека для машинного обучения от Apache. Mahout является именно инструментом масштабируемого машинного обучения с возможностью обработки данных на одной или нескольких машинах. Реализации данного машинного обучения написаны на Java, некоторые части построены на Apache Hadoop.
MicroStrategy — это программная платформа для бизнес-аналитики и анализа данных, которая поддерживает все модели добычи данных. Благодаря широкому набору собственных шлюзов и драйверов платформа может подключаться к любому корпоративному ресурсу и анализировать его данные. MicroStrategy отлично справляется с преобразованием сложных данных в упрощенные визуализации, которые можно использовать с разными целями.
Java Data Mining Package — это библиотека Java с открытым исходным кодом для анализа данных и машинного обучения. Она облегчает доступ к источникам данных и алгоритмам машинного обучения и предоставляет модули визуализации. JDMP включает в себя ряд алгоритмов и инструментов, а также интерфейсы для других пакетов машинного обучения и интеллектуального анализа данных (таких как LibLinear, Elasticsearch, LibSVM, Mallet, Lucene, Octave и другие).
Waikato Environment for Knowledge Analysis (WEKA) Machine Learning Suite — это открытый список алгоритмов, которые используются для разработки методов машинного обучения. Все алгоритмы WEKA заточены под машинное обучение и интеллектуальный анализ данных. Сейчас набор WEKA Machine Learning Suite широко используется в бизнес-среде, предоставляя компаниям упрощенный анализ данных и предиктивную аналитику.
“Современный мир переполнен данными, и благодаря этому мы можем видеть потребителей намного яснее.”Макс Левчин (Max Levchin), со-основатель PayPal
Как осуществляется добыча данных
Определение бизнес-целей.
Для начала нужно сформировать общие бизнес-цели проекта и понять, как майнинг данных поможет их достичь. На этой стадии должен быть разработан план, включающий сроки, действия и назначения ролей.
Понимание данных.
На втором этапе проводится сбор необходимых данных из разных источников. Для изучения свойств данных, чтобы гарантировать, что они помогут достичь бизнес-целей, часто используют инструменты визуализации. На этом и следующем этапе чаще всего применяются Java-инструменты и, соответственно, требуется квалификация Java-программиста.
Подготовка данных.
Затем данные очищаются и дополняются, чтобы убедиться, что массив готов к добыче информации. В зависимости от объема анализируемых данных и количества источников данных, обработка может занимать огромное количество времени. Поэтому для обработки используют современные системы управления базами данных (СУБД), что позволяет ускорить процесс глубинного анализа.
Моделирование данных.
На этом этапе к данным применяются специальные инструменты и математические модели, которые позволяют находить в них закономерности.
Затем полученные результаты оценивают и сопоставляют с бизнес-целями, чтобы определить, позволяют ли полученные данные их достичь.
Развертывание.
Ну и на заключительном этапе добытые в результате вышеописанных шагов данные интегрируются в бизнес-операции. В качестве инструмента для внедрения полученной информации часто используют различные платформы бизнес-аналитики.
“Добыча данных — это навык, который требуется практически везде. Изучите его, и вы будете универсально востребованы.”Джон Элдер (John Elder), основатель аналитической компании Elder Research
Data Mining – интеллектуальный анализ данных
1. Что такое Data Mining?
Data Mining переводится как “добыча” или “раскопка данных”. Нередко рядом с Data Mining встречаются слова “обнаружение знаний в базах данных” (knowledge discovery in databases) и “интеллектуальный анализ данных”. Их можно считать синонимами Data Mining. Возникновение всех указанных терминов связано с новым витком в развитии средств и методов обработки данных.
До начала 90-х годов, казалось, не было особой нужды переосмысливать ситуацию в этой области. Все шло своим чередом в рамках направления, называемого прикладной статистикой (см. например, [1]). Теоретики проводили конференции и семинары, писали внушительные статьи и монографии, изобиловавшие аналитическими выкладками.
Вместе с тем, практики всегда знали, что попытки применить теоретические экзерсисы для решения реальных задач в большинстве случаев оказываются бесплодными. Но на озабоченность практиков до поры до времени можно было не обращать особого внимания – они решали главным образом свои частные проблемы обработки небольших локальных баз данных.
И вот прозвенел звонок. В связи с совершенствованием технологий записи и хранения данных на людей обрушились колоссальные потоки информационной руды в самых различных областях. Деятельность любого предприятия (коммерческого, производственного, медицинского, научного и т.д.) теперь сопровождается регистрацией и записью всех подробностей его деятельности. Что делать с этой информацией” Стало ясно, что без продуктивной переработки потоки сырых данных образуют никому не нужную свалку.
Специфика современных требований к такой переработке следующие:
Традиционная математическая статистика, долгое время претендовавшая на роль основного инструмента анализа данных, откровенно спасовала перед лицом возникших проблем. Главная причина – концепция усреднения по выборке, приводящая к операциям над фиктивными величинами (типа средней температуры пациентов по больнице, средней высоты дома на улице, состоящей из дворцов и лачуг и т.п.). Методы математической статистики оказались полезными главным образом для проверки заранее сформулированных гипотез (verification-driven data mining) и для “грубого” разведочного анализа, составляющего основу оперативной аналитической обработки данных (online analytical processing, OLAP).
В основу современной технологии Data Mining (discovery-driven data mining) положена концепция шаблонов (паттернов), отражающих фрагменты многоаспектных взаимоотношений в данных. Эти шаблоны представляют собой закономерности, свойственные подвыборкам данных, которые могут быть компактно выражены в понятной человеку форме. Поиск шаблонов производится методами, не ограниченными рамками априорных предположений о структуре выборке и виде распределений значений анализируемых показателей. Примеры заданий на такой поиск при использовании Data Mining приведены в табл. 1.
Таблица 1. Примеры формулировок задач при использовании методов OLAP и Data Mining [2]
OLAP | Data Mining |
Каковы средние показатели травматизма для курящих и некурящих? | Какие факторы лучше всего предсказывают несчастные случаи? |
Каковы средние размеры телефонных счетов существующих клиентов в сравнении со счетами бывших клиентов (отказавшихся от услуг телефонной компании)? | Какие характеристики отличают клиентов, которые, по всей вероятности, собираются отказаться от услуг телефонной компании? |
Какова средняя величина ежедневных покупок по украденной и не украденной кредитной карточке? | Какие схемы покупок характерны для мошенничества с кредитными карточками? |
Важное положение Data Mining – нетривиальность разыскиваемых шаблонов. Это означает, что найденные шаблоны должны отражать неочевидные, неожиданные (unexpected) регулярности в данных, составляющие так называемые скрытые знания (hidden knowledge). К обществу пришло понимание, что сырые данные (raw data) содержат глубинный пласт знаний, при грамотной раскопке которого могут быть обнаружены настоящие самородки (рис.1).
Рисунок 1. Уровни знаний, извлекаемых из данных
В целом технологию Data Mining достаточно точно определяет Григорий Пиатецкий-Шапиро – один из основателей этого направления:
Data Mining – это процесс обнаружения в сырых данных
G. Piatetsky-Shapiro, Knowledge Stream Partners
2. Кому это нужно”
Сфера применения Data Mining ничем не ограничена – она везде, где имеются какие-либо данные. Но в первую очередь методы Data Mining сегодня, мягко говоря, заинтриговали коммерческие предприятия, развертывающие проекты на основе информационных хранилищ данных (Data Warehousing). Опыт многих таких предприятий показывает, что отдача от использования Data Mining может достигать 1000%. Например, известны сообщения об экономическом эффекте, в 10-70 раз превысившем первоначальные затраты от 350 до 750 тыс. дол. [3]. Известны сведения о проекте в 20 млн. дол., который окупился всего за 4 месяца. Другой пример – годовая экономия 700 тыс. дол. за счет внедрения Data Mining в сети универсамов в Великобритании.
Data Mining представляют большую ценность для руководителей и аналитиков в их повседневной деятельности. Деловые люди осознали, что с помощью методов Data Mining они могут получить ощутимые преимущества в конкурентной борьбе. Кратко охарактеризуем некоторые возможные бизнес-приложения Data Mining [2].
2.1. Некоторые бизнес-приложения Data Mining
Розничная торговля
Предприятия розничной торговли сегодня собирают подробную информацию о каждой отдельной покупке, используя кредитные карточки с маркой магазина и компьютеризованные системы контроля. Вот типичные задачи, которые можно решать с помощью Data Mining в сфере розничной торговли:
Банковское дело
Достижения технологии Data Mining используются в банковском деле для решения следующих распространенных задач:
Телекоммуникации
В области телекоммуникаций методы Data Mining помогают компаниям более энергично продвигать свои программы маркетинга и ценообразования, чтобы удерживать существующих клиентов и привлекать новых. Среди типичных мероприятий отметим следующие:
Страхование
Страховые компании в течение ряда лет накапливают большие объемы данных. Здесь обширное поле деятельности для методов Data Mining:
Другие приложения в бизнесе
Data Mining может применяться во множестве других областей:
2.2. Специальные приложения
Медицина
Известно много экспертных систем для постановки медицинских диагнозов. Они построены главным образом на основе правил, описывающих сочетания различных симптомов различных заболеваний. С помощью таких правил узнают не только, чем болен пациент, но и как нужно его лечить. Правила помогают выбирать средства медикаментозного воздействия, определять показания – противопоказания, ориентироваться в лечебных процедурах, создавать условия наиболее эффективного лечения, предсказывать исходы назначенного курса лечения и т. п. Технологии Data Mining позволяют обнаруживать в медицинских данных шаблоны, составляющие основу указанных правил.
Молекулярная генетика и генная инженерия
Пожалуй, наиболее остро и вместе с тем четко задача обнаружения закономерностей в экспериментальных данных стоит в молекулярной генетике и генной инженерии. Здесь она формулируется как определение так называемых маркеров, под которыми понимают генетические коды, контролирующие те или иные фенотипические признаки живого организма. Такие коды могут содержать сотни, тысячи и более связанных элементов.
На развитие генетических исследований выделяются большие средства. В последнее время в данной области возник особый интерес к применению методов Data Mining. Известно несколько крупных фирм, специализирующихся на применении этих методов для расшифровки генома человека и растений.
Прикладная химия
Методы Data Mining находят широкое применение в прикладной химии (органической и неорганической). Здесь нередко возникает вопрос о выяснении особенностей химического строения тех или иных соединений, определяющих их свойства. Особенно актуальна такая задача при анализе сложных химических соединений, описание которых включает сотни и тысячи структурных элементов и их связей.
Можно привести еще много примеров различных областей знания, где методы Data Mining играют ведущую роль. Особенность этих областей заключается в их сложной системной организации. Они относятся главным образом к надкибернетическому уровню организации систем [4], закономерности которого не могут быть достаточно точно описаны на языке статистических или иных аналитических математических моделей [5]. Данные в указанных областях неоднородны, гетерогенны, нестационарны и часто отличаются высокой размерностью.
3. Типы закономерностей
Выделяют пять стандартных типов закономерностей, которые позволяют выявлять методы Data Mining: ассоциация, последовательность, классификация, кластеризация и прогнозирование (рис. 2).
Рисунок 2. Типы закономерностей, выявляемых методами Data Mining
Ассоциация имеет место в том случае, если несколько событий связаны друг с другом. Например, исследование, проведенное в супермаркете, может показать, что 65% купивших кукурузные чипсы берут также и “кока-колу”, а при наличии скидки за такой комплект “колу” приобретают в 85% случаев. Располагая сведениями о подобной ассоциации, менеджерам легко оценить, насколько действенна предоставляемая скидка.
Если существует цепочка связанных во времени событий, то говорят о последовательности. Так, например, после покупки дома в 45% случаев в течение месяца приобретается и новая кухонная плита, а в пределах двух недель 60% новоселов обзаводятся холодильником.
С помощью классификации выявляются признаки, характеризующие группу, к которой принадлежит тот или иной объект. Это делается посредством анализа уже классифицированных объектов и формулирования некоторого набора правил.
Кластеризация отличается от классификации тем, что сами группы заранее не заданы. С помощью кластеризации средства Data Mining самостоятельно выделяют различные однородные группы данных.
Основой для всевозможных систем прогнозирования служит историческая информация, хранящаяся в БД в виде временных рядов. Если удается построить найти шаблоны, адекватно отражающие динамику поведения целевых показателей, есть вероятность, что с их помощью можно предсказать и поведение системы в будущем.
4. Классы систем Data Mining
Data Mining является мультидисциплинарной областью, возникшей и развивающейся на базе достижений прикладной статистики, распознавания образов, методов искусственного интеллекта, теории баз данных и др. (рис. 3). Отсюда обилие методов и алгоритмов, реализованных в различных действующих системах Data Mining. Многие из таких систем интегрируют в себе сразу несколько подходов. Тем не менее, как правило, в каждой системе имеется какая-то ключевая компонента, на которую делается главная ставка. Ниже приводится классификация указанных ключевых компонент на основе работы [6]. Выделенным классам дается краткая характеристика.
Рисунок 3. Data Mining – мультидисциплинарная область
Рисунок 4. Популярные продукты для Data Mining
4.1. Предметно-ориентированные аналитические системы
4.2. Статистические пакеты
Есть еще более серьезный принципиальный недостаток статистических пакетов, ограничивающий их применение в Data Mining. Большинство методов, входящих в состав пакетов опираются на статистическую парадигму, в которой главными фигурантами служат усредненные характеристики выборки. А эти характеристики, как указывалось выше, при исследовании реальных сложных жизненных феноменов часто являются фиктивными величинами.
В качестве примеров наиболее мощных и распространенных статистических пакетов можно назвать SAS (компания SAS Institute), SPSS (SPSS), STATGRAPICS (Manugistics), STATISTICA, STADIA и другие.
4.3. Нейронные сети
Это большой класс систем, архитектура которых имеет аналогию (как теперь известно, довольно слабую) с построением нервной ткани из нейронов. В одной из наиболее распространенных архитектур, многослойном перцептроне с обратным распространением ошибки, имитируется работа нейронов в составе иерархической сети, где каждый нейрон более высокого уровня соединен своими входами с выходами нейронов нижележащего слоя. На нейроны самого нижнего слоя подаются значения входных параметров, на основе которых нужно принимать какие-то решения, прогнозировать развитие ситуации и т. д. Эти значения рассматриваются как сигналы, передающиеся в следующий слой, ослабляясь или усиливаясь в зависимости от числовых значений (весов), приписываемых межнейронным связям. В результате на выходе нейрона самого верхнего слоя вырабатывается некоторое значение, которое рассматривается как ответ – реакция всей сети на введенные значения входных параметров. Для того чтобы сеть можно было применять в дальнейшем, ее прежде надо “натренировать” на полученных ранее данных, для которых известны и значения входных параметров, и правильные ответы на них. Тренировка состоит в подборе весов межнейронных связей, обеспечивающих наибольшую близость ответов сети к известным правильным ответам.
Основным недостатком нейросетевой парадигмы является необходимость иметь очень большой объем обучающей выборки. Другой существенный недостаток заключается в том, что даже натренированная нейронная сеть представляет собой черный ящик. Знания, зафиксированные как веса нескольких сотен межнейронных связей, совершенно не поддаются анализу и интерпретации человеком (известные попытки дать интерпретацию структуре настроенной нейросети выглядят неубедительными – система “KINOsuite-PR”).
Рисунок 5. Полиномиальная нейросеть
4.4. Системы рассуждений на основе аналогичных случаев
Идея систем case based reasoning – CBR – на первый взгляд крайне проста. Для того чтобы сделать прогноз на будущее или выбрать правильное решение, эти системы находят в прошлом близкие аналоги наличной ситуации и выбирают тот же ответ, который был для них правильным. Поэтому этот метод еще называют методом “ближайшего соседа” (nearest neighbour). В последнее время распространение получил также термин memory based reasoning, который акцентирует внимание, что решение принимается на основании всей информации, накопленной в памяти.
Системы CBR показывают неплохие результаты в самых разнообразных задачах. Главным их минусом считают то, что они вообще не создают каких-либо моделей или правил, обобщающих предыдущий опыт, – в выборе решения они основываются на всем массиве доступных исторических данных, поэтому невозможно сказать, на основе каких конкретно факторов CBR системы строят свои ответы.
Другой минус заключается в произволе, который допускают системы CBR при выборе меры “близости”. От этой меры самым решительным образом зависит объем множества прецедентов, которые нужно хранить в памяти для достижения удовлетворительной классификации или прогноза [7].
Примеры систем, использующих CBR, – KATE tools (Acknosoft, Франция), Pattern Recognition Workbench (Unica, США).
4.5. Деревья решений (decision trees)
Деревья решения являются одним из наиболее популярных подходов к решению задач Data Mining. Они создают иерархическую структуру классифицирующих правил типа “ЕСЛИ… ТО…” (if-then), имеющую вид дерева. Для принятия решения, к какому классу отнести некоторый объект или ситуацию, требуется ответить на вопросы, стоящие в узлах этого дерева, начиная с его корня. Вопросы имеют вид “значение параметра A больше x””. Если ответ положительный, осуществляется переход к правому узлу следующего уровня, если отрицательный – то к левому узлу; затем снова следует вопрос, связанный с соответствующим узлом.
Популярность подхода связана как бы с наглядностью и понятностью. Но деревья решений принципиально не способны находить “лучшие” (наиболее полные и точные) правила в данных. Они реализуют наивный принцип последовательного просмотра признаков и “цепляют” фактически осколки настоящих закономерностей, создавая лишь иллюзию логического вывода.
Вместе с тем, большинство систем используют именно этот метод. Самыми известными являются See5/С5.0 (RuleQuest, Австралия), Clementine (Integral Solutions, Великобритания), SIPINA (University of Lyon, Франция), IDIS (Information Discovery, США), KnowledgeSeeker (ANGOSS, Канада). Стоимость этих систем варьируется от 1 до 10 тыс. долл.
Рисунок 6. Система KnowledgeSeeker обрабатывает банковскую информацию
4.6. Эволюционное программирование
Проиллюстрируем современное состояние данного подхода на примере системы PolyAnalyst – отечественной разработке, получившей сегодня общее признание на рынке Data Mining. В данной системе гипотезы о виде зависимости целевой переменной от других переменных формулируются в виде программ на некотором внутреннем языке программирования. Процесс построения программ строится как эволюция в мире программ (этим подход немного похож на генетические алгоритмы). Когда система находит программу, более или менее удовлетворительно выражающую искомую зависимость, она начинает вносить в нее небольшие модификации и отбирает среди построенных дочерних программ те, которые повышают точность. Таким образом система “выращивает” несколько генетических линий программ, которые конкурируют между собой в точности выражения искомой зависимости. Специальный модуль системы PolyAnalyst переводит найденные зависимости с внутреннего языка системы на понятный пользователю язык (математические формулы, таблицы и пр.).
Другое направление эволюционного программирования связано с поиском зависимости целевых переменных от остальных в форме функций какого-то определенного вида. Например, в одном из наиболее удачных алгоритмов этого типа – методе группового учета аргументов (МГУА) зависимость ищут в форме полиномов. В настоящее время из продающихся в России систем МГУА реализован в системе NeuroShell компании Ward Systems Group.
4.7. Генетические алгоритмы
Data Mining не основная область применения генетических алгоритмов. Их нужно рассматривать скорее как мощное средство решения разнообразных комбинаторных задач и задач оптимизации. Тем не менее генетические алгоритмы вошли сейчас в стандартный инструментарий методов Data Mining, поэтому они и включены в данный обзор.
Первый шаг при построении генетических алгоритмов – это кодировка исходных логических закономерностей в базе данных, которые именуют хромосомами, а весь набор таких закономерностей называют популяцией хромосом. Далее для реализации концепции отбора вводится способ сопоставления различных хромосом. Популяция обрабатывается с помощью процедур репродукции, изменчивости (мутаций), генетической композиции. Эти процедуры имитируют биологические процессы. Наиболее важные среди них: случайные мутации данных в индивидуальных хромосомах, переходы (кроссинговер) и рекомбинация генетического материала, содержащегося в индивидуальных родительских хромосомах (аналогично гетеросексуальной репродукции), и миграции генов. В ходе работы процедур на каждой стадии эволюции получаются популяции со все более совершенными индивидуумами.
Генетические алгоритмы удобны тем, что их легко распараллеливать. Например, можно разбить поколение на несколько групп и работать с каждой из них независимо, обмениваясь время от времени несколькими хромосомами. Существуют также и другие методы распараллеливания генетических алгоритмов.
Генетические алгоритмы имеют ряд недостатков. Критерий отбора хромосом и используемые процедуры являются эвристическими и далеко не гарантируют нахождения “лучшего” решения. Как и в реальной жизни, эволюцию может “заклинить” на какой-либо непродуктивной ветви. И, наоборот, можно привести примеры, как два неперспективных родителя, которые будут исключены из эволюции генетическим алгоритмом, оказываются способными произвести высокоэффективного потомка. Это особенно становится заметно при решении высокоразмерных задач со сложными внутренними связями.
4.8. Алгоритмы ограниченного перебора
Алгоритмы ограниченного перебора были предложены в середине 60-х годов М.М. Бонгардом для поиска логических закономерностей в данных. С тех пор они продемонстрировали свою эффективность при решении множества задач из самых различных областей.
Эти алгоритмы вычисляют частоты комбинаций простых логических событий в подгруппах данных. Примеры простых логических событий: X = a; X 4.9. Системы для визуализации многомерных данных
В той или иной мере средства для графического отображения данных поддерживаются всеми системами Data Mining. Вместе с тем, весьма внушительную долю рынка занимают системы, специализирующиеся исключительно на этой функции. Примером здесь может служить программа DataMiner 3D словацкой фирмы Dimension5 (5-е измерение).
В подобных системах основное внимание сконцентрировано на дружелюбности пользовательского интерфейса, позволяющего ассоциировать с анализируемыми показателями различные параметры диаграммы рассеивания объектов (записей) базы данных. К таким параметрам относятся цвет, форма, ориентация относительно собственной оси, размеры и другие свойства графических элементов изображения. Кроме того, системы визуализации данных снабжены удобными средствами для масштабирования и вращения изображений. Стоимость систем визуализации может достигать нескольких сотен долларов.
Рисунок 8. Визуализация данных системой DataMiner 3D