`

СПЕЦИАЛЬНЫЕ
ПАРТНЕРЫ
ПРОЕКТА

Архив номеров

Best CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Разведка и данные...

+44
голоса

В рамках публикации архивных материалов предлагаем вашему вниманию статью из №12 (230) «Компьютерного Обозрения» от 13 апреля 2000 г. Одна из первых наших статей про data mining.

Похоже, что на лавры популярности двух великих разведчиков — Джеймса Бонда и обер-штурмбаннфюрера полковника Исаева — сегодня покушаются предметы неодушевленные, более того — бестелесные. Поисковые машины буквально взрываются, встретив в строке поиска ключевую фразу «data mining», а уж обилию рекламы программных продуктов, попадающих в эту обширную категорию, герои невидимого фронта могут только позавидовать. Но...

Раз уж речь идет о вещах куда более серьезных, чем сериалы, спешить предаваться массовой истерии не стоит: не все, знаете ли, золото, что блестит...

ОТ СМЕШНОГО ДО ВЕЛИКОГО

Обратить внимание на технологию data mining автора вынудил неоднократно повторяющийся, можно сказать, повседневный Internet-курьез. Пользователи AltaVista, наверняка, заметили, что тематика рекламных баннеров, показываемых на страницах с результатами поиска, иногда в какой-то мере совпадает с тематикой запроса. Это замечательно, и было бы совсем прекрасно, если бы не поразительная способность AltaVista «вывешивать» на совершенно невинную строку поиска такое.., что впору просить слабонервных удалиться. «Отклонения» у av.com случаются не каждые две секунды, но зато в полном соответствии с законами Мерфи: когда за вашей спиной стоит начальник или сотрудница, попросившая поискать редкий кулинарный рецепт, затаившаяся страстишка AltaVista непременно сыграет злую шутку — баннер «с пятью крестами» гарантирован. Вот с этого самого «высокоинтеллектуального» механизма определения тематики запроса все и началось...

ПОБЕДЫ НАД ДАННЫМИ

Как бы продолжая тему «смешного и великого», сразу хочется привести несколько примеров, исключительно точно отражающих состояние дел в области реальных применений data mining. Здесь важно обращать внимание на мельчайшие детали — впоследствии они помогут восстановить и реальную картину рынка ПО для высокоуровневого бизнес-ориентированного анализа данных, и определиться с перспективами применения data mining (DtM) в наших, весьма специфических условиях.

Британская компания с японским названием Hosokawa Micron, например, провела самостоятельные исследования модели своего производства с использованием технологии DtM (модель охватывала загрязнение окружающей среды, качественные показатели продукции и энергопотребление станочного парка). На основе результатов этих исследований совместно со специализирующейся в DtM-анализе компанией Enprotelligence были созданы программные продукты оптимизации производственных процессов, применение которых позволяет Hisokawa и ее партнерам экономить на каждом технологическом процессе до 100 тыс. фунтов стерлингов в год.

Разведка и данные...

Это был «орел». А вот «решка»: совсем недавно в одной из реклам очень дорогого ПО из DtM категории приводился факт выявления глубинной закономерности, позволяющей перевести качество обслуживания клиентов «на совершенно новый уровень». Закономерность эта достойна пера И. Ильфа. Оказывается, крайне необходимо проводить серьезные и безумно дорогие исследования, чтобы определиться: вегетарианцы не едят мяса, и поэтому их не интересует реклама мясных продуктов.

Согласитесь, воистину «человеческий разум победил...».

ЧТО ЕСТЬ ЧТО...

После непродолжительного «контрастного душа» (вероятнее всего, достаточного для снятия симптомов очередной технократической лихорадки) можно перейти к содержательной части. Итак, data mining.

Сам термин DtM не является точным — скорее, это маркетинговый слоган, в связи с чем автор нарушил традицию и не привел его перевода. Определение, принятое в среде специалистов, звучит куда более пространно — Knowledge Discovery in Databases (KDD — поиск знаний в базах данных). В соответствии с определением, основная задача KDD-процесса — нахождение полезной неявной информации, «скрытой» в больших массивах данных.

В связи с тем что существует крайне резкое расхождение во взглядах специалистов в области KDD-технологий и специалистов по маркетингу программных продуктов на основе этих технологий, следует сразу же установить, о каких и скольких информационных массивах (базах данных) может идти речь. Главный факт, способный шокировать любого фанатика DtM (но не KDD, разница, наверняка, уже понятна), заключается в том, что первый этап KDD должен быть выполнен тогда, когда еще нет никаких баз данных (БД). А именно: перед проектированием любой БД необходимо сформировать логическую структуру данных (концептуальную модель БД или схему в соответствии с терминологией CODASYL). Вечный вопрос «курицы и яйца» и здесь заставляет хорошенько призадуматься: когда у нас имеется одна хорошо спроектированная база данных, это означает, что мы уже знаем если не все, то почти все о моделируемой этими данными реальности. Соответственно, нечто новое может «прятаться» или в скрытых взаимосвязях из разных БД, или в изначальной «неправильности» концептуальной модели одной БД.

Процедура KDD, определяющая и перечень требований к знаниям и опыту выполняющего ее специалиста, и необходимый инструментарий, достаточно размыта даже на уровне определения. «Достаточная размытость» — слишком смягченное определение. И хотя наблюдаются попытки стандартизировать процесс KDD (например, именно такая задача поставлена перед консорциумом CRISP-DM, членами которого являются NCR, SPSS и DimlerChrysler), сама архитектура KDD-процесса остается более искусством, чем ремеслом. Но, слава Богу, и в искусстве имеются свои правила...

«С высоты птичьего полета» процедура KDD состоит из огромных и многовариантных подзадач: понимания предметной области, подготовки набора данных, выявления новых «знаний» и, наконец, применения этих «знаний» к реальности предметной области. В этой схеме уже чувствуется итеративный характер KDD-процесса: использование новых «знаний» в предметной области ведет к ее изменениям, соответственно необходимо заново анализировать (понимать) предметную область, что требует новой подготовки данных и т. д.

Еще веселее становится после понимания факта зависимости каждой последующей подзадачи от результатов предыдущей. Так, изменение взглядов на предметную область (или ее понимание) может потребовать совершенно новых механизмов подготовки данных. Но и это еще не все. Оказывается, и для предыдущих подзадач необходимы коррективы в зависимости от результатов последующих: например, неудовлетворительное качество «знаний» вынуждает изменить как подготовку данных, так и взгляды на предметную область в целом... Пока не стоит пугаться всех этих «кошмаров» — в технологиях, как в детских сказках, чем дальше, тем страшнее, но заканчивается все обязательно хорошо.

В целом, на теоретическом уровне основная задача KDD-систем выражается одним единственным простым действием: нахождением подмножества (класса) таких характеристик (атрибутов данных) объектов предметной области, которые встречаются достаточно часто и представляют интерес с точки зрения исследователя. Соответственно, вокруг формализации понятий «достаточно часто» и «представляет интерес» и сконцентрированы самые сложные (с научной точки зрения; алгоритмическая и программная реализации большинства методов, используемых в KDD-системах, обычно достаточно просты) вопросы поиска знаний.

ЧТО ТАКОЕ ЗНАНИЯ?

Естественно, даже пытаться ответить на этот вопрос с философской точки зрения мы не будем. В куда более простом компьютерном KDD-контексте, раз уж речь идет об извлечении знаний, необходима четкая формализация этого понятия. А точнее, — способа представления знаний, получаемых с помощью KDD-процесса. Здесь выбор огромен: имеется множество самых различных форм представления плохо определенного термина «знание». Соответственно, и математический аппарат, и программные реализации для всех этих форм существенно отличаются.

Наиболее популярным представлением знаний, использующимся в большинстве коммерческих и свободно распространяемых KDD-системах, являются деревья решений (Decision Trees — DT). Ничего таинственного в этом понятии нет. DT — это программа на примитивном языке программирования с минимальным количеством конструкций. Допуская целый ряд вольностей, типичное DT-представление некоторого «знания» о покупателях можно записать в таком понятном изложении:

Разведка и данные...

Вот такая «сложная» технология позволяет иногда принимать достаточно обоснованные решения. Знакомые с некогда модными экспертными системами (ЭС) читатели непременно заметят, что DT и ЭС весьма схожи. Действительно, это так — сегодняшнюю популярность DT можно назвать реинкарнацией экспертных систем. Но при учете одного «но»: ЭС создавались для накопления формализованных до DT-уровня знаний людей, а в технологии KDD практически аналогичные им DT применяются для представления сгенерированных самообучающейся программой набора правил. Теперь понятен и ответ на еще один потенциальный вопрос: откуда берутся DT?

Разведка и данные...

Второй термин, с которым почти непременно придется столкнуться при работе с KDD-системами, — ассоциативные правила (Association Rules — AR). Если DT представляют знания о соответствиях между значениями некоторых атрибутов данных и критериальным показателем, выбранным исследователем, то AR используются для формализации знаний о взаимосвязях между различными атрибутами. Типичное для бизнес-приложений ассоциативное правило, которое может «отыскать» KDD крупного супермаркета, например, может выглядеть так:

Разведка и данные...

Означает это «открытие», что, на основе накопленных данных, 40% покупателей, приобретающих зажигалку, одновременно с ней покупают и сигареты.

Вероятностные правила (Probablistic Rules — PR) являются попыткой устранить «большевистские замашки» DT, проводящих четкую грань между «нашими» и «плохими».

Разведка и данные...

Кластер — еще одна форма представления знаний, позволяющая с некоторой степенью уверенности говорить о некотором сходстве (или о сходстве в некотором смысле) группы объектов предметной области (среди литературных персонажей выдающиеся способности к кластеризации проявлял бравый солдат Швейк: его безукоризненное определениекластера эстетов до сих пор пользуется популярностью). Знания о кластерах являются определяющими и обычно требуются для сколько-нибудь соотносящегося к реальному миру построения «тонких» знаний на основе DT.

Если, например, предварительно не разделить покупателей на группы-кластеры по характеру приобретаемых товаров, то отсутствие интереса к мясу у вегетарианцев действительно покажется открытием...

Все приведенные выше формы представления знаний достаточно просты для понимания их человеком. Более экзотичны и почти совсем непригодны к пониманию как раз самые перспективные как с точки зрения эффективности компьютерной реализации, так и по качеству получаемых результатов нейронные сети (НС). Не следует думать, что НС — это только программы (или алгоритмы, чипы и т. д.). Обученная нейронная сеть представляет собой хоть и весьма специфически сформулированное, но достаточно хорошо согласующееся с действительностью знание. Другое дело, что для понимания этого знания надо изучить (и очень хорошо) теорию нейронных сетей и все особенности конкретно используемой реализации. Эти факторы совместно с концепцией «userfriendly» ПО для KDD несколько ограничивают применение очень мощных и современных методов формализации знаний (например, финского SOM — самоорганизующихся карт Self-Organaized Maps).

Разведка и данные...

Классические, заимствованные из математической статистики, знания, формализуемые статистическими методами (регрессионный, факторный и дискриминантный анализы), в KDD-системах не слишком популярны: во-первых, для использования их в практической работе надо быть как минимум хорошо подготовленным специалистом; вовторых, в основной массе «исследований» из области бизнеса ни о какой точности или обоснованности с математической точки зрения речь не идет, здесь главное — здравый смысл и хорошее знание предметной области (а KDD-процедура... так, ведь, каши маслом не испортишь).

В совершенно отдельную категорию можно выделить малоизвестную на Западе полиноминальную форму представления знаний, тщательно проработанную во времена ЕС ЭВМ нашей киевской научной школой под руководством А. Г. Ивахненко. Несмотря на то что метод группового учета аргументов (МГУА) в свои времена использовался для решения задач прогнозирования, с сегодняшней точки зрения он представляет собой весомое слово в технике KDD. К сожалению, автору совершенно неизвестно состояние дел в теории и практике МГУА в настоящее время (правда, существует KDD-программа компании AbTech, в которой используются полиноминальные модели).

Последняя, наиболее общая форма представления знаний об окружающем мире, вполне пригодная к использованию в KDD-системах, относится к смежной научной области — теории идентификации систем (собственно говоря, и МГУА «оттуда родом»). Бурного роста здесь не наблюдается, хотя можно заметить несколько интересных и весьма перспективных разработок (в первую очередь, геометрические методы идентификации). А с точки зрения системотехники, весь процесс KDD и есть решение задачи идентификации некоторой системы с последующим прогнозированием или оптимизацией: сначала мы ищем удачную в определенном смысле модель системы (т. е. знания о ней), затем используем эти знания для совершенствования самой системы.

АРХИТЕКТУРА KDD-СИСТЕМ

Нынешняя популярность идеологии «user-friendly» не дает покоя разработчикам ПО. И несмотря на то что еще никто не придумал user-friendly математики или физики, многие продавцы сложных программных комплексов уверенно утверждают о полной их пригодности к использованию «неквалифицированным специалистом». Такое странное сочетание на деле подразумевает специализацию пользователя в далекой от методических основ инструмента области (например, он может быть специалистом по маркетингу). Насколько это соответствует действительности, автору проверить не удалось: стоимость самых популярных пакетов KDD «зашкаливает» за несколько десятков тысяч фунтов стерлингов. Да, собственно говоря, этого и не требуется: особенности используемого в KDD-области инструментария позволяют с большой степенью уверенности определить архитектуру понастоящему дружелюбной (естественно, в разумных пределах) data mining системы.

Во-первых, основу такой «идеальной программы» должна составлять база знаний, «напичканная» правилами, сформулированными экспертами в области математической статистики. Во-вторых, необходима обширная база данных программных модулей, обеспечивающих выполнение «атомарных» (для общей задачи KDD) операций. В-третьих, возможность управления заданиями со стороны ЭС, иначе говоря, «сборка» из имеющихся в базе данных модулей обработки единой большой задачи, наиболее точно соответствующей запросам пользователя и характеру данных, предъявленных для анализа. В-четвертых, система должна быть открытой: наука не стоит на месте, новые методы появляются чуть ли не каждый день, пополняя как базу данных модулей, так и основную базу знаний, управляющую всей работой ЭС. В принципе, таких возможностей более чем достаточно. Остальное можно считать нюансами. Интегративные характеристики, такие, как способность работы с SQL (или ODBC) базами данных, несомненно важны, но... Всегда легче решить задачу загрузки файлов из СУБД в такую программу, чем потратить несколько лет на углубленное изучение математической статистики.

Отдельный и важнейший элемент архитектуры KDDсистем — визуализация. Здесь нет готовых рецептов вообще. Данные, с которыми работает исследователь в ходе KDD-процесса, обычно многомерны, а отображение объектов из пространств с размерностью свыше трех до сих пор остается больше искусством, чем технологией.

KDT

Наряду с базами данных, которые предусматривают понятие упорядоченности и структуры, существуют громадные информационные массивы, содержащие неструктурированную, но весьма ценную информацию. Речь идет о текстах, рисунках, фотографиях... Как быть с ними? Сам характер информации здесь существенно отличается от KDD. Легче оперировать записью базы данных, хранящей возраст в виде цифры (например, 35), чем высказыванием «мужчина в расцвете сил». Техника KDT (Knowledge Discovering in Text — поиск знаний в тексте) находится, можно сказать, в зачаточном состоянии: ведь программы, оперирующие естественным языком, должны понимать смысл (семантику) текста, а с этим трудно. В основном, все реализации KDT-систем основываются на расширенных методах поиска подстроки в тексте. Некоторые из них даже способны анализировать строку-запрос, пытаясь «понять» ее семантику, и на основе этого анализа построить из семантически допустимых синонимов альтернативный запрос, увеличивающий информативность поиска.

Во всем этом ничего сложного нет. Повозившись пару дней с бесплатными программами WordNet (семантическая сеть, содержащая более 100 тыс. слов английского языка и связывающая их отношениями «синоним», «антоним» и т. д.) и не более дорогостоящей Managing Gygabytes (система быстрого полноиндексного доступа к компрессированным файлам текстового или графического содержания), любой желающий может добиться просто удивительных результатов. Подобный «гибрид» очень помогает тем, кто правильно не доверяет мнимому постоянству Internet и предпочитает хранить на диске не ссылки, а небольшие «зеркала» заинтересовавших сайтов.

ИНСТРУМЕНТАРИЙ И КОМПАНИИ

Судя по всем доступным автору информационным источникам, явным лидером среди KDD-систем является английский комплекс именем Clementine. Стоимость его превышает 35 тыс. фунтов стерлингов, что для наших условий, мягко говоря, «избыточно». Не отстает от лидера и заслуженный претендент на лавры первенства институт-компания SAS: ее EnterpriseMiner стоит порядка 80 тыс. долл. в год (аренда лицензии на 5 пользователей). Следует заметить, что, несмотря на очень высокую стоимость, для по-настоящему серьезных заказчиков SAS представляет особый интерес: это не просто фирма, а уважаемое научное заведение (если задача KDD сложна, то без помощи ученых ее, увы, не решить). В четверку лидеров также входит программный комплекс K.wiz, опять же британской разработки (и опять же с безумной стоимостью лицензии — 100 тыс. долл.), и кажущийся уже совсем недорогим DARWIN (75 тыс. долл. за однопроцессорную серверную инсталляцию плюс 2 тыс. долл. за каждую клиентскую программу).

Разведка и данные...

Если все это вас не вдохновило, расстраиваться не стоит.

Можно попробовать бесплатную графическую систему Weka, написанную на Java и хорошо работающую на любых платформах. Weka может выполнить роль как отличной «учебной парты» (она включает реализацию практически всех необходимых для полноценной KDD-системы алгоритмов), так и успешно справиться с достаточно серьезными задачами (это уже зависит от квалификации использующего ее специалиста). К сожалению, Weka не соответствует приведенной выше архитектуре «идеальной системы» KDD и, несмотря на всю дружелюбность GUI, требует хотя бы знаний математической статистики в объеме курса обычного технического вуза.

НЕПРИКОСНОВЕННОСТЬ

Страсть менеджеров отделов сбыта к объявлению панацеей той или иной технической новинки — явление, не требующее доказательств. Хорошо еще, что жизнь имеет свойство расставлять все на свои места. Или имела это свойство?

Бум data-warehouse (хранилищ данных), дополненный «кривым» использованием KDD-технологии, может привести к весьма неприятным последствиям. Противная мелочь — рекламный спам, заваливающий «почтовый ящик» совершенно неинтересным информационным «мусором» (просто кто-то неумело построил классификатор посетителей какого-то торгового сайта, где был случайно куплен компакт-диск), — может перерасти в неприятность, если классификатор вдруг отнесет вас к категории сексуальных меньшинств... Но когда за KDD возьмутся серьезно силовые структуры (а это неизбежно), подобные мелочи будут вызывать только улыбку и ностальгическое воспоминание «о добрых старых временах».


Вы можете подписаться на наш Telegram-канал для получения наиболее интересной информации

+44
голоса

Напечатать Отправить другу

Читайте также

Всё примерно так и "работает" сейчас. Прочитал и, в очередной раз, пожалел, что судьба не свела нас в начале 2000-х на професиональном поприще. Институт математики, на ст. "М" им. Ленина,- давал мне тогда гораздо больше чем, просто доступ к ЕС1840, "Правец" и "Нейрон". Там, в тёмных кабинетах, встречались самые настоящие гении, которые, между расчётами траекторий советских спутников, рисовали бесконечно красивые аттракторы. Жаль, что осознать это я смог только много лет спустя.

"AltaVista непременно сыграет злую шутку — баннер «с пятью крестами» гарантирован"

AltaVista помню.
А вот что это за баннер «с пятью крестами»...

три "икса"+крест на репутации+крест на безлимитном интернете, на то время. Примерно так. ИМХО.

Спасибо!
Я с таким подходом не сталкивался.

 
 
Реклама

  •  Home  •  Рынок  •  ИТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Сети  •  Безопасность  •  Наука  •  IoT