Компьютер-Информ || Архив || Рубрики || Поиск || Подписка || Работа || О "КИ" || Карта
Сергей Миронов,
mironov@basegroup.ru
http://www.basegroup.ru
Cовременному бизнесу необходимы аналитические средства. Потребность постоянно уменьшать издержки производства, оптимизировать складские запасы, исследовать рынок и прогнозировать его развитие поддерживают интерес к подобным технологиям. На Западе без консультации с аналитиками не решается ни один серьезный вопрос. У нас же из-за того, что в течение длительного времени даже статистика должна была соответствовать идеологии, к аналитическим технологиям относятся так же скептически, как к гадалкам. И эта точка зрения в некотором смысле справедлива, потому что во многих областях четкие алгоритмы мирно сосуществуют с интуитивными догадками. Однако правильное использование современных аналитических инструментов может дать хорошие результаты, поэтому в последнее время интерес к разработкам в этой области проявляют и российские компании, желающие повысить свои показатели.
Проблема, однако, заключается в том, что большая часть аналитического инструментария
рассчитана на крупные корпорации и стоит баснословных денег. Как правило, это
специализированные технологии, поддерживающие работу с огромными массивами данных
и требовательные к аппаратной платформе. Для малого и среднего бизнеса практически
ничего нет, хотя потребность в анализе они также испытывают. Требования к подобным
системам продиктованы здравым смыслом: реализация современных механизмов анализа
данных, способность работать с выборками в сотни тысяч записей, интеграция с
офисными приложениями, стабильная работа на офисных ПК, возможность использования
для анализа данных из разнородных источников, доступная цена, простота использования.
Именно эти предпосылки мы брали за основу при создании аналитического пакета
Deductor.
Пакет состоит из пяти приложений.
1.Cube Analyzer настольный OLAP-модуль (многомерный анализ данных).
2.RawData Analyzer система, ориентированная на предобработку данных
(предобработка
и очистка данных для последующего анализа при помощи других инструментов).
3.Neural Analyzer многослойные нейронные сети (прогнозирование, классификация,
моделирование).
4.SOMap Analyzer система анализа на основе самоорганизующихся карт
(кластеризация, визуализация, поиск закономерностей).
5.Tree Analyzer деревья решений (извлечение правил, классификация,
поиск закономерностей).
Разумеется, аналитическая система это всего лишь инструмент. Сам по себе
он не гарантирует получение результата. Для того чтобы получить пользу, им,
как и любым инструментарием вообще, нужно уметь правильно пользоваться. Однако
приведенный выше набор приложений покрывает практически все потребности в анализе
данных на среднем предприятии, причем, комбинируя результаты различных приложений,
мы можем добиться глубокого и всестороннего анализа. Мы старались сделать наши
инструменты по возможности простыми в использовании, цена пакета не отпугнет
даже небольшие фирмы. Все желающие могут опробовать бесплатную Lite-версию,
доступную на сайте http://www.basegroup.ru.
Цель данной статьи дать краткое описание пакета, вошедших в него аналитических
инструментов, математического аппарата, на котором они основаны, и ознакомить
читателей с реальными ситуациями, где они нашли свое применение.
На вход любого приложения пакета Deductor подается таблица с данными. За процесс
подключения отвечает единый мастер, который поможет настроить подключение к
источнику данных, описать метки полей и выбрать первичный ключ. В качестве источника
данных может выступать таблица в базе данных, текстовый файл с разделителями
или запрос к базе данных.
После того как источник данных настроен, запускается мастер обучения, который
позволяет настроить параметры работы алгоритма. Разумеется, в различных приложениях
мастера обучения отличаются. Когда обучение завершено, пользователь может загрузить
рабочую выборку с данными, которые не участвовали в процессе обучения, и проверить
на них работу алгоритма.
Следует сказать также и о качестве исходных данных. Сильно зашумленные или искаженные данные могут привести к существенному увеличению времени обучения и ухудшению качества анализа. Кроме того, некоторые алгоритмы принципиально не могут работать с записями, в которых пропущены значения некоторых полей. В подобных случаях предобработка исходных данных становится необходимым шагом. Именно для этих целей в пакет включен RawData Analyzer. Технологии, реализованные в нем, позволяют провести весь комплекс предварительной обработки: сглаживание, удаление шумов, редактирование аномальных значений, заполнение пропусков и т.д.
Из всего разнообразия современных аналитических технологий нейронные сети,
пожалуй, самые титулованные. Они давно применяются в различных отраслях человеческой
деятельности.
В общем виде задачи, которые решают нейросети, можно разбить на два основных
вида: классификация и регрессия. В задачах классификации, как правило, нужно
определить, к какому из нескольких заданных классов принадлежит данный входной
набор. Примером может служить предоставление кредита: относится ли данное лицо
к группе высокого или низкого риска.
В задачах регрессии требуется предсказать значение переменной, принимающей,
как правило, непрерывные числовые значения, например, завтрашнюю цену акций.
В этом случае в качестве выходных данных требуется одна числовая переменная.
В наши дни архитектура нейронной сети обратного распространения получила, пожалуй, наиболее широкое распространение и успешно применяется при решении определенного круга задач. Каждый элемент сети обратного распространения, названный персептроном, строит взвешенную сумму своих входов с поправкой в виде слагаемого, затем пропускает эту величину активации через передаточную функцию, и таким образом получается выходное значение этого элемента. Элементы организованы в послойную топологию с прямой передачей сигнала. На этапе обучения полученное значение сравнивается с эталонным, и от выхода к входу распространяется информация, призванная корректировать синаптические веса нейронов в ту или иную сторону, в зависимости от их вклада в результат. Именно поэтому нейронная сеть этого типа называется сетью обратного распространения и относится к типу нейросетей, с управляемым обучением (так называемое обучение с учителем). Такую сеть легко можно интерпретировать как модель вход-выход, в которой свободными параметрами являются синаптические веса и пороговые значения (смещения). Сеть подобной структуры может моделировать функцию практически любой степени сложности, причем количество слоев и элементов в каждом слое определяют сложность функции. Определение числа промежуточных слоев и элементов в каждой из них является важным вопросом при конструировании подобных сетей. К сожалению, до сих пор не выработаны четкие критерии, позволяющие однозначно выбирать конфигурацию нейронной сети обратного распространения, исходя из сложности задачи, но смелые эксперименты дают иногда неожиданные и многообещающие результаты.
В традиционном моделировании можно алгоритмически определить конфигурацию модели, дающую абсолютный минимум для указанной ошибки. Цена, которую приходится платить за более широкие возможности моделирования с помощью нейронных сетей, состоит в том, что, корректируя сеть, мы никогда не можем быть уверены, что нельзя добиться еще меньшей ошибки. Обучение нейронной сети, по сути дела, заключается в исследовании поверхности ошибок. Отталкиваясь от случайной начальной конфигурации весов и порогов (т.е. случайно взятой точки на поверхности ошибок), алгоритм обучения постепенно отыскивает глобальный минимум. Как правило, для этого вычисляется градиент (наклон) поверхности ошибок в данной точке, а затем эта информация используется для продвижения вниз по склону. В конце концов, алгоритм останавливается в нижней точке, которая может оказаться всего лишь локальным минимумом, а если повезет глобальным. Из вышесказанного становится понятно, что из одних и тех же данных нейросети различных конфигураций могут делать различные выводы.
Несмотря на это, при правильном использовании нейронные сети обратного распространения могут стать мощным и надежным помощником всем, кто нуждается в качественном анализе и прогнозировании. Неоспоримыми достоинствами нейросетей являются быстрая приспособляемость к изменениям внешней среды (в этом случае сеть надо дообучить) и возможность учитывать большое количество параметров, влияющих на результат.
Проиллюстрировать все вышесказанное поможет пример реального применения нейронных сетей на практике. В 2000 г. в центре Госсанэпиднадзора Рязанской области нами была введена в эксплуатацию программа прогнозирования объемов заболеваемости опасными вирусными инфекциями на основе нейросетей обратного распространения. Вся работа была проведена на добровольных началах, поэтому мы очень волновались за точность такого прогноза. Ведь подготавливать входную информацию нам помогали врачи, трудное положение которых в наше время общеизвестно. При прогнозировании было решено использовать консилиум из пяти отдельно обученных нейросетей именно из-за нашего желания по возможности минимизировать ошибочные выводы в столь деликатной области. Вот тут-то в полной мере и проявилась замечательная особенность нейросетей обучаться на скудном множестве и при этом выдавать весьма точные прогнозы. Для получения приемлемого результата стандартными статистическими методами эта выборка должна превышать нашу в несколько десятков раз.
В результате была получена система, которая позволяет с высокой степенью точности прогнозировать объем заболеваний и моделировать эпидемиологическую ситуацию с заболеваниями в Рязанской области. Особый ее плюс, который отметили врачи, заключается в возможности следить за влиянием различных факторов на конечный результат (рис. 1).
Самоорганизующиеся карты (Self-Organizing Maps, SOM) одна из разновидностей нейросетевых алгоритмов. Нейронные сети данного типа часто применяются для решения самых различных задач, от восстановления пропусков в данных до анализа и все того же поиска закономерностей.
Важное отличие SOM состоит в большей наглядности и удобстве использования. Если входные данные представляют собой сложную структуру, то разобраться в ней, а уж тем более найти взаимосвязь между различными элементами не всегда представляется возможным. Применив алгоритм, предложенный финским ученым Тейво Кохоненом, мы можем упростить многомерную структуру, которую, в силу ограниченности нашего сознания, мы и представить-то не в силах. Следовательно, SOM можно считать одним из методов проецирования многомерного пространства в пространство с более низкой размерностью. Обычно это двумерная карта, легко представимая на мониторе, имеющая цветную раскраску. Интенсивность цвета в определенной точке зависит от данных, которые туда попали: ячейки, в которые попали элементы с минимальными значениями или не попало вообще ни одной записи, будут изображены синим цветом, а ячейки с максимальными значениями будут окрашены в красный.
Другое отличие, делающее сеть Кохонена непохожей на все другие типы нейросетей, принципиально иной подход к обучению: в то время как все остальные сети предназначены для задач с управляемым процессом обучения, сети Кохонена главным образом рассчитаны на неуправляемое. При управляемом обучении наблюдения, составляющие обучающие данные, вместе с входными переменными содержат также и соответствующие им выходные значения, и сеть должна восстановить отображение, переводящее первые во вторые. В случае же неуправляемого обучения обучающие данные содержат только значения входных переменных. На первый взгляд это кажется странным. Как сеть может чему-то научиться, не имея выходных значений? Ответ заключается в том, что сеть Кохонена учится понимать саму структуру данных. Именно поэтому данный тип нейросетей успешно справляется с задачами классификации.
Сеть Кохонена имеет всего два слоя: входной и выходной, составленные из радиальных элементов (выходной слой также называют слоем топологической карты). Элементы топологической карты располагаются в некотором пространстве, как правило, двумерном. Обучается сеть методом последовательных приближений (в нейросетевой терминологии одна итерация называется эпохой). Свойство топологической упорядоченности достигается в алгоритме с помощью дополнительного использования понятия окрестности. Окрестность это несколько нейронов, окружающих выигравший нейрон. Подобно скорости обучения, размер окрестности убывает со временем. Результатом такого обучения является то, что изначально довольно большие участки сети перетягиваются в сторону обучающих примеров. Сеть формирует грубую структуру топологического порядка, при которой похожие наблюдения активируют группы близко лежащих нейронов на топологической карте. С каждой новой эпохой скорость обучения и размер окрестности уменьшаются, выявляя все более тонкие различия внутри участков карты, что, в конце концов, приводит к тонкой настройке каждого нейрона.
В результате итеративной процедуры обучения сеть организуется таким образом, что элементы, соответствующие центрам, расположенным близко друг от друга в пространстве входов, будут располагаться близко друг от друга и на топологической карте. Вообще же идея сети Кохонена возникла по аналогии с известным свойством человеческого мозга: кора головного мозга представляет собой большой плоский лист площадью около 0,5 м2 (разумеется, в черепе она свернута складками), на который непрерывно проецируется изображение всего человеческого тела. Например, участок, ответственный за кисть руки, примыкает к участку, отвечающему за движение всей руки, и т.д.
В качестве примера, который поможет все это осознать, возьмем анализ эффективности вложений в рекламу, проведенный с помощью самоорганизующихся карт. Это, возможно, одна из самых запутанных задач, потому как приходится учитывать большое количество параметров. Исходными данными для анализа послужили результаты маркетингового исследования в Рязани. Судя по полученному результату, ни одна группа опрошенных не упоминает подавляющее большинство СМИ в качестве перспективных для рекламы. Можно еще сделать вывод о том, что рынок явно перегружен печатными СМИ, т.к. около 70% газет и журналов аутсайдеры. Среди радио и телевидения соотношение намного лучше аутсайдеров около 30%. На рынке, в целом, уже определились лидеры. Это НТВ*, Русское радио, Европа+, в меньшей степени Вечерняя Рязань и Мещерская сторона. Как ни странно, ОРТ в лидерах нет. Все вышеперечисленные факты хорошо иллюстрирует рис.2.
Довольно странно, что мнения рекламодателей и респондентов кардинально отличаются
друг от друга. На лидеров рынка рекламодатели особого внимания не обращают,
в результате чего НТВ, Мещерская сторона и Европа+ явно недооценены. Рекламодатели
высоко ценят газеты, бесплатно распространяемые по офисам и квартирам (Ва-банкъ,
Экстра-офис), а респонденты нет. Таким образом, налицо парадоксальная ситуация,
когда рекламодатели переводят деньги на издания, которым давно уже стоило перейти
на печать на мягкой бумаге в рулонах. Скорее всего, здесь срабатывает стадный
инстинкт: Раз все дают туда рекламу, значит выгодно. Рекламные же издания
вовсю пользуются сложившейся ситуацией (рис. 3).
На рисунке хорошо видны различия в высказываниях рекламодателей и людей, для
которых эта реклама предназначена: лучшие, с точки зрения рекламы, СМИ размещены
у двух групп в разных углах.
Разумеется, анализ данных при помощи SOM во многом субъективен и не может удовлетворить в случаях, когда требуется беспристрастный подход, поэтому самоорганизующиеся карты применяются, как правило, на начальном этапе для того, чтобы понять структуру данных. Однако после непродолжительной работы с ними ловишь себя на том, что читать разноцветные карты так же просто, как текст.
Несмотря на то, что базовые концепции метода автоматического анализа данных оформились в середине XX в., до сих пор деревья решений применяются гораздо реже, чем они того заслуживают.
Деревья решений это способ представления правил в иерархической, последовательной структуре, где каждому объекту соответствует единственный узел, дающий решение. Под правилом понимается логическая конструкция, представленная в виде если ... то . Наиболее близкая аналогия деревьев решений дерево каталогов, отображаемое, например, проводником Windows. Каталоги в данном случае будут соответствовать узлам (условие если), а файлы листьям (ветвь то).
Для построения дерева на вход алгоритма подается некоторое обучающее множество, содержащее объекты (примеры), характеризуемые атрибутами, один из которых указывает на принадлежность объекта к определенному классу. Далее алгоритм пытается выработать общие критерии для объектов одного класса. В том случае, если обучающее множество содержит один или более примеров, относящихся к одному классу, деревом решений будет лист, определяющий данный класс. Если же обучающее множество содержит примеры, относящиеся к разным классам, следует разбить его на некоторые подмножества. Для этого выбирается один из атрибутов, имеющий два и более отличных друг от друга значений.
После разбиения каждое подмножество будет содержать все примеры, имеющие одно из значений для выбранного атрибута. Эта процедура будет рекурсивно продолжаться до тех пор, пока конечное множество не будет состоять из примеров, относящихся к одному и тому же классу.
Очевидно, что при использовании данной методики, построение дерева решений будет происходить сверху вниз. Данный алгоритм является жадным: если один раз был выбран атрибут и по нему было произведено разбиение на подмножества, то алгоритм не может вернуться назад и выбрать другой атрибут, который дал бы лучшее разбиение. И поэтому на этапе построения нельзя сказать, даст ли выбранный атрибут в конечном итоге оптимальное разбиение.
Очень часто алгоритмы построения деревьев решений дают сложные деревья, которые
переполнены данными, имеют много узлов и ветвей. Такие ветвистые деревья
очень трудно понять. К тому же ветвистое дерево, имеющее много узлов, разбивает
обучающее множество на все большее количество подмножеств, состоящих из все
меньшего количества объектов. Ценность правила, справедливого для 2-3 объектов,
крайне низка, и для анализа данных такое правило практически непригодно. Гораздо
предпочтительнее иметь дерево, состоящее из малого количества узлов, которым
бы соответствовало большое количество объектов из обучающей выборки. Для решения
этой проблемы часто применяется отсечение ветвей. Упрощая уже построенное дерево,
мы отсекаем или заменяем поддеревом те ветви, которые не приведут к возрастанию
ошибки, т.е. неправильной классификации примеров.
В большинстве практических задач эта методика дает хорошие результаты, что позволяет
говорить о правомерности ее использования. Иногда даже усеченные деревья могут
быть все еще сложны для восприятия. В таком случае можно прибегнуть к методике
извлечения из дерева правил, описывающих классы.
Среди неоспоримых достоинств деревьев решений можно выделить быстрый процесс
обучения, извлечение правил в областях, где эксперту трудно формализовать свои
знания, интуитивно понятную классификационную модель, высокую точность классификации,
построение непараметрических моделей. В силу этих и многих других причин деревья
решений являются важным инструментом в работе каждого специалиста, занимающегося
анализом данных.
К сожалению, до сих пор не исследованы еще многие потенциальные области применения.
В качестве примера, иллюстрирующего возможности деревьев решений, можно рассмотреть классическую задачу классификации ирисы Фишера. Имеются данные измерений для 150 экземпляров ирисов, в равных частях (по 50 штук) принадлежащих к трем видам (setosa, versicolor, virginica). Для каждого экземпляра ириса известны 4 величины: длина и ширина чашелистика, длина и ширина лепестка. Наша задача выработать критерии, по которым можно различить три вида. И вот результат(рис. 4).
В данном случае мы получили четыре булевские конструкции, которые можно использовать в языках программирования высокого уровня. Деление на классы получилось четким и однозначным, хотя не обошлось без ошибки: 4 примера были неверно распознаны. Это небольшая погрешность; она вполне допустима, если учесть, что для построения данного дерева алгоритму понадобилось всего лишь несколько секунд (!).
Рубрики || Работа
|| Услуги || Поиск
|| Архив || Дни
рождения
О "КИ" || График
выхода || Карта сайта || Подписка
Рассылка анонсов газеты по электронной почте
Сайт газеты "Компьютер-Информ" является зарегистрированным электронным СМИ.
Свидетельство Эл 77-4461 от 2 апреля 2001 г.
Перепечатка материалов
без письменного согласия редакции запрещена.
При использовании материалов газеты в Интернет гиперссылка обязательна.
Телефон редакции (812) 718-6666, 718-6555.
Адрес: 196084, СПб, ул.Заставская, д.23, БЦ "Авиатор", 3-й этаж, офис 307
e-mail: editor@ci.ru
Для пресс-релизов и новостей news@ci.ru