ISSN 0236-235X (P)
ISSN 2311-2735 (E)
1

16 Марта 2024

Нейронечеткая система обнаружения продукционных зависимостей в базах данных


Катасёв А.С. (ASKatasev@kai.ru) - Казанский национальный исследовательский технический университет им. А.Н. Туполева–КАИ (профессор), Казань, Россия, доктор технических наук, Ахатова Ч.Ф. (akhatova_chulpan@mail.ru) - Казанский государственный технический университет им. А.Н. Туполева
Ключевые слова: принятие решений, экспертная система, база знаний, нечеткая нейронная сеть, модель представления знаний
Keywords: decision making, expert system, knowledge base, fuzzy neural network, heuristics combination method


     

Во многих предметных областях используются системы, основанные на знаниях, – экспертные системы. Они нашли широкое применение для решения большого количества неформализованных или плохо формализованных задач, таких как обучение, диагностика, управление, прогнозирование и других.

Для данного класса интеллектуальных информационных систем характерно то, что они способны моделировать процесс рассуждения эксперта при принятии им решения и объяснять, почему был получен тот или иной результат. Это достигается путем обработки входных данных и реализации процедуры логического вывода на формализованных знаниях о предметной области.

Основными проблемами при разработке экспертных систем являются получение и формализация знаний. Первая проблема связана с большими трудностями, возникающими при взаимодействии инженера по знаниям с источником знаний – экспертом. При решении сложных задач эксперт зачастую интуитивно быстро находит правильное решение, попытки инженера по знаниям проанализировать и понять ход рассуждений эксперта могут оказаться безуспешными.

Вторая проблема связана с необходимостью представления знаний эксперта в формальную модель с учетом ограничений, присутствующих в любой из них. При этом часть полезных знаний может быть утрачена, а сформированная таким образом база знаний экспертной системы будет неполной, недостоверной, противоречивой, что может привести к невозможности ее практического использования.

Это обусловливает актуальность задач разработки и использования интеллектуальных систем обнаружения знаний и закономерностей в БД для автоматизированного формирования баз знаний экспертных систем, а также выбора гибких моделей представления знаний, адекватных рассматриваемой предметной области. Решить данные задачи сможет специальная нечеткая нейронная сеть.

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

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

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

Подпись: Рис. 1. Пример структуры нечеткой нейронной сети
Таким образом, задачей данного исследования является выбор гибкой нечетко-продукционной модели представления знаний и разработка нейронечеткой системы на базе нечеткой нейронной сети, позволяющей в результате обучения формировать базу знаний экспертной системы правилами в форме нечетких продукций.

Нечетко-продукционная модель представления знаний

В [1] на примере задачи планирования геолого-технических мероприятий на нефтяных месторождениях показано, что зависимость между значениями входных параметров (условиями) и назначаемым результатом может быть эффективно описана экспертом в виде следующей нечетко-продукционной модели представления знаний:

«ЕСЛИ   есть  ()     И

                есть  ()    И            ...              И

                есть  ()

ТО         Возможно применение технологии Tj» [CFj],

где  – множество входных параметров правила;  – множество нечетких огра- ничений на параметры Pj;  – веса нечетких ограничений, определяющие их важность; CFjÎ[0, 1] – степень достоверности сформированного правила, то есть степень уверенности эксперта в его универсальности (CERTAINTY FAC­TOR); TjÎT – технология, рекомендуемая к применению.

В отличие от большинства нечетких продукций в правилах данной модели присутствуют параметры wj и CFj, что придает им большую гибкость при описании предметной области, позволяя учитывать важность отдельных условий и достоверность правила в целом.

Следует отметить, что существует алгоритм нечеткого логического вывода на правилах данной модели. Принцип его работы заключается в анализе значений входных параметров, в формировании интегральных взвешенных оценок выполнимости каждого правила и в выборе оптимального решения, соответствующего правилу с максимальной степенью достоверности консеквента [1]. На основе данного алгоритма логического вывода разработана нейронечеткая модель формирования баз знаний экспертных систем [2].

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

В качестве примера рассмотрим нечеткую нейронную сеть, имеющую один выход и два входа с тремя нечеткими градациями (рис. 1).

В нулевом слое нейронной сети содержатся два Р-нейрона, выполняющих функцию распределения входных сигналов по нейронам первого слоя. В первом слое сети содержится 2*3=6 А-нейронов, которые моделируют нечеткие условия вида «Р есть ». Выход А-нейронов равен значениям функций принадлежности  (степень срабатывания условий) при соответствующих значениях входных нейронов. Второй слой содержит 32=9 И-нейронов, задающих нечеткие продукции в виде «ЕСЛИ P1 есть  И P2 есть  ТО Tj». Выход И-нейронов определяет оценку срабатывания соответствующего правила SR. Третий слой сети состоит из девяти Comp-нейронов, на выходе которых рассчитываются комплексные оценки срабатывания правил, равные произведению значений соответствующих оценок доверия к принятому решению SD на оценки SR. Веса связи Comp-нейронов с выходом нейронной сети определяют степень достоверности сформированных правил CF. Произведения выходов Comp-нейронов на их веса образуют общий коэффициент достоверности решений. В четвертом слое содержится Т-нейрон, на выходе которого вычисляются взвешенные нормированные оценки достоверности принимаемого решения.

Для получения системы правил, формирующих базу знаний экспертной системы, необходимо обучить нечеткую нейронную сеть, настроив значения соответствующих параметров ее функций принадлежности .

Проблемы обучения нечеткой нейронной сети

В [2] для решения данной задачи обучения был использован алгоритм обратного распространения ошибки, основанный на методе градиентного спуска. Эффективность алгоритма определя- ется, в частности, гарантией его сходимости за конечное число шагов. Недостатками такого подхода явились большая длительность процесса обучения, а также сложность выхода из локальных минимумов и нахождения глобального минимума в области решений – значений функции ошибки выхода нейронной сети.

Поскольку задача обучения сети относится к классу оптимизационных, в [3] для устранения указанных недостатков был предложен специально разработанный генетический алгоритм, эффективность которого основана на идее случайного направленного поиска решений путем моделирования биологических процессов естественной эволюции. Однако при его реализации была выявлена проблема выбора лучшего хромосомного набора, определяющего параметры соответствующих функций принадлежности, с точки зрения глобальной оптимизации – минимизации ошибки выхода нейронной сети. Попытки решения данной проблемы привели к необходимости введения вспомогательных операций композиции и декомпозиции хромосом [3], что повлияло на увеличение времени обучения.

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

Гибридный алгоритм обучения нечеткой нейронной сети

Данный алгоритм обучения состоит из следующей последовательности шагов (блок-схема алгоритма изображена на рисунке 2).

1. Задаются начальное значение адаптивного шага обучения a (0

2. На вход сети подаются i-е образы из обучающей выборки, для каждого из которых

·     осуществляется фаза прямого распространения сигнала по нейронной сети, определяется взвешенная активность выходного нейрона (значение выхода );

·     вычисляется среднеквадратичная ошибка выхода нейронной сети для i-го входного образа , где  – абсолютная ошибка выхода; tT – требуемое значение выхода;

·     для минимизации ошибки  последовательно настраиваются выходы Comp-нейронов  на основе генетического алгоритма GAMT (Genetic Algorithm for Minimized T-error);

·     вычисляются требуемые значения выходов И-нейронов , где t – время;

·     рассчитываются среднеквадратичные ошибки выходов И-нейронов , где  – абсолютная ошибка выхода;  – требуемое значение выхода;

·     для минимизации ошибки  последовательно модифицируются параметры функций принадлежности соответствующих А-нейронов на основе генетического алгоритма GAMИ (Genetic Algorithm for Minimized И-error).

Подпись: Рис. 2. Блок-схема алгоритма обучения нечеткой нейронной сети3. Вычисляется сред­нее значение ошибки выхода для всех входных образов: .

4. Рассчитывается изменение ошибки выхода: .

5. Если 0££DEmin, процесс обучения заканчивается.

6. Если >Em, происходит переход к шагу 7 алгоритма, иначе процесс обучения нечеткой нейронной сети заканчивается.

7. Проверяется условие невозрастания ошибки выхода нейронной сети: если <0, уменьшается адаптивный шаг обучения и происходит переход к шагу 2 алгоритма.

Настоящий алгоритм функционирует до тех пор, пока средняя ошибка выхода нейронной сети не станет меньше заданной () либо изменение ошибки выхода  не будет превышать минимально допустимый уровень DEmin.

В рамках соответствующих генетических алгоритмов происходит настройка выходов Comp-нейронов, а также иско- мых значений параметров соответствующих функций принадлежности А-нейронов.

Этапы работы генетических алгоритмов

Общим в работе каждого генетического алгоритма настройки параметров нечеткой нейронной сети является их соответствие принципам работы классического генетического алгоритма [4]. Таким образом, для практического применения алгоритмов необходимо задать способ кодирования и декодирования параметров задачи, определить правило создания начальной популяции хромосом, ввести оценку приспособленности хромосом в популяции (фитнес-функцию), разработать правила селекции хромосом, применения генетических операторов скрещивания и мутации, а также формирования новой популяции.

Кодирование и декодирование параметров задачи. Как уже было сказано, кодирование параметров задачи для генетического алгоритма GAMИ заключается в настройке соответствующих параметров функций принадлежности нечеткой нейронной сети, которые задаются некоторой параметризованной функцией формы (треугольной, трапецеидальной, гауссовой и др.) с вектором параметров . Так, для треугольной функции принадлежности , где u1k – левое основание; u2k – центр (мода); u3k – правое основание (рис. 3).

Настройка параметров uik функций принадлежности осуществляется в окрестности D=[], ширина которой определяется индивидуально для каждого параметра и может составлять до 30 % ширины ее основания.

Разобьем данную окрестность на 2n интервалов, где n – целое число, например 10. Тогда параметр uik сможет принимать одно из 210 значений, которые будут кодироваться хромосомой {uik} длиной 10 бит. При этом хромосома, состоящая из нулей, соответствует значению параметра , а состоящая из единиц – значению . Таким образом, мощность хромосомного набора для каждого параметра uik функции принадлежности равна числу 2n.

Во время работы алгоритма GAMT происходит настройка выходов Comp-нейронов , область значений которых постоянна и равна [0, 1]. Способ разбиения данного отрезка и кодирование значений выходов Comp-нейронов аналогичны алгоритму GAMИ. При этом мощность хромосомного набора для каждого параметра  также равна числу 2n.

Во время обучения нечеткой нейронной сети возникает необходимость перехода от хромосомного набора к десятичным значениям параметров. Для этого следует выполнить процедуру декодирования, которая является инверсной по отношению к операции кодирования хромосом.

Подпись: Рис. 3. Треугольная функция принадлежности и ее параметры
Создание начальной популяции хромосом. Функционирование генетических алгоритмов начинается с создания начальных популяций хромосом для всех параметров нечеткой нейронной сети, участвующих в обучении. При задании значения числа n мощность хромосомного набора для любого параметра постоянна и равна 2n, где n – длина хромосомы. Объем начальной популяции хромосом N рекомендуется выбирать на порядок меньше числа 2n. Однако при малых значениях n (n<10) данный объем должен быть сравним с числом . Так, например, при n=10 для создания начальной популяции случайным образом выбираются N=100 хромосом chi (i=1, ..., N) из общего хромосомного набора мощностью 1024.

Следует отметить, что значения n<10 выбирать не рекомендуется. Это приводит к малой вариабельности параметров, что в дальнейшем может негативно отразиться на результатах обучения нечеткой нейронной сети.

Оценка приспособленности хромосом в популяции. Когда соответствующие параметры нечеткой нейронной сети закодированы в виде хромосомного набора и сформированы начальные популяции хромосом, необходимо оценить приспособленность каждой хромосомы chi в популяции.

В генетическом алгоритме GAMT в роли функции приспособленности выступает среднеквадратичная ошибка выхода нейронной сети . Соответственно, в алгоритме GAMИ функцией приспособленности является ошибка выхода И-нейрона .

Подпись: Рис. 4. Колесо рулетки для селекции хромосом
Для оценки приспособленности хромосом chi производится расчет значений соответствующих функций приспособленности, на вход которых подаются декодированные значения хромосом. При этом каждой хромосоме chi из общего хромосомного набора ставится в соответствие величина ее приспособленности E(chi).

Селекция хромосом заключается в выборе по рассчитанным значениям функции приспособленности тех хромосом, которые будут участвовать в создании особей следующего поколения. Такой выбор производится согласно принципу естественного отбора, по которому наибольшие шансы на участие в создании потомков имеют хромосомы с наименьшими значениями функции приспособленности (исходя из требования минимизации среднеквадратичной ошибки).

Оператор селекции реализуется на основе метода рулетки [4]. Для каждой хромосомы текущей популяции формируется сектор на колесе рулетки (рис. 4), площадь которого пропорциональна значению инверсной вероятности селекции данной хромосомы: pi=.

С помощью колеса рулетки случайно выбирается число из интервала [0, N], указывающее на сектор колеса, которому соответствует конкретная хромосома. Таким способом из текущей популяции выбираются два кандидата-родителя, к ним в дальнейшем применяются генетические операторы для порождения потомков.

Применение генетических операторов. Основными операторами описываемых генетических алгоритмов являются операторы скрещивания и мутации, применяемые к хромосомному набору соответствующих параметров нечеткой нейронной сети. Рассмотрим пример работы оператора скрещивания (табл. 1).

Таблица 1

Хромосома

Позиция генов

1

i

i+1

n

X

α1

αi

αi+1

αn

Y

β1

βi

βi+1

βn

     

     

Z

α1

αi

βi+1

βn

Q

β1

βi

αi+1

αn

Примечание. Здесь X и Y – исходные решения (родители); Z, Q – новые решения (потомки).

Подпись: Рис. 5. Сформированные функции принадлежности
Как видно из таблицы, в исходных хромо- сомах случайным образом выбирается точка скрещивания (в данном случае в i-й позиции хромосом), после чего происходит обмен противоположными частями родителей. Так рождаются новые потомки. Отметим, что процесс скрещивания носит случайный характер и производится с вероятностью рсÎ[0,5, 1].

Оператор мутации, применяемый к потомкам после скрещивания, также случаен с вероятностью рмÎ[0, 0,05]. Сам процесс мутации заключается в инверсии одного из битов строки дочерних хромосом, выбираемого по равномерному закону.

Таким образом, в результате выполнения генетических операторов исходная популяция хромосом за счет порожденных новых потомков увеличилась на два члена. Однако размер следующего поколения хромосом должен оставаться постоянным.

Формирование новой популяции. Для сокращения размера популяции до исходного числа особей применяется оператор редукции. Для этого оценивается приспособленность каждой хромосомы, после чего из популяции исключаются две хромосомы с максимальным значением целевой функции.

Таким образом, с каждым циклом работы генетических алгоритмов в популяциях остаются только наиболее приспособленные хромосомы, уменьшающие значение среднеквадратичной ошибки выхода нейронной сети. Это значит, что после останова работы алгоритмов получается обученная нечеткая нейронная сеть с функциями принадлежности и правилами, позволяющими с заданной точностью аппроксимировать данные из обучающей выборки.

Апробация нейронечеткой системы

На базе описанной модели формирования баз знаний экспертных систем реализована нейронечеткая система. В качестве примера ее практического использования рассмотрим процесс анализа медицинских данных. Пусть необходимо выявить зависимость между временными параметрами пациента и риском возникновения у него конкретного заболевания.

В качестве входов нейронной сети примем параметры «возраст пациента», «стаж заболевания» и «стаж физических нагрузок», а в качестве выхода – «протрузия межпозвонкового диска». В результате обучения нечеткой нейронной сети получим правила следующего вида:

ЕСЛИ   «Возраст пациента»=«средний» (w=0,47)   И

«Стаж заболевания»=«большой» (w=0,59)  И

«Стаж физических нагрузок»=«большой» (w=0,61)

ТО       «Возможно наличие протрузии межпозвонкового диска» [CF=0,63].

На рисунке 5 показан пример функций принадлежности для параметра «возраст пациента».

По оси абсцисс указан возраст пациента в годах, по оси ординат – степень принадлежности значений возраста к градациям «молодой» (MF1), «средний» (MF2), «пожилой» (MF3).

Особенности формирования базы знаний с использованием нечеткой нейронной сети изучались при разработке экспертной системы диагностики клинических проявлений остеохондроза поясничного отдела позвоночника [5]. Для этого были взяты данные обследования 230 женщин в возрасте от 15 до 92 лет и 180 мужчин в возрасте от 16 до 81 года с различными синдромами поясничного остеохондроза на стационарном этапе обострения и в стадии начинающейся ремиссии. Контрольную группу составили 20 женщин в возрасте от 20 до 70 лет и 20 мужчин в возрасте от 17 до 73 лет, никогда не страдавших поясничными болями.

Для получения системы правил и их параметров измерено более 500 тысяч значений признаков течения поясничного остеохондроза по 822 признакам. В результате применения нейронечеткой системы на более чем 100 обучающих выборках получено более 500 правил, значимость которых подтверждена экспертами – специалистами-верте­броневрологами высокой квалификации.

Результаты проведенного исследования подтвердили возможность и эффективность применения нейронечеткой системы для диагностики в вертеброневрологии.

Анализ эффективности алгоритмов обучения нечеткой нейронной сети

При апробации нечеткой нейронной сети ставилась задача не только оценки ее пригодности для обнаружения продукционных зависимостей в БД, но и анализа эффективности алгоритмов ее обучения. Сравнивались результаты применения гибридного алгоритма обучения нейронной сети с результатами, полученными в предыдущих исследованиях на базе алгоритма обратного распространения ошибки [2] и генетического алгорит- ма [3].

Для этого был проведен ряд численно-па- раметрических исследований сравнения эффективности работы описанных алгоритмов по критериям «скорость обучения» и «точность аппроксимации» на множестве обучающих выборок. По первому критерию оценивались такие параметры, как время обучения нейронной сети и число эпох обучения, по второму – значение выхода сети и ошибка выхода. В таблице 2 отражены основные итоги исследований.

Таблица 2

Алгоритм

Значение параметра

Оцениваемые параметры

Значение выхода

Ошибка выхода

Время обучения

Число эпох

Обратного распространения ошибки

Лучшее

0,7

0,05

00:01:48

96247

Среднее

0,63

0,07

00:02:11

114247

Худшее

0,3

0,25

00:10:27

547195

Генетический

Лучшее

0,62

0,07

00:00:58

517

Среднее

0,57

0,09

00:01:25

736

Худшее

0,43

0,16

00:02:46

1461

Гибридный

Лучшее

0,83

0,01

00:00:16

93

Среднее

0,75

0,03

00:00:42

248

Худшее

0,59

0,08

00:01:07

371

Как видно из таблицы, результаты работы гибридного алгоритма обучения нечеткой нейронной сети по всем критериям лучше соответствующих результатов работы других алгоритмов. В некоторых случаях эффективность гибридного алгоритма сравнима с эффективностью простого генетического алгоритма. При этом эффективность алгоритма обратного распространения ошибки оказалось самой низкой.

В заключение следует отметить, что практическое значение нейронечеткой модели заключается в возможности эффективного формирования баз знаний экспертных систем без участия или с небольшим участием эксперта, ответственного за постановку задачи анализа данных, оценку достоверности сформированных правил и интерпретацию полученных результатов.

Обученная нейронная сеть является адаптивной системой нечеткого логического вывода. Она может использоваться как инструмент эксперта в составе мягкой или партнерской экспертной системы и позволяет заменить (или дополнить) эвристический процесс построения базы знаний на процесс ее автоматизированного формирования, извлекая продукционные закономерности из статистических выборок данных.

Апробация нечеткой нейронной сети на данных медицинской диагностики показала, что получаемые при этом правила с высокой точностью аппроксимируют экспериментальные данные и в большинстве случаев позволяют принимать правильные решения при постановке медицинских диагнозов. Данная сфера явилась лишь значимым примером эффективности работы нейронечеткой системы. Ее применение возможно также и в других областях человеческой деятельности, связанных с решением задач диагностики, управления, прогнозирования.

Таким образом, предложенная в работе нейронечеткая система с гибридным алгоритмом обучения вносит определенный вклад в развитие технологий интеллектуального анализа данных и формирования баз знаний экспертных систем.

Литература

1.   Глова В.И., Аникин И.В., Шагиахметов М.Р. Методы многокритериального принятия решений в условиях неопределенности в задачах нефтедобычи: препр. 04П2. Казань:  Изд-во КГТУ, 2004. 31 с.

2.   Катасев А.С. Нейронечеткая модель и программный комплекс формирования баз знаний экспертных систем: дисс. канд. технич. наук. Казань, 2006.

3.   Катасев А.С., Ахатова Ч.Ф. Нейронечеткая модель формирования баз знаний экспертных систем с генетическим алгоритмом обучения // Проблемы управления и моделирования в сложных системах: тр. XII Междунар. конф. Самара: Самар. науч. центр РАН, 2010. С. 615–621.

4.   Рутковская Д., Пилиньский М., Рутковский Л. Нейронные сети, генетические алгоритмы и нечеткие системы; [пер. с польск. И.Д. Рудинского]. М.: Горячая линия – Телеком, 2006.

5.   Глова В.И. [и др.]. Формирование базы знаний медицинской диагностической экспертной системы на основе нечеткой нейронной сети // Исследования по информатике. Казань: Отечество, 2007. Вып. 12. С. 31–46.



http://swsys.ru/index.php?id=2805&lang=.&page=article


Perhaps, you might be interested in the following articles of similar topics: