УДК 004.7; 004.8; 007.85 Н.В. ГОЛОВИЙ
РАЗРАБОТКА И ИССЛЕДОВАНИЕ БАЗЫ ДАННЫХ И БАЗЫ ЗНАНИЙ ДЛЯ ПРИНЯТИЯ РЕШЕНИЙ В ИНФОРМАЦИОННОЙ СИСТЕМЕ ОБСЛУЖИВАНИЯ БАНКОМАТОВ
Предлагается способ извлечения скрытых знаний и построение базы знаний информационной системы в сфере сервисного обслуживания банкоматов на основе нейросетевого подхода. Описывается функциональная структура инструментального программного средства для извлечения знаний.
1. Введение
В настоящее время сети банкоматов и платежных киосков достигают огромных размеров. Тенденция развития таких сетей говорит о том, что в ближайшее время парк банкоматов и платежных киосков будет возрастать. С увеличением размеров сети самообслуживания остро возникает вопрос сопровождения. Уменьшение времени простоя, а значит обеспечение доступности банкомата - одна из главных задач сопровождения. Уменьшить время реакции можно снижением нагрузки на персонал, что возможно путем создания единого центра мониторинга, консолидирующего в своем составе данные о работе сети самообслуживания из различных автоматизированных систем.
Несмотря на то, что в последнее время появилось множество различных коммерческих систем, в той или иной мере использующих методы Data Mining, проблема применения баз данных (БД) как дополнительного источника знаний при построении баз знаний (БЗ) интегрированных экспертных систем (ИЭС) по-прежнему остается актуальной.
Это обусловлено сложностью стыковки двух различных технологий - извлечения знаний из баз данных и традиционной инженерии знаний, применяющей в качестве основного источника знаний эксперта (или экспертов). При использовании БД как дополнительного источника знаний при построении БЗ информационной системы возникает ряд проблем, начиная от формирования выборки для анализа и заканчивая верификацией полученных фрагментов БЗ.
2. Обнаружение знаний в данных
Процесс поиска полезных знаний в " сырых" данных включает в себя вопросы: подготовки данных, выбора информативных признаков, очистки данных, применения методов Data Mining (DM), постобработки данных и интерпретации полученных результатов. Безусловно, "сердцем" всего этого процесса являются методы DM, позволяющие обнаруживать знания.
Этими знаниями могут быть правила, описывающие связи между свойствами данных (деревья решений), часто встречающиеся шаблоны (ассоциативные правила), а также результаты классификации (нейронные сети) и кластеризации данных (карты Кохонена) и т. д.
Процесс извлечения знаний состоит из нескольких шагов:
Подготовка исходного набора данных. Этот этап заключается в создании набора данных, в том числе из различных источников, выбора обучающей выборки и т. д. Для этого должны существовать развитые инструменты доступа к различным источникам данных. Желательно иметь поддержку работы с хранилищами данных и наличие семантического слоя, позволяющего использовать для подготовки исходных данных не технические термины, а бизнес понятия.
Предобработка данных. Для того чтобы эффективно применять методы Data Mining, следует обратить внимание на вопросы предобработки данных. Данные могут содержать пропуски, шумы, аномальные значения и т. д. Кроме того, данные могут быть избыточны, недостаточны и т. д. В некоторых задачах требуется дополнить данные некоторой априорной информацией. Наивно предполагать, что если подать данные на вход системы в
существующем виде, то на выходе получим полезные знания. Данные должны быть качественны и корректны с точки зрения используемого метода DM. Более того, иногда размерность исходного пространства может быть очень большой, и тогда желательно применять специальные алгоритмы понижения размерности. Это как отбор значимых признаков, так и отображение данных в пространство меньшей размерности.
Трансформация, нормализация данных. Трансформация подразумевает оптимизацию данных для решения определенной задачи. Обычно на этом этапе выполняется исключение незначащих факторов, снижение размерности входных данных, нормализация, обогащение и другие преобразования, позволяющие лучше «приспособить» данные к решению аналитической задачи.
Data Mining. На этом шаге применяются различные алгоритмы для нахождения знаний. Это нейронные сети, деревья решений, алгоритмы кластеризации, установление ассоциаций и т. д.
Постобработка данных. Интерпретация результатов и применение полученных знаний в бизнес-приложениях.
3. Структура БД
Исследуемая задача характеризуется следующими факторами:
- неопределенность - при этом информация, необходимая для принятия решений, по большей части носит качественный характер;
- многокритериальность, причем исследуемые критерии представлены в различных шкалах измерений (интервальная, номинальная, порядковая);
- необходимость одновременного учета как количественных, так и качественных критериев оценки альтернатив;
- необходимость согласования групповых мнений экспертов;
- многоуровневость системы частных (локальных) критериев и их неравнозначность (критерии вносят различный вклад в интегральную оценку альтернативы);
- многократность процесса выбора;
- совместимость объективных и субъективных характеристик элементов задачи.
Разработанный комплекс моделей (функциональная, процессная, информационная) позволил получить полную и наглядную информацию об исследуемой предметной области, разработать структуру базы знаний и структуру разрабатываемой системы, определить требования к программному и аппаратному обеспечению систем. При этом информационная модель является логической структурой БД, а функциональная и процессная модель -основой для проектирования структуры БЗ.
В исследованиях использовалась база данных, структура которой разрабатывалась и оптимизировалась для компании, занимающейся сервисным обслуживанием банкоматов в процессе проведения описываемых исследований. Она охватывает основные, с точки зрения экспертной оценки, блоки принимающие участие в процессе:
- описание устройств и их атрибутов - это банкоматы и их основные характеристики, имеющие значение в процессе обслуживания;
- описание клиентской базы - это клиенты компании, соглашения о сервисе, данные о поставках и инсталляциях банкоматов;
- описание инженерного состава - это инженеры компании, которые реализуют обслуживание банкоматов, их квалификация, региональное распределение;
- описание процесса обслуживания - это заявки на выполнение работ, отчеты о выполненных работах, состояние устройств.
В результате исследования БД и проведенного статистического анализа [8] были выявлены основные показатели каждого из блоков, имеющие достаточное для предмета исследование значение. К ним относятся - долгосрочность банкоматов, их работоспособность, регламент проведения работ, среда функционирования устройств, загруженность специалистов, надежность сети.
4. Подсистема извлечения знаний
Автоматизация извлечения знаний из баз данных должна учитывать следующую специфику:
1. Данные имеют практически неограниченный объём.
2. В большинстве случаев данные являются числовыми, а если они качественные или текстовые, то для их обработки все равно используются количественные методы.
3. Извлеченные знания должны быть конкретны и понятны пользователю.
4. Инструменты обнаружения знаний должны быть просты в использовании и работать при наличии «сырых» данных.
В результате проведенных исследований для извлечения знаний предлагается двухэтап-ный метод с использованием нейронной сети и нечеткого интерпретатора. На первом этапе «сырые» данные обрабатываются нейронной сетью, которая в неявном виде формулирует скрытые закономерности. На втором этапе полученные знания извлекает, верифицирует и формулирует в лингвистической форме нечеткий интерпретатор.
а) Существующие модели и методы извлечения знаний
Первоначально основным инструментом анализа данных были классические методы математической статистики. Но современного пользователя все реже и реже удовлетворяют результаты статистического анализа, используемого для обобщения и интерпретации искомых закономерностей в явном виде y = f(x), существующих между зависимой переменной y и m-мерным вектором x = (x, ..., xm) независимых переменных. В известной степени это обусловлено тем, что в рамках статистического подхода требуется, чтобы были приняты гипотезы об однородности имеющихся данных, взаимной независимости переменных и т. д. Пользователь должен знать основные понятия и положения математической статистики для того, чтобы с их помощью интерпретировать интересующие его закономерности. Методы математической статистики оказались полезными главным образом для проверки заранее сформулированных гипотез (verification-driven data mining) и для "грубого" предварительного анализа, составляющего основу оперативной аналитической обработки данных (online analytical processing, OLAP) [8].
В основу современных методов технологии Data Mining (discovery-driven data mining) [3] положена концепция шаблонов, отражающих фрагменты многоаспектных взаимоотношений в данных. Эти шаблоны представляют собой закономерности, найденные путем кластеризации. Для кластеризации необходима предварительная «очистка» данных, которая проводится известными в статистике методами сглаживания. Далее проводится анализ выявленных признаков на информативность. Выявленные закономерности в числовом формате подлежат верификации стандартными статистическими методами. На последнем этапе скрытые знания формируются в виде деревьев решений и сохраняются в базе знаний в форме продукционных правил.
Анализ задачи показывает, что практически идеальным средством для извлечения знаний из баз числовых данных являются нейронные сети. Исследования аппроксимирующих свойств нейронных сетей показывают, что они способны выявлять скрытые закономерности автоматически, без предварительной обработки данных и без выяснения степени взаимной корреляции входных переменных [4].
С формальной точки зрения нейронная сеть представляет собой универсальную аппроксимирующую модель в виде графа. Моделируя реальный объект, такой граф способен путем обучения повышать свою адекватность этому объекту за счет модификации весов межэлементных связей. Именно наличие формальных методик обучения (при условии существования обучающей выборки в виде экспериментальных пар «входы-выходы») является главным преимуществом нейронных сетей.
Важным преимуществом нейронных сетей является также то, что разработка экспертных систем, основанных на правилах, требует 12...18 месяцев, а нейросетевых - от нескольких недель до месяцев [5]. Однако в качестве средства извлечения знаний нейронные сети имеют определенные недостатки:
- весовые коэффициенты межнейронных связей обученной нейронной сети не подлежат ясной и содержательной интерпретации;
- на сегодняшний день модели нейронных сетей, использующих качественные входы, развиты недостаточно, чтобы успешно моделировать сложные объекты;
- градиентный метод, который традиционно применяется для обучения нейронной сети, не всегда дает возможность достичь глобального минимума в различении модельных и экспериментальных значений выхода.
54
Последний недостаток устраняется использованием эволюционных методов настройки весовых коэффициентов сети.
Для извлечения знаний могут применяться также нечеткие системы логического вывода. В работе [5] предлагается метод построения нечетких БЗ путем их извлечения из данных эксперимента. В описываемом методе используется нейронечеткая сеть, которая адаптируется к исследуемому объекту путём оптимизации значений параметров функций принадлежности входных переменных и значений весовых коэффициентов, нечетких правил.
Для поиска оптимальных значений указанных параметров используется генетический алгоритм. Однако для построения нейронечеткой экспертной системы требуется предварительно заполнить базу знаний правилами, т. е. создать прототип системы, который дообу-чается путем параметрической оптимизации. Если априорные формулировки правил отсутствуют, то данный метод неприменим.
В книге [6] со ссылкой на работу [7] описывается простой метод извлечения лингвистических знаний из «сырых» числовых данных при помощи нечеткой интерпретации скрытых закономерностей. Применяя формализм теории нечетких множеств, метод можно описать следующим образом:
1. Для каждой входной и выходной переменной уточняется диапазон допустимых значений:
Х1 =[Х1,Х] ^[у^ 1 (1)
В результате проведенного статистического анализа к входным переменным мы отнесли:
- долгосрочность: срок службы, наработка, новизна;
- работоспособность: время в ремонте, время неисправности;
- регламент проведения работ: время реакции, время выполнения;
- среду функционирования: показатели напряжения, заземления;
- загруженность специалистов: количество банкоматов, количество инженеров;
к выходным:
- надежность сети: количество отказов, количество просроченных работ и количество замен запчастей.
2. Каждая переменная получает лингвистическую интерпретацию, и диапазон её изменения разбивается на нечеткие интервалы, обозначенные термами:
- терм-множество переменной Х1:
А1 = {а11,а12,...,а111},1 = й; (2)
- терм-множество переменной у :
Б = {сМ2,...,ат}. (3)
Здесь а;р- р-й лингвистический терм переменной Х1;р = 1,1,1 = 1,п, С - _)-й лингвистический терм переменной у; т - число различных решений в рассматриваемой области.
Мощности терм-множеств А1, 1 = 1,п в общем случае могут быть различны, т.е. 11 * 12 * ... * 1т .
На примере переменной - «срок службы» определяем терм-множество А1:
А1 = {а11,а12,...,а111},1 = ¡Я (4)
где а 11 - бессрочный - если изготовитель не установил срок службы; а 12 - минимальный
- до 12 месяцев; а13 - средний - от 12 до 36 месяцев; а14 - максимальный - от 36
месяцев.
Получаем
А1 = {бессрочный, минимальный, средний, максимальный} . (5)
3. Каждый нечеткий интервал снабжается функцией принадлежности. Тогда нечеткие множества а;р и ^ определим так:
a? = Ek=iцa' (x1k)/x1k,di =Eq=mц"J(yr)/yr , (6)
aP k k
где ц i (xk) - степень принадлежности элемента Xi e xi терму
a? e Ai,p = 1,l,i = 1,n,k = 1,qi,; цdj (yr) - степень принадлежности элемента yr e Y терму-решению dj e D, j = 1,m .
4. Числовые данные группируются в виде пар «вход-выход»: (Xl,yl),l = 1,...M, где X1 = (Xl1,Xl2,...Xln) " входной вектор и соответствующее значение выходной переменной
y1 для 1-й пары «вход-выход», y1 e yi, yj
5. Для каждой пары «вход-выход» вычисляются значения функций принадлежности
ap k dW * * * \
ц i (xk) вектора X и ц J (X1 ,X2,...,xn) для всех нечетких интервалов, на которые разбит диапазон допустимых значений [yi, y j ] выходной переменной у.
6. Для каждой входной переменной x ik отыскивается терм a ip , для которого функция принадлежности цai (x1) имеет максимальное значение цaimax (x1). Для выходной переменной также отыскивается терм d1, для которого функция принадлежности ц j (y1 )
d. 1
имеет максимальное значение ц jmax (y ) .
7. Формируется правило типа «ЕСЛИ-ТО,», которое связывает лингвистические значения a1 ,a2 ,...,a1i входных переменных с лингвистическим значением выходной
i max' i max' ' i max * г «
переменной d
P „ d.
jmax •
= aim
8. Для полученного правила вычисляется степень истинности:
Пn1 (X1 = aJP ) ^ y = d1 ,j = 1,m (7)
! 'i=1 v i ima^ J jmax'J ' • V/
R1 =цdjmax (y1 )ni цa'max(x1) . (8)
9. Отбор правил. Если в накопленной БЗ уже существует правило с номером t с такими
же значениями a1 ,a2 ,...,a1i и d1 и выполняется условие R1 > Rt, то правило 1
i max' i max' ' i max j max J ^
фиксируется в базе знаний вместо правила t.
Таким образом, накапливается БЗ в лингвистической форме на основе нечеткого анализа числовых данных. Несомненным достоинством метода является простота реализации. Однако у данного метода есть резервы повышения эффективности и точности, которые можно реализовать, если в качестве генератора правил использовать обученную нейронную сеть и применить более совершенный алгоритм отбора и верификации правил.
б) Нейронная сеть и формирование базы знаний
В изложенном выше методе числовые данные подвергаются нечеткому анализу без предварительной подготовки, а значит, содержат шумы и потенциальные противоречия. Естественно, данные можно предварительно обрабатывать статистическими методами, но гораздо удобнее использовать их для обучения нейронной сети. В таком случае сеть автоматически накапливает знания о скрытых многомерных зависимостях в числовых данных. После обучения сети ей можно предъявлять любые входные векторы из допусти-
мого диапазона и получать адекватные выводы при помощи описанного выше метода интерпретации, вообще не накапливая лингвистических знаний. В этом случае из перечисленных выше пунктов будут использоваться пункты 1...3, а степень истинности ц ->шах (у1 )
интерпретируется как степень истинности ответа.
На данном этапе использовалась НС следующей конфигурации:
количество узлов входного слоя - 11;
количество узлов скрытого слоя - 5;
количество узлов в выходном слое - 3;
алгоритм обучения - обратное распространение;
функция активации - сигмоидальная.
Если ставится задача составить базу знаний лингвистического характера (например, для системы нечеткого логического вывода), то встает вопрос о процедуре отбора правил. Представляется разумным не отбрасывать правила с различными, пусть и небольшими значениями степени истинности, а накопить достаточно полную совокупность экземпляров правил по всем или по значительной части пар «вход-выход» обучающей выборки нейронной сети.
Обсудим вопросы верификации и отбора правил.
Если разработчик СППР обнаруживает, что система по результатам испытаний допускает значительное количество ошибок, у него есть несколько вариантов коррекции правил.
Во-первых, можно изменить структуру нейронной сети, используя такие подходы, как МГУА [5].
Во-вторых, можно настраивать параметры функций принадлежности, используя методы, описанные в работе [5]. В-третьих, можно верифицировать и отбирать правила, полученные на выходе интерпретатора, как это предлагается в изложенном выше методе. Но замена предыдущего правила новым, с увеличенным значением степени истинности, не представляется единственным и наиболее верным подходом. На наш взгляд, следует накопить значения истинности всех найденных одинаковых правил и вычислить усредненную степень истинности по всей выборке.
Если количество найденных одинаковых правил достаточно велико, то состоятельность результирующего правила измеряется средним значением степени истинности Я. Если же количество найденных одинаковых правил не превышает определённого порогового значения А, которое устанавливается по результатам частотного анализа накопленной совокупности правил, то среднюю степень истинности Я для одинаковых правил вычислим как Я = к/А, где к - количество одинаковых правил в выборке. Для отбора надежных правил
установим пороговое значение степени истинности Яп . В базу знаний попадут правила, у которых Я >Яп .
Если в накопленной совокупности правил найдены выборки противоречивых правил, имеющих одинаковые левые части, но различные выводы следует провести дополнительный анализ для выяснения вопроса: отдать ли предпочтение одному из вариантов или удалить оба варианта правил из базы знаний. Для решения предлагается следующая методика.
Для каждой выборки правил вычисляется вектор средних значений всех входных пере— 1 — 1 — 1 — 2 — 2 — 2 менных (х11,х—1,...хп1) и (х12,х—2,...хп2) •
Вычисляется вектор средних значений по всем входным переменным по обеим выборкам (х1 ,х2,...,хп) .
Полученный в п. 2 вектор подается на вход нейронной сети и вычисляется числовое начение выхода сети.
Вход и выход сети интерпретируются в лингвистическую форму.
Если полученное правило совпадает с одним из конкурирующих, то предпочтение отдается выигравшему правилу. Если же новое правило не совпадает ни с одним из конкурирующих, то оба конкурирующих правила удаляются из БЗ. На рисунке показана функциональ-
ная структура разработанного инструментального программного средства, реализующего предлагаемый метод извлечения и интерпретации знаний, накопленных нейронной сетью.
Функциональная структура инструментального программного средства 5. Заключение
Предложен модифицированный метод извлечения скрытых знаний из базы данных с использованием обученной нейронной сети и нечеткого интерпретатора входных и выходных данных. Метод предназначен для быстрой разработки интеллектуальных СППР на основе нейросетевого подхода и предусматривает применение специальной процедуры отбора и верификации правил. Предложена функциональная структура инструментального программного средства для извлечения знаний, позволяющая проводить эксперименты с изложенной методикой извлечения знаний.
Список литературы: 1. Рыбина Г.В. Автоматизированное построение баз знаний для интегрированных экспертных систем // Изв. РАН. Теория и системы управления. 1998. №5. С.152-166. 2. Калинина Е.А., Рыбина Г. В. Применение технологии Data Mining для автоматизированного построения баз знаний интегрированных экспертных систем //В кн. :КИИ-2000. Седьмая нац. конференция с межд. участием. Труды конференции. Том 2. М.:Физматлит, 2000. С. 119-127. 3. БарсегянА.А., КуприяновМ.С., Степа-ненко В.В., Холод И.И. Методы и модели анализа данных: OLAP и Data Mining / СПб.: БХВ-Петербург, 2004. 326 с. 4. СетлакГ. Интеллектуальные системы поддержки принятия решений. К.: Логос, 2004. 251 с. 5. МитюшкинЮ.И., МокинБ.И., Ротштейн А.П. Soft Computing: Идентификация закономерностей нечеткими базами знаний . Винница: УНИВЕРСУМ-Винница, 2002. 145 с. 6. Рутковская Д., Пилиньский М., Рутковский Л. Нейронные сети, генетические алгоритмы и нечеткие системы. М.: Горячая линия, 2006. 193 с. 7. Wang. L.X., Mendel J. M., Generating Fuzzy Rules by Learning from Examples, IEEE Transactions on Systems, Man, and Cybernetics, November/December 1992. Vol. 22, № 6. Р. 1414-1427. 8. Куземин А.Я., Головий Н.В., Даюб Я. Реализация модели системы поддержки принятия решений в области сервисного обслуживания банкоматов // АСУ и приборы автоматики. 2009. №143. С.57 - 64.
Поступила в редколлегию 15.08.2009 Головий Наталья Владимировна, аспирантка кафедры информатики ХНУРЭ. Научные интересы: системный анализ данных. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. (057) 702 15 15, e-mail: [email protected].