Продукты
PolyAnalyst – новинка Data Mining
Валерий Вегеле
Российской компанией "Мегапьютер Интеллидженс" разработана система машинного извлечения знаний (Machine Knowledge Discovery System) PolyAnalyst v. 2.0 для OS/2 Warp.
Хранилищам данных (Data Warehouse) и проблемам переработки данных был посвящен специальный номер "Компьютерры" (#120). В наши дни проблема выявления скрытых в массивах данных закономерностей стала очень актуальной и все чаще заставляет переходить от метафорических рассуждений об "искусственном" интеллекте к созданию действительно интеллектуального инструментария. Так, например, IBM объявила о планах выпуска Intelligent Decision Server – мощной системы класса Data Mining.
PolyAnalyst (PA) – это не очередной "инновационный" статистический пакет, а действительно новая система класса Data Mining (DM), разработанная на основе технологий искусственного интеллекта. Знакомство с PolyAnalyst оставляет хорошее впечатление. Пакет вполне подходит на роль "автоматического аналитика".
Многие программы такого рода, базировавшиеся на нейронных сетях, могли бы быть "обучены" продуцированию знаний из имеющихся данных, однако не могли объяснить эксперту результат своего труда. Стоит ли напоминать, что объясняющая подсистема до сих пор рассматривается в качестве одной из важнейших в области искусственного интеллекта. Poly-Analyst позволяет представить обнаруженные закономерности в символической форме – как математические формулы, таблицы предсказаний, структурные законы и алгоритмы. То есть – в форме, которая естественна и удобна для понимания. Иными словами, PoiyAnalyst не только "открывает" знания, но и объясняет их.
Самое интересное – это то, как PolyAnalyst ищет скрытые в данных закономерности.
Прежде всего оговоримся: вскрывает закономерности именно программа, а не пользователь – и это главное отличие от статистических методов, где функциональную зависимость задает пользователь, а программа лишь подбирает параметры. В PolyAnalyst от пользователя требуется указать лишь зависимую переменную. Роль переменных выполняют поля баз данных, а вид зависимости "подсказывают" сами данные. Интересно, что извлекаемые функции могут не содержать некоторых переменных.
Время поиска, естественно, зависит не только от исходных данных, но и от вычислительной мощности используемого компьютера.

Центральный пункт программы – раздел Explore, где предлагаются на выбор три варианта автоматического исследования: анализ данных на существование взаимозависимости, построение многопараметрической линейной регрессии и поиск взаимозависимостей в данных, представление их в символьной форме.
В первом случае работает модуль предварительной обработки данных, который существенно сужает пространство поиска, отбрасывая малозначимые точки и оценивая наилучшую точность для порождаемых многомерных зависимостей (в специальной терминологии это именуется препроцессором данных по обнаружению функционально-связанных кластеров в массивах данных, фильтрации шума и случайных выбросов).
Если удается установить взаимозависимость, даже слабую, об этом будет сделано сообщение с указанием статистических характеристик, визуализацией значимой области и выпавших точек. Конечно, те или иные оценки всегда относительны и зависят от избранного критерия. В PolyAnalyst критерий значимости является фирменной разработкой, а близость оценивается классической суммой наименьших квадратов отклонений.
Построение линейной многомерной зависимости специально выделено в отдельную задачу. Какая бы зависимость в общем случае ни обнаружилась, всегда полезно иметь под рукой наиболее простую.
На третьем уровне пакет демонстрирует всю свою мощь, выпуская – как джина из бутылки – запатентованную технологию Core PolyAnalyst (ядро системы), которая, являясь интеллектуальным программером, автоматически порождает и отбрасывает различные гипотезы о взаимозависимости в данных в форме функциональных процедур (программ объемом до 4 Кбайт).
Ядро не нуждается ни в каких предположениях о форме гипотез: они строятся автоматически, как бы сложны они ни были. Генерируемые зависимости охватывают широкий класс функций: степенные, показательные, тригонометрические и их комбинации, составные "если...то", а также алгоритмы. Если предложенных средств оказывается недостаточно, класс может быть расширен, можно добавить любую экзотическую программируемую функцию – например, функцию Якоби.
Рабочая среда PolyAnalyst предоставляет пользователю объектно-ориентированный испытательный полигон для написания сценария и проведения исследования. Вся информация представлена в виде объектов нескольких классов. Гибкие и интуитивные операции на этих объектах позволяют создавать и модифицировать данные по желанию пользователя, работать как с таблицами, так и с различными типами графиков, использовать иерархию объектов.
PolyAnalyst поставляется в двух вариантах – индивидуальном и клиент-серверном. Для уменьшения времени исследования один клиент может одновременно работать с несколькими PolyAnalyst-серверами. Кстати, ориентация OS/2 Warp на параллельные вычисления сыграла свою роль в выборе платформы для системы. В стадии завершения находится клиент PolyAnalyst для MS Windows.
Для использования индивидуальной версии системы достаточно нынешнего аппаратного минимума – 486DX-66,8 Мбайт памяти и 10 Мбайт на диске.
Чтобы довести пакет до уровня серьезного инструмента, команде аналитиков и программистов потребовалось несколько лет исследований с регулярным апробированием наработок на реальных задачах, а не на "шуточных тестах". Что же касается практического применения, то судьба продукта напрямую зависит от расширения практики использования хранилищ данных и роста потребностей в Data Mining. Сегодня в числе пользователей системы – банки, медицинские и правительственные учреждения, исследовательские организации в России, США, Швеции, Англии и Германии.
Телефон фирмы "Мегапьютер": 485.93.54