если x есть A1, то y есть B1 ,
если x есть A2, то y есть B2,
...
если x есть An, то y есть Bn,
где х и y- входная и выходная переменная соответственно, а А и В- функции принадлежности [2].
Нечеткий логический вывод формируется в несколько шагов:
- введение нечеткости: на этом этапе функции принадлежности применяются к фактическим значениям входных переменных;
- логический вывод: вычисляется значение истинности для предпосылок каждого правила и применяется к заключениям каждого правила. Это приводит к одному нечеткому подмножеству, которое будет назначено каждой переменной вывода для каждого правила;
- композиция: нечеткие подмножества, назначенные каждой переменной вывода, объединяют в одно множество для всех переменных вывода;
- приведение к четкости: используется в случаях, когда необходимо преобразовать нечеткий набор выводов в четкое число.
На этих принципах построено большое количество сетей, рассмотрим подробнее одну из них - сеть Ванга - Менделя. Структура такой сети представляет собой четырехслойную нейронную сеть, в которой первый слой выполняет фазификацию входных переменных, второй - агрегирование значений активации условия, третий - агрегирование М правил вывода (первый нейрон) и генерацию нормализующего сигнала (второй нейрон), тогда как состоящий из одного нейрона выходной слой осуществляет нормализацию, формируя выходной сигнал [1,3].
В этой сети первый и третий слой являются параметрическими: первый слой содержит M*N*2 параметров функции Гаусса, а третий - М параметров wi.
Выходной сигнал сети Ванга - Менделя рассчитывается по формуле:
, (1)
где wi - весовой коэффициент, μij() - функция Гаусса с параметрами математического ожидания, которое определяет центр cij и параметрами разброса, которые определяются средним квадратическим отклонением dij,
- функция Гаусса.
Рис. 1. Структура сети Ванга - Менделя
Задача сети состоит в построении такого отображения пар данных (x, d), чтобы ожидаемое значение, соответствующее входному вектору x, формировалось выходной функцией y(x).
Обучение нечетких сетей, также как и классических сетей, может проводиться по алгоритму с учителем, основанному на минимизации целевой функции, задаваемой с использованием евклидовой нормы как
, где p - количество обучающих пар (x, d).
Для обучения нечеткой нейронной сети применяют алгоритм, включающий последовательное чередование следующих шагов:
- для фиксированных значений параметров cij и dij первого слоя вычисляются значения параметров wi третьего слоя сети;
- при зафиксированных значениях параметров wi третьего слоя уточняются параметры cij и dij первого слоя сети.
Таким образом, на первом этапе для K обучающих выборок , k=1, 2, ... K, получаем систему K линейных уравнений , где W - вектор, составленный из линейных коэффициентов wi, D - вектор эталонных ответов сети, . Количество строк K матрицы PV значительно больше количества ее столбцов. Решение этой системы линейных алгебраических уравнений может быть получено за один шаг следующим образом: , где - псевдообратная матрица для матрицы PV.
На втором этапе фиксируются значения коэффициентов полиномов третьего слоя и осуществляется уточнение (обычно многократное) коэффициентов функции Гаусса для первого слоя сети стандартным методом градиента: , , где k - номер очередного цикла обучения, vc - скорость обучения для коэффициентов cij, vd - скорость обучения для коэффициентов dij, - ошибка сети, где L - общее число обучающих выборок, yl- выход сети Ванга-Менделя для данной выборки, - эталонное значение выхода сети Ванга - Менделя [1,2].
Производные и вычисляются по формулам:
, .
Производные и можно найти по формулам:
, ,
где - функция Гаусса
Поскольку в череде этапов этап уточнения параметров функции Гаусса имеет много меньшую скорость сходимости, то в ходе обучения реализацию этапа 1, как правило, сопровождает реализация нескольких этапов 2.
Часто требуется найти «решение» системы, которая решений (в обычном смысле) не имеет. Выходом из ситуации является нахождение таких значений неизвестных параметров, что все условия системы выполняются «в некоторой степени».
Матрица A+ называется псевдообратной матрицей для матрицы A, если . Отсюда сразу вытекает, что если матрица A имеет размер m x n, то псевдообратная матрица A+ имеет размер n x m .
Опишем и другой, часто встречающийся в литературе подход к определению этого понятия. Сначала введём понятие псевдорешения системы уравнений. Пусть нам дана система уравнений
Ax = b, (2)
где A - матрица размера m x n, b - вектор из m элементов.
Любое решение этой системы является также и решением системы
(3)
Псевдорешением системы (2) называется решение системы (3) с минимальной нормой среди всех столбцов, имеющих минимальную невязку (норма вектора равна квадратному корню из суммы квадратов компонент вектора, а невязкой решения системы (2) называется норма вектора Ax-b).
Псевдообратной матрицей для матрицы A размера m x n называется матрица A+, столбцы которой - псевдорешения систем вида Ax=ei,
где ei - i-ый столбец единичной матрицы порядка m.
К универсальным способам нахождения псевдообратной матрицы относятся рекуррентные алгоритмы Гревиля и Фадеева. В данной работе приведем алгоритм Гревиля для псевдообращения матриц.
Пусть дана матрица A ∈ R min и ak - ее k-й столбец, k = 1, . . ., n.
Пусть Ak - матрица, составленная из k первых столбцов матрицы A:
При k = 1: A1 = a1, а при k = 2, . . . , n: ; An=A.
Матрица A+∈ Rmin может быть вычислена с помощью рекуррентного алгоритма:
1. Инициализация.
2. Цикл по k=2, ..., n.
, где I - единичная матрица порядка m,
Полученная на последнем шаге матрица A+n и есть псевдообратная матрица, которая является искомым решением.
Принцип нечеткой логики достаточно давно используется для решения задач, в которых исходные данные являются слабо формализованными или же ненадежными. Основными преимуществами сетей с такой структурой являются:
- удобство представления информации: описание постановки задачи и условий производится на языке близком к естественному;
- универсальность: согласно теореме нечеткой аппроксимации, любая математическая модель может быть аппроксимирована системой, построенной на нечеткой логике;
- эффективность: ряд теорем, подобных теоремам о полноте для искусственных нейронных сетей, показывают высокую эффективность работы таких сетей.
Однако, такой организации нейронных сетей присущ и ряд недостатков:
- исходный набор нечетких правил формируется человеком, что не всегда является объективным, а иногда неполным или даже противоречивым;
- вид и параметры данных, связывающих вход и выход, также определяются субъективно и не всегда отражают действительность.
Каждый тип архитектуры интеллектуальных систем обладает своими особенностями в части обучения сети, обработки данных и вычисления конечного результата, что позволяет использовать одни типы архитектур для решения задач, к которым не применимы другие. Так, например, использование искусственных нейронных сетей в задачах по распознаванию образов имеет широкое применение, однако, объяснить принцип работы сетей достаточно сложно. Сети могут самостоятельно получать данные и обрабатывать их, однако, процесс обучения сетей достаточно долог, кроме того, анализ полученной в конечном итоге сети достаточно сложен. При этом, ввод в нейронную сеть какой-либо заранее достоверной информации не возможен [5].
Рассматривая системы, построенные на нечеткой логике, можно утверждать обратное - данные, получаемые на выходе таких систем, легки в понимании, однако, такие системы не могут самостоятельно получать информацию, которую можно использовать в дальнейшем при формировании выходных данных.
Как мы видим, искусственные нейронные сети и системы с нечеткой логикой схожи между собой, однако, каждая из них имеет свои достоинства и недостатки. Данный вывод был взят за основу при создании нечетких нейронных сетей. Такие сети строят решение на основе аппарата нечеткой логики, однако функции принадлежности настраиваются с помощью алгоритмов обучения искусственных нейронных сетей [3,5]. Кроме того, такие сети не только могут обучаться, но и способны учитывать априорную информацию. По своей структуре нечеткие нейронные сети схожи с многослойными сетями, например, с сетью, обучающейся по алгоритму обратного распространения, но скрытые слои в нечетких сетях соответствуют этапам работы нечеткой системы: первый слой производит введение нечеткости, исходя из заданных признаков входов; второй слой определяет множество нечетких правил; третий слой выполняет функцию приведения к четкости. В каждом из указанных слоев имеется набор параметров, настройка которых производится так же, как и настройка обычной нейронной сети.
Рецензенты:
- Шашкин А.И., д.ф.-м.н., зав. кафедрой математического и прикладного анализа ФГБОУ ВПО «Воронежский государственный университет», г. Воронеж.
- Кургалин С.Д., д.ф.-м.н., зав. кафедрой цифровых технологий ФГБОУ ВПО «Воронежский государственный университет», г. Воронеж.