№>3(9)2007
А.В. Клименко, О.В. Стоянова, М.И. Дли, Ю.Г. Бояринов
Нейро-нечеткий метод построения моделей сложных объектов
В настоящее время роль информационных технологий в различных сферах человеческой деятельности постоянно возрастает, при этом наблюдается смена приоритетов в направлении их использования. Если раньше информационные технологии использовались в основном только для хранения, извлечения и передачи информации, то сейчас существенное внимание уделяется развитию алгоритмов интеллектуального анализа данных. Одно из направлений в этой области — использование аппарата гибридных нейронных сетей.
Интеллектуальный анализ данных предполагает применение специальных методов обработки информации для выявления скрытых тенденций, закономерностей, взаимосвязей и перспектив развития исследуемых систем, учет которых помогает повысить качество принимаемых решений [1]. Возможности существующих математических методов интеллектуального анализа данных весьма обширны. Вместе с тем существует ряд особенностей, свойственных задачам математического моделирования сложных систем, которые ограничивают использование известных методов. Указанное обстоятельство обусловливает необходимость разработки новых методов и алгоритмов математического моделирования, позволяющих расширить область применения технологий интеллектуального анализа данных.
Как правило, программно подобные методы и алгоритмы реализованы либо в универсальных математических пакетах, таких как MatLab, Maple, MathCAD, либо в специализированных программных решениях, ориентированных на отдельные виды алгоритмов. Среди последних можно отметить редакторы нечетких систем — CubiCalc, Fuzi-Calc, FuzzyTECH, FIDE, Бизнес-прогноз; программы, реализующие нейросетевые алгоритмы — NeuroPro, NeuroShell, BrainMaker; а также менее известные разработки, в основе которых лежат оригинальные методы интеллектуального анализа данных. Про-
граммный комплекс PrognozNF 1.0, разработанный авторами данной статьи, относится к последней группе. Он предназначен для прогнозирования различных показателей сложных систем на основе их математического моделирования. Особенностью алгоритмов, лежащих в основе работы программного продукта, является возможность построения математических моделей в условиях ограниченности объемов имеющихся статистических данных и наличия большого числа параметров, характеризующих сложную систему, что позволяет получать приемлемую точность моделей, которая не достигается при использовании других математических алгоритмов. Кроме того, в процессе построения модели осуществляется отбор факторов, оказывающих наибольшее влияние на выход системы, что дает возможность в дальнейшем ограничить набор параметров, которые необходимо регистрировать.
Далее будут рассмотрены основы предлагаемого метода, применяемого при построении математических моделей сложных систем средствами программного комплекса PrognozNF 1.0.
Особенности задач математического моделирования сложных систем
Для многих сложных систем различной природы (социально-экономических, организационно-технических и др.) характерным является наличие большого числа фак-
119
№3(9) 2007
43
0
1 'S
s? i
I &
u §
g
Ü TS
ig !
торов, влияющих на исследуемыи показатель (выход модели), и ограниченного (по отношению к числу факторов) объема наблюдении данных факторов, используемых при построении модели.
Для решения подобных задач академик А. Г. Ивахненко предложил метод группового учета аргументов (МГУА), позволяющий обеспечить приемлемое качество модели в условиях многофакторности и ограниченности объема обучающей выборки [2-4].
Вместе с тем, в ряде случаев многие факторы, которые необходимо учитывать при построении модели, имеют качественный характер и не могут быть измерены при помощи метрических шкал. Следует также отметить, что в условиях слабой математической формализации некоторых процессов, протекающих в сложных системах, и ограниченного объема статистических данных возрастает роль экспертной информации, используемой в процессе моделирования. Данные обстоятельства снижают эффективность применения известных вариантов реализации МГУА для построения математических моделей сложных систем различного типа.
Минимизировать указанные недостатки МГУА позволяет предложенный в данной статье метод, основанный на использовании в процессе построения моделей аппарата нечетко-логических (гибридных) нейронных сетей. Выбор данного аппарата не случаен, так как известно, что нечеткие алгоритмы позволяют успешно решать задачи, в которых исходные данные являются ненадежными и слабо формализованными. Более того, информационные системы, основанные на применении аппарата нечеткой логики, согласно известной теореме FAT [5], являются достаточно универсальными аппроксиматорами.
Кроме того, необходимо учитывать свойственные алгоритмам нечеткого логического вывода недостатки, связанные с субъективностью выбора вида и параметров функций принадлежности, а также исходного набора нечетких продукционных правил. Для устранения указанных недостатков нечетких систем, рядом исследователей было пред-
ложено обеспечивать их определенную адаптивность, корректируя по мере построения модели на основе реальных статистических данных сами правила и параметры функций принадлежности. Один из вариантов такой адаптации реализуется при построении гибридных нейронных сетей [6].
Постановка решаемой задачи
Рассмотрим постановку задачи, решение которой возможно с использованием предложенного метода самоорганизации частных моделей МГУА, которые представляются обученными с помощью реальных статистических данных нейро-нечеткими сетями.
Пусть имеется ретроспективная информация о фактораххп (п=1.. М), влияющих на исследуемый выход моделируемой сложной системы у.
Данная информация может быть представлена матрицей:
xm xN —
Х11 Х21
Х12 Х22
ХМ1 ХМ 2
• • Х1N ■■ Х2 N
• • XMN
(1)
элементами которой являются значения указанных факторовхпт=хп(!т) в определенные моменты времени т (т=1...М), причем количество факторов N соизмеримо с количеством точек наблюдения М.
Кроме того, имеются значения показателя у в те же моменты времени, представленные в виде вектора
У — [У1 У2 ... Ут f
(2)
где Ут=У(и.
Используя данную информацию, необходимо построить математическую модель сложной системы
У — f (X), гдеX — [X1 X2 ... Хп].
(3)
Предполагается, что функция ^Х) неизвестна, но, помимо ретроспективных наблюдений, имеется экспертная информа-
120
№3(9) 2007
ция о некоторых взаимосвязях между входными и выходными переменными модели, которая может быть представлена с помощью продукционных правил вида «если ..., то ...».
Искомую модель можно использовать как для прогнозирования выхода моделируемой системы при различных значениях входов, так и для анализа взаимосвязей между факторами, характеризующими исследуемую систему.
Суть предлагаемого метода
Предлагаемый метод основывается на подходе, наиболее близком к комбинаторным алгоритмам МГУА [2, 4]. Построение модели с помощью предложенного метода представляет собой итерационный процесс, состоящий из к уровней селекции (итераций), на каждом из которых формируется I частных моделей (обученных гибридных нейронных сетей), где I = 1... Скы, к < N СN — число сочетаний из N по к.
На каждой итерации можно выделить три основных этапа.
1. Формирование обучающих выборок и подготовка структур частных моделей.
Формирование обучающих выборокX
(I, к)
заключается в построении Iчастных обучающих матриц, содержащих различные комбинации из к столбцов исходной матрицы (1).
При определении структуры 1-й частной модели к-го уровня предполагается, что данная модель может быть описана в виде совокупности нечетких продукционных правил, формируемых на основе экспертной информации. Один из возможных вариантов представления таких правил для модели к-го уровня имеет вид:
Если [(х1 есть А11) и (х2 есть А21)... и (хк есть Ак1)],то(у есть б1);
Если [(х1 есть А1у) и (х2 есть А2у)... и (хк есть Аку)], то (у есть Ву);
Если [(х1 есть А1Л) и (х2 есть А2ь).. и (хк есть АкЬ )],то (у есть Вь),
(4)
где Аку — функция принадлежности переменной хк некоторому нечеткому множеству ву-м правиле, п=1...к; Ву — функция принадлежности выхода у некоторому нечеткому множеству в у-м правиле, у=1.. .Ь (число правил Ь определяется на основе экспертной информации);
индексация переменных хк ведется по базису частной выборки Х^.
2. Генерирование частных моделей нейронной сетью.
Для построения частных моделей путем математической обработки имеющихся ретроспективных данных с учетом экспертной информации, представленной в виде сформированных систем нечеткой логики, предлагается использовать аппарат гибридных (нейро-нечетких) сетей.
Гибридная нейронная сеть по формальной структуре идентична структуре многослойной нейронной сети с обучением, но скрытые слои в ней соответствуют этапам функционирования системы нечеткого логического вывода [6].
Структура гибридной нейронной сети представлена на рис. 1.
Первый слой нейронов выполняет функцию введения нечеткости ^(^Шса^оп) на основе заданных функций принадлежности входов. Выходами нейронов данного слоя являются значения функций принадлежности для конкретных значений входных переменных: А11(х1), ..., А1п(хД А21(х2), ..., А2г2(х2), ..., Акл(хк), ..., АкгК(хк), гдег1, г2, ...,гк — число функций принадлежности переменных х1, х2, ., хк соответственно, определяемое числом термов нечетких множеств, по которым они оцениваются.
С учетом введенных обозначений можно записать выражение для числа нейронов входного слоя:
к
П =£ гк.
I=1
Второй слой отображает совокупность нечетких продукционных правил, сформи-
«О §
оа сэ
I
со
121
Ив3(9) 2007
*2
**
Рис. 1. Структура нейро-нечеткой сети
мз
0
й
1
I
и &
и §
I I
£ !
рованных на предыдущем шаге (4). Число нейронов в данном слое равно числу продукционных правил входящих в состав системы (4). Каждый нейрон второго слоя представляет собой нечеткий нейрон «И», сигналы и веса в котором объединяются с помощью операции треугольной конормы, а выход— с применением треугольной нормы [6].
Выходы нейронов данного слоя в таком случае определяются следующим образом:
«1 = Т(5(^1, АХх)), 5^, А1(Х2)),..., Б^м, Ак1( хк)));
« 2 = Т (5(^12, А12( Х1)), 5(^22, А22 (Х*2 )), . . . ,
Б^К2, Ак2(Хк )));
аЛ = Т(Б^и,,АЛ(Х1)), 5(^2Л, А2Л(Х2)),..., Б^ц, Акь (Хк))),
где Т — обозначение операции треугольной нормы;
5 — треугольной конормы;
wlj — веса нейронов (/=1...К, /=1..Л);
функции принадлежности А^выбираются из множества функций принадлежности в соответствии с имеющейся экспертной информацией о взаимосвязях в системе.
В качестве операции вычисления треугольной нормы может использоваться, например, операция определения минимума, конормы — максимума.
Нейроны третьего слоя выполняют этап логического вывода — импликацию, применяя вычисленные значения истинности предпосылок каждого правила к заключениям этого правила. Число нейронов данного слоя, как и предыдущего, равно числу продукционных правил Ь:. Выходы нейронов третьего слоя определяются как
У = №1);
У2 = Вг1(а 2);
= ВЛа Л),
где В (у) — функции принадлежности для выходной переменной.
122
№3(9) 2007
Нейроны четвертого слоя определяют степень влияния каждого продукционного правила на выход системы. Число нейронов также равно числу продукционных правил 11. Выходы нейронов четвертого слоя определяются следующим образом:
Р1
Р1
а1 +а 2 +... + а Л
_а2_
а1 +а 2 + ... + а 1
а1 +а 2 + ... + а Л
Пятый слой, включающий один нейрон, используется для вычисления четкого значения выходной переменной в соответствии с выражением
у = Р1 ■ у +Р 2 ■ у 2 + ... + Р 1 ■ Ун.
Каждый из рассмотренных слоев характеризуется набором параметров, настройка которых производится так же как для обычных нейронных сетей. Так, в первом и третьем слое настраиваемыми являются параметры функций принадлежности, число которых определяется типом данных функций. В случае обучения сети алгоритму обратного распространения ошибки выражение для настройки некоторого параметра г функции принадлежности (опуская индексы) имеет вид
г' = г
дЕт дг
достигает заданного порогового уровня или когда будет пройдено заданное количество циклов обучения.
В рассматриваемом методе на вход каждой нейро-нечеткой сети, соответствующей описанной структуре, подаются обучающие последовательности хМ^'к и Х[МЫк, полученные путем разбиения выборки Х^, сформированной на первом этапе.
Способ разбиения исходной выборки зависит от критерия отбора частных моделей, который будет использоваться в дальнейшем. В простейшем случае выборка разбивается на две равные части случайным образом. Однако для улучшения характеристик метода могут потребоваться более сложные алгоритмы разбиения. В любом случае оно должно проводиться так, чтобы количество строк в матрицах Х было одинаковым.
Обученные нейро-нечеткие сети представляют собой частные модели, описывающие зависимость исследуемого показателя у от некоторых к факторов из полного информационного базисаХмхы. Обозначим модели, построенные на основе последова-
(/, к) и х (¡,к) Махк МЬхк
тельностей х^к соответственно.
ы У ('' к) и ХМЬ х к
через fA(,,к)
и )
где -л — константа, характеризующая скорость обучения;
1 2 Ет = 2 (Ут ~ Ут) —функция ошибки для
т-го предъявленного образца.
Нейроны второго слоя характеризуются весами подстройка которых производится аналогично. Нейроны четвертого и пятого слоев выполняют простейшие операции и не требуют настройки каких-либо параметров.
Процесс обучения сети, во время которого осуществляется настройка ее параметров, заканчивается, когда значение ошибки
(/, к)
ХМхкк) и определяются оценки выходов вида
V/, к) = f (/, к )(Х(/, к)) 'А — 'А \ЛМхк /
V (/, к) 'в
. f(/,к )(х(/,к))
■ в \ЛМ хк /
123
со
I
и
<0 §
I
са сэ
I
са
3. Отбор лучших моделей по заданному критерию.
На этом этапе производится отбор «лучших», в смысле заданного критерия, моделей данного уровня. В работах [2, 4] показано, что для этих целей могут использоваться только так называемые внешние критерии. Под внешним критерием понимается критерий, который вычисляется на основе информации, еще неиспользованной при оценке параметров модели. В качестве такого показателя может использоваться критерий несмещености.
Для оценки несмещенности моделей к-го уровня на вход каждой обученной нейро-нечеткой сети f
и f(,к) подается выборка
2
1
Ив3(9) 2007
На основе полученных оценок рассчитывается значение показателя смещения, который может быть записан в следующем виде:
X . (№(<, к) м (Гл
№ У. № ) - >Г)).
При выборе внешнего критерия необходимо учитывать требования, предъявляемые к математической модели исследуемой системы. В качестве него можно использовать критерий непротиворечивости, характеризующий степень смещения частных моделей; регулярности, характеризующий точность частных моделей; а также комбинированные критерии.
Независимо от используемого критерия, определяемого показателем К, отбор лучших моделей к-го уровня предлагается осуществлять по следующим правилам:
1) если к>1, то условие отбора имеет вид
Квнеш < тах(к
(/,к-1)) внеш /
(5)
мз
0
й
1 §
I
I &
и §
I I
£ !
1 -к
К(к) - — .у К'' -к /-1
О
(6)
и проверяется условие останова:
К(к) > К(к-1)
внеш внеш
(7)
Если условие (7) выполняется, то селекция прекращается и оптимальной признается размерность модели кор, = к-1.
На этом итерационный процесс заканчивается, и следующей задачей является выбор из всех отобранных моделей уровня кор1, признанных несмещенными, той, кото-
2) если к=1, то выбираются -к моделей, для которых показатель К^ш минимален (-к — заданная свобода выбора).
В случае, если на уровне к не нашлось ни одной модели, удовлетворяющей условию (5), селекция прекращается и оптимальной признается модель, содержащая (к-1) входную переменную. В противном случае фиксируется количество отобранных моделей -к, и процедура построения модели продолжается.
Далее вычисляется среднее значение показателя отбора для уровня к по множеству выбранных моделей:
рая обладает наилучшими характеристиками. Поиск единственной из множества моделей на уровне кор, ведется на основании какого-либо дополнительного критерия.
В качестве дополнительного критерия можно использовать критерий точности. Для оценки точности несмещенных частных моделей уровня кор, структура построенных гибридных нейро-нечетких сетей сохраняется, но их обучение уже ведется по всей выб°рке
Поиск лучшей из множества моделей на уровне кор, осуществляется с помощью критерия точности
V - / тп {М.- ))Т.-№ ('))
В построенную модель в общем случае включаются не все имеющиеся входные факторы, а лишь те, которые оказывают наибольшее влияние на выход системы, т.е. кор,<N. Таким образом, предложенный метод может использоваться не только для построения модели, но и для поиска наиболее значимых факторов, влияющих на управляемый выход системы.
Программная реализация предложенного метода
На основе рассмотренного метода были разработаны алгоритмы, использующие различные критерии отбора и позволяющие обрабатывать данные, представленные ограниченными выборками в пространствах большой размерности. Они легли в основу функционирования вычислительных модулей разработанного программного комплекса PrognozNF 1.0 [7].
Этот программный комплекс предназначен для построения и использования математических моделей сложных систем. Математические модели являются программными и представляют собой обученные нейро-нечеткие сети. В программном комплексе предусмотрена возможность выбора алгоритмов построения математических моделей на основании требований, предъявляемых к их прогностическим характери-
124
2(
п
а1э
№>3(9)2007
стикам. РгодпогЫР 1.0 позволяет осуществлять прогнозирование различных показателей и представлять результаты в удобном для пользователя виде. Построенные модели применяются многократно, поскольку они сохраняются и составляют так называемую базу знаний информационной системы. Результаты прогнозов также могут быть сохранены по желанию пользователя.
Программный комплекс работает в одном из трех режимов:
• построение математических моделей сложных систем в виде обученных нейро-нечетких сетей в соответствии с выбранным алгоритмом;
• настройка(адаптация) параметров существующих моделей на основе вновь поступающих данных;
• использование накопленных в базе знаний моделей для прогнозирования различных показателей, характеризующих сложную систему.
На рис. 2 приведен алгоритм функционирования программного комплекса, учитывающий возможные режимы работы.
Программный комплекс РгодпогЫР 1.0 выполнен в виде совокупности программных модулей (вычислительных и интерфейсных), и может работать в различных конфигура-
циях, состав которых определяется выбран- §
ными режимами функционирования и осо- ^
бенностями моделирования систем различ- §
ных типов. В составе конфигурации про- s
граммные модули работают интегрировано, ® но имеется возможность самостоятельного
использования вычислительных модулей ss
с целью мониторинга за отдельными этапа- ^
ми процесса моделирования. §
Для реализации интерфейсных модулей §
программного комплекса, реализующих про- ^
00
цедуры взаимодействия с пользователем и вычислительными модулями, применялась среда разработки приложений Borland Del- | phi 7. Вычислительные модули, реализующие математические алгоритмы построения со нейро-нечетких моделей, выполнены в виде ^ исполняемых файлов системы MatLab 7.0 с использованием функций пакета расширения Fuzzy Logic Toolbox и инструментов редактора нейро-нечетких сетей ANFIS.
PrognozNF 1.0 функционирует на базе платформы операционной системы Windows XP/2000 и предъявляет следующие минимальные аппаратные требования: 1 Мб объема жесткого диска, 256 Мб оперативной памяти, процессор 800 МГц и более. Следует учитывать, что процедура построения математических моделей сложных систем требует значительных затрат машинного времени. Это связано со спецификой используемых
За
Неудовлетворительно
V
Построение новой модели
1 Ввод или загрузка исходных данных
1
2 Выбор режима работы программы
1 h 1
1 г
ЗЬ Настройка существующей модели
1
4 Анализ качества полученнной модели
-^ ,, Удовлетворительно
5 Запись модели в базу данных и знаний
1
6 Запрос о необходимости использования модели
1 '
Зс Использование модели
и
7 Запись результатов в базу данных и знаний
Рис. 2. Обобщенный алгоритм функционирования программного комплекса PrognozNF 1.0
125
Не3(9)2007
IS
<u
pQ
мз о
il
is
■s
i?
i
! о
15-
u о с
il fi
IS
0
1
алгоритмов, поэтому при эксплуатации программного комплекса в режиме построения моделей желательно использовать высокопроизводительные аппаратные средства. Для работы этого комплекса также необходимо наличие установленной системы MatLab 7.0 с пакетом расширения Fuzzy Logic Toolbox.
Оценка характеристик математических моделей сложных систем, получаемых с помощью программного комплекса Prognoz-NF 1.0, проводилась путем сопоставления с результатами моделирования на основе алгоритмов, реализующих традиционные нейросетевые методы и МГУА, а также регрессионные методы.
Результаты проведенных вычислительных экспериментов показали, что разработанный нейро-нечеткий МГУА в условиях ограниченного объема обучающей выборки дает значительное преимущество в точности по сравнению с регрессионными и ней-росетевыми методами при высокой степени нелинейности аппроксимируемой функции. При обработке выборки, содержащей меньшее число строк, чем количество входных факторов, и наличии экспертной информации о взаимосвязях входных и выходной пе-
ременных рассмотренный метод дает существенный выигрыш в точности по сравнению с традиционными вариантами МГУА.
Полученные результаты свидетельствуют о работоспособности рассмотренного метода и позволяют рекомендовать его для построения математических моделей сложных систем.
Следует также отметить, что программный комплекс PrognozNF 1.0 предназначен не только для исследования предложенного метода, но и для решения прикладных задач специалистами-практиками в различных предметных областях. Так, программный комплекс использовался для решения задач прогнозирования социально-экономических показателей г. Смоленска и Смоленской области. Примеры некоторых экранных форм, содержащих результаты исследования, представлены на рис. 3-5.
Все сказанное выше позволяет сделать вывод о возможности использования предложенного метода, реализующих его алгоритмов и программных средств, в качестве элементов интеллектуальных информационных систем поддержки принятия решений по управлению сложным объектами произвольной природы.
Универсальная программа прогноза Е@(
Данные Модели Результаты Вид Сервис ?
□ ЕГх чидагидjr
Список моделей:
Название модели Дата 1 Количество переменны;-: I Показатель точности 1
Прогноз валового регионального продукта 6 3.8%
1 Прогноз состояния временной нетрудоспособности 28 02.2006 5 3.37%
1 Прогноз заболеваемости населения (на 10ОО чел.) 28 02.2006 7 3.492;
1 Прогноз ввода в эксплуатацию жилык домов 28 02.2006 6 3.27%
1 Прогноз численности населения Смол. обл. 2В 02.2006 5 3,65%
_ v
Q Новая Настроить Использовать
1
1 А
Рис. 3. Главная форма программы PrognozNF 1.0
126
№3(9)2007
S5
4
55
! «о oq сэ
I 00
Рис. 4. Форма ввода данных, используемых для построения модели
Рис. 5. Окно результатов прогноза
Список литературы
1. Девяткин В. В. Системы искусственного интеллекта. М.: ИздательствоМГТУим. Н.Э. Баумана, 2001.
2. Ивахненко А.Г., Юрачковский Ю.П. Моделирование сложных систем по экспериментальным данным. М.: Радио и связь, 1987.
3. Ивахненко А.Г., Зайченко Ю.П, Дмитриев В.Д. Принятие решений на основе самоорганизации. М.: Советское радио, 1976.
4. Ивахненко А.Г., Мюллер Й.А. Самоорганизация прогнозирующих моделей. Киев: Технка, 1985.
5. Wang L.-X. Fuzzy Systems are Universal Approximators // In Proc. of the 1-st IEEE International Conference on Fuzzy Systems. San Diego, 1992.
6. Круглов В.В., Дли М.И., Голунов Р.Ю. Нечеткая логика и искусственные нейронные сети. М.: Физматлит, 2001.
7. Стоянова О.В., Бояринов Ю.Г. Программа математического моделирования региональных социально-экономических систем PrognozNF 1.0. Отраслевой фонд алгоритмов и программ. Свидетельство на разработку №6963 от 27.09.2006.
127