Генетические алгоритмы и нечеткая логика. "Мягкие" вычисления

1

Мищенко В.А. 1 Коробкин А.А. 2

1 Воронежский государственный педагогический университет, Воронеж

2 Воронежский государственный университет, Воронеж

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

нечеткая логика

нечеткие нейронные сети

1. Аксенов С.В., Новосельцев В.Б. Организация и использование нейронных сетей (методы и технологии) / Под общ. ред. В.Б. Новосельцева. – Томск: Изд-во НТЛ, 2006. – 128 с.

2. Батыршин И.З. Нечеткие гибридные системы. Теория и практика / Под ред. Н.Г. Ярушкиной. – М.ФИЗМАТЛИТ, 2007. – 208 с.

3. Осовский С. Нейронные сети для обработки информации / Пер. с польского И.Д. Рудинского. – М.: Финансы и статистика, 2002. – 344 с.

5. Яхъева Г.Э. Нечеткие множества и нейронные сети: Учебное пособие / Г.Э. Яхъева. – М.: Интернет-Университет Информационных технологий; БИНОМ. Лаборатория знаний, 2006. – 316 с.

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

Если x есть A 1 , то y есть B 1 ,

Если x есть A 2 , то y есть B 2 ,

Если x есть A n , то y есть B n ,

где х и y - входная и выходная переменная соответственно, а А и В - функции принадлежности .

Нечеткий логический вывод формируется в несколько шагов:

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

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

В этой сети первый и третий слой являются параметрическими: первый слой содержит M* N*2 параметров функции Гаусса, а третий - М параметров w i.

Выходной сигнал сети Ванга - Менделя рассчитывается по формуле:

, (1)

где w i - весовой коэффициент, μ ij () - функция Гаусса с параметрами математического ожидания, которое определяет центр c ij и параметрами разброса, которые определяются средним квадратическим отклонением d ij ,

- функция Гаусса.

Рис. 1. Структура сети Ванга - Менделя

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

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

, где p - количество обучающих пар (x, d ).

Для обучения нечеткой нейронной сети применяют алгоритм, включающий последовательное чередование следующих шагов:

  • для фиксированных значений параметров c ij и d i j первого слоя вычисляются значения параметров w i третьего слоя сети;
  • при зафиксированных значениях параметров w i третьего слоя уточняются параметры c ij и d ij первого слоя сети.

Таким образом, на первом этапе для K обучающих выборок , k=1, 2, ... K , получаем систему K линейных уравнений , где W - вектор, составленный из линейных коэффициентов w i , D - вектор эталонных ответов сети, . Количество строк K матрицы PV значительно больше количества ее столбцов. Решение этой системы линейных алгебраических уравнений может быть получено за один шаг следующим образом: , где - псевдообратная матрица для матрицы PV .

На втором этапе фиксируются значения коэффициентов полиномов третьего слоя и осуществляется уточнение (обычно многократное) коэффициентов функции Гаусса для первого слоя сети стандартным методом градиента: , , где k - номер очередного цикла обучения, v c - скорость обучения для коэффициентов c ij , v d - скорость обучения для коэффициентов d ij , - ошибка сети, где L - общее число обучающих выборок, y l - выход сети Ванга-Менделя для данной выборки, - эталонное значение выхода сети Ванга - Менделя .

Производные и вычисляются по формулам:

, .

Производные и можно найти по формулам:

, ,

где - функция Гаусса

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

Часто требуется найти «решение» системы, которая решений (в обычном смысле) не имеет. Выходом из ситуации является нахождение таких значений неизвестных параметров, что все условия системы выполняются «в некоторой степени».

Матрица A + называется псевдообратной матрицей для матрицы A , если . Отсюда сразу вытекает, что если матрица A имеет размер m x n , то псевдообратная матрица A + имеет размер n x m .

Опишем и другой, часто встречающийся в литературе подход к определению этого понятия. Сначала введём понятие псевдорешения системы уравнений. Пусть нам дана система уравнений

где A - матрица размера m x n , b - вектор из m элементов.

Любое решение этой системы является также и решением системы

Псевдорешением системы (2) называется решение системы (3) с минимальной нормой среди всех столбцов, имеющих минимальную невязку (норма вектора равна квадратному корню из суммы квадратов компонент вектора, а невязкой решения системы (2) называется норма вектора Ax-b ).

Псевдообратной матрицей для матрицы A размера m x n называется матрица A + , столбцы которой - псевдорешения систем вида Ax=e i ,

где e i - i -ый столбец единичной матрицы порядка m .

К универсальным способам нахождения псевдообратной матрицы относятся рекуррентные алгоритмы Гревиля и Фадеева. В данной работе приведем алгоритм Гревиля для псевдообращения матриц.

Пусть дана матрица A R min и a k - ее k -й столбец, k = 1, . . ., n .

Пусть A k - матрица, составленная из k первых столбцов матрицы A :

При k = 1: A 1 = a 1 , а при k = 2, . . . , n : ; A n =A.

Матрица A + R min может быть вычислена с помощью рекуррентного алгоритма:

1. Инициализация.

2. Цикл по k =2, ..., n.

, где I - единичная матрица порядка m ,

Полученная на последнем шаге матрица A + n и есть псевдообратная матрица, которая является искомым решением.

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

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

Однако, такой организации нейронных сетей присущ и ряд недостатков:

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

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

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

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

Рецензенты:

  • Шашкин А.И., д.ф.-м.н., зав. кафедрой математического и прикладного анализа ФГБОУ ВПО «Воронежский государственный университет», г. Воронеж.
  • Кургалин С.Д., д.ф.-м.н., зав. кафедрой цифровых технологий ФГБОУ ВПО «Воронежский государственный университет», г. Воронеж.

Библиографическая ссылка

Мищенко В.А., Коробкин А.А. ПРИНЦИПЫ НЕЧЕТКОЙ ЛОГИКИ НА ПРИМЕРЕ НЕЧЕТКИХ НЕЙРОННЫХ СЕТЕЙ // Современные проблемы науки и образования. – 2012. – № 1.;
URL: http://science-education.ru/ru/article/view?id=5321 (дата обращения: 01.02.2020). Предлагаем вашему вниманию журналы, издающиеся в издательстве «Академия Естествознания»

Математическая теория нечетких множеств (fuzzy sets) и нечеткая логика (fuzzy logic) являются обобщениями классической теории множеств и классической формальной логики. Данные понятия были впервые предложены американским ученым Лотфи Заде (Lotfi Zadeh) в 1965 г. Основной причиной появления новой теории стало наличие нечетких и приближенных рассуждений при описании человеком процессов, систем, объектов.

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

Первый период (конец 60-х–начало 70 гг.) характеризуется развитием теоретического аппарата нечетких множеств (Л. Заде, Э. Мамдани, Беллман). Во втором периоде (70–80-е годы) появляются первые практические результаты в области нечеткого управления сложными техническими системами (парогенератор с нечетким управлением). Одновременно стало уделяться внимание вопросам построения экспертных систем, построенных на нечеткой логике, разработке нечетких контроллеров. Нечеткие экспертные системы для поддержки принятия решений находят широкое применение в медицине и экономике. Наконец, в третьем периоде, который длится с конца 80-х годов и продолжается в настоящее время, появляются пакеты программ для построения нечетких экспертных систем, а области применения нечеткой логики заметно расширяются. Она применяется в автомобильной, аэрокосмической и транспортной промышленности, в области изделий бытовой техники, в сфере финансов, анализа и принятия управленческих решений и многих других.

Триумфальное шествие нечеткой логики по миру началось после доказательства в конце 80-х Бартоломеем Коско знаменитой теоремы FAT (Fuzzy Approximation Theorem). В бизнесе и финансах нечеткая логика получила признание после того как в 1988 году экспертная система на основе нечетких правил для прогнозирования финансовых индикаторов единственная предсказала биржевой крах. И количество успешных фаззи-применений в настоящее время исчисляется тысячами.

Математический аппарат

Характеристикой нечеткого множества выступает функция принадлежности (Membership Function). Обозначим через MF c (x) – степень принадлежности к нечеткому множеству C, представляющей собой обобщение понятия характеристической функции обычного множества. Тогда нечетким множеством С называется множество упорядоченных пар вида C={MF c (x)/x}, MF c (x) . Значение MF c (x)=0 означает отсутствие принадлежности к множеству, 1 – полную принадлежность.

Проиллюстрируем это на простом примере. Формализуем неточное определение "горячий чай". В качестве x (область рассуждений) будет выступать шкала температуры в градусах Цельсия. Очевидно, что она будет изменяется от 0 до 100 градусов. Нечеткое множество для понятия "горячий чай" может выглядеть следующим образом:

C={0/0; 0/10; 0/20; 0,15/30; 0,30/40; 0,60/50; 0,80/60; 0,90/70; 1/80; 1/90; 1/100}.

Так, чай с температурой 60 С принадлежит к множеству "Горячий" со степенью принадлежности 0,80. Для одного человека чай при температуре 60 С может оказаться горячим, для другого – не слишком горячим. Именно в этом и проявляется нечеткость задания соответствующего множества.

Для нечетких множеств, как и для обычных, определены основные логические операции. Самыми основными, необходимыми для расчетов, являются пересечение и объединение.

Пересечение двух нечетких множеств (нечеткое "И"): A B: MF AB (x)=min(MF A (x), MF B (x)).
Объединение двух нечетких множеств (нечеткое "ИЛИ"): A B: MF AB (x)=max(MF A (x), MF B (x)).

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

Для описания нечетких множеств вводятся понятия нечеткой и лингвистической переменных.

Нечеткая переменная описывается набором (N,X,A), где N – это название переменной, X – универсальное множество (область рассуждений), A – нечеткое множество на X.
Значениями лингвистической переменной могут быть нечеткие переменные, т.е. лингвистическая переменная находится на более высоком уровне, чем нечеткая переменная. Каждая лингвистическая переменная состоит из:

  • названия;
  • множества своих значений, которое также называется базовым терм-множеством T. Элементы базового терм-множества представляют собой названия нечетких переменных;
  • универсального множества X;
  • синтаксического правила G, по которому генерируются новые термы с применением слов естественного или формального языка;
  • семантического правила P, которое каждому значению лингвистической переменной ставит в соответствие нечеткое подмножество множества X.

Рассмотрим такое нечеткое понятие как "Цена акции". Это и есть название лингвистической переменной. Сформируем для нее базовое терм-множество, которое будет состоять из трех нечетких переменных: "Низкая", "Умеренная", "Высокая" и зададим область рассуждений в виде X= (единиц). Последнее, что осталось сделать – построить функции принадлежности для каждого лингвистического терма из базового терм-множества T.

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

Треугольная функция принадлежности определяется тройкой чисел (a,b,c), и ее значение в точке x вычисляется согласно выражению:

$$MF\,(x) = \,\begin{cases} \;1\,-\,\frac{b\,-\,x}{b\,-\,a},\,a\leq \,x\leq \,b &\ \\ 1\,-\,\frac{x\,-\,b}{c\,-\,b},\,b\leq \,x\leq \,c &\ \\ 0, \;x\,\not \in\,(a;\,c)\ \end{cases}$$

При (b-a)=(c-b) имеем случай симметричной треугольной функции принадлежности, которая может быть однозначно задана двумя параметрами из тройки (a,b,c).

Аналогично для задания трапецеидальной функции принадлежности необходима четверка чисел (a,b,c,d):

$$MF\,(x)\,=\, \begin{cases} \;1\,-\,\frac{b\,-\,x}{b\,-\,a},\,a\leq \,x\leq \,b & \\ 1,\,b\leq \,x\leq \,c & \\ 1\,-\,\frac{x\,-\,c}{d\,-\,c},\,c\leq \,x\leq \,d &\\ 0, x\,\not \in\,(a;\,d) \ \end{cases}$$

При (b-a)=(d-c) трапецеидальная функция принадлежности принимает симметричный вид.

Функция принадлежности гауссова типа описывается формулой

$$MF\,(x) = \exp\biggl[ -\,{\Bigl(\frac{x\,-\,c}{\sigma}\Bigr)}^2\biggr]$$

и оперирует двумя параметрами. Параметр c обозначает центр нечеткого множества, а параметр отвечает за крутизну функции.

Совокупность функций принадлежности для каждого терма из базового терм-множества T обычно изображаются вместе на одном графике. На рисунке 3 приведен пример описанной выше лингвистической переменной "Цена акции", на рисунке 4 – формализация неточного понятия "Возраст человека". Так, для человека 48 лет степень принадлежности к множеству "Молодой" равна 0, "Средний" – 0,47, "Выше среднего" – 0,20.

Количество термов в лингвистической переменной редко превышает 7.

Нечеткий логический вывод

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

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

В противном случае имеет место неполная база нечетких правил.

Пусть в базе правил имеется m правил вида:
R 1: ЕСЛИ x 1 это A 11 … И … x n это A 1n , ТО y это B 1

R i: ЕСЛИ x 1 это A i1 … И … x n это A in , ТО y это B i

R m: ЕСЛИ x 1 это A i1 … И … x n это A mn , ТО y это B m ,
где x k , k=1..n – входные переменные; y – выходная переменная; A ik – заданные нечеткие множества с функциями принадлежности.

Результатом нечеткого вывода является четкое значение переменной y * на основе заданных четких значений x k , k=1..n.

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

Алгоритмы нечеткого вывода различаются главным образом видом используемых правил, логических операций и разновидностью метода дефазификации. Разработаны модели нечеткого вывода Мамдани, Сугено, Ларсена, Цукамото.

Рассмотрим подробнее нечеткий вывод на примере механизма Мамдани (Mamdani). Это наиболее распространенный способ логического вывода в нечетких системах. В нем используется минимаксная композиция нечетких множеств. Данный механизм включает в себя следующую последовательность действий.

  1. Процедура фазификации: определяются степени истинности, т.е. значения функций принадлежности для левых частей каждого правила (предпосылок). Для базы правил с m правилами обозначим степени истинности как A ik (x k), i=1..m, k=1..n.
  2. Нечеткий вывод. Сначала определяются уровни "отсечения" для левой части каждого из правил:

    $$alfa_i\,=\,\min_i \,(A_{ik}\,(x_k))$$

    $$B_i^*(y)= \min_i \,(alfa_i,\,B_i\,(y))$$

    Композиция, или объединение полученных усеченных функций, для чего используется максимальная композиция нечетких множеств:

    $$MF\,(y)= \max_i \,(B_i^*\,(y))$$

    где MF(y) – функция принадлежности итогового нечеткого множества.

    Дефазификация, или приведение к четкости. Существует несколько методов дефазификации. Например, метод среднего центра, или центроидный метод:
    $$MF\,(y)= \max_i \,(B_i^*\,(y))$$

Геометрический смысл такого значения – центр тяжести для кривой MF(y). Рисунок 6 графически показывает процесс нечеткого вывода по Мамдани для двух входных переменных и двух нечетких правил R1 и R2.

Интеграция с интеллектуальными парадигмами

Гибридизация методов интеллектуальной обработки информации – девиз, под которым прошли 90-е годы у западных и американских исследователей. В результате объединения нескольких технологий искусственного интеллекта появился специальный термин – "мягкие вычисления" (soft computing), который ввел Л. Заде в 1994 году. В настоящее время мягкие вычисления объединяют такие области как: нечеткая логика, искусственные нейронные сети, вероятностные рассуждения и эволюционные алгоритмы. Они дополняют друг друга и используются в различных комбинациях для создания гибридных интеллектуальных систем.

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

Нечеткие нейронные сети

Нечеткие нейронные сети (fuzzy-neural networks) осуществляют выводы на основе аппарата нечеткой логики, однако параметры функций принадлежности настраиваются с использованием алгоритмов обучения НС. Поэтому для подбора параметров таких сетей применим метод обратного распространения ошибки, изначально предложенный для обучения многослойного персептрона. Для этого модуль нечеткого управления представляется в форме многослойной сети. Нечеткая нейронная сеть как правило состоит из четырех слоев: слоя фазификации входных переменных, слоя агрегирования значений активации условия, слоя агрегирования нечетких правил и выходного слоя.

Наибольшее распространение в настоящее время получили архитектуры нечеткой НС вида ANFIS и TSK. Доказано, что такие сети являются универсальными аппроксиматорами.

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

Адаптивные нечеткие системы

Классические нечеткие системы обладают тем недостатком, что для формулирования правил и функций принадлежности необходимо привлекать экспертов той или иной предметной области, что не всегда удается обеспечить. Адаптивные нечеткие системы (adaptive fuzzy systems) решают эту проблему. В таких системах подбор параметров нечеткой системы производится в процессе обучения на экспериментальных данных. Алгоритмы обучения адаптивных нечетких систем относительно трудоемки и сложны по сравнению с алгоритмами обучения нейронных сетей, и, как правило, состоят из двух стадий: 1. Генерация лингвистических правил; 2. Корректировка функций принадлежности. Первая задача относится к задаче переборного типа, вторая – к оптимизации в непрерывных пространствах. При этом возникает определенное противоречие: для генерации нечетких правил необходимы функции принадлежности, а для проведения нечеткого вывода – правила. Кроме того, при автоматической генерации нечетких правил необходимо обеспечить их полноту и непротиворечивость.

Значительная часть методов обучения нечетких систем использует генетические алгоритмы. В англоязычной литературе этому соответствует специальный термин – Genetic Fuzzy Systems.

Значительный вклад в развитие теории и практики нечетких систем с эволюционной адаптацией внесла группа испанских исследователей во главе с Ф. Херрера (F. Herrera).

Нечеткие запросы

Нечеткие запросы к базам данных (fuzzy queries) – перспективное направление в современных системах обработки информации. Данный инструмент дает возможность формулировать запросы на естественном языке, например: "Вывести список недорогих предложений о съеме жилья близко к центру города", что невозможно при использовании стандартного механизма запросов. Для этой цели разработана нечеткая реляционная алгебра и специальные расширения языков SQL для нечетких запросов. Большая часть исследований в этой области принадлежит западноевропейским ученым Д. Дюбуа и Г. Праде.

Нечеткие ассоциативные правила

Нечеткие ассоциативные правила (fuzzy associative rules) – инструмент для извлечения из баз данных закономерностей, которые формулируются в виде лингвистических высказываний. Здесь введены специальные понятия нечеткой транзакции, поддержки и достоверности нечеткого ассоциативного правила.

Нечеткие когнитивные карты

Нечеткие когнитивные карты (fuzzy cognitive maps) были предложены Б. Коско в 1986 г. и используются для моделирования причинных взаимосвязей, выявленных между концептами некоторой области. В отличие от простых когнитивных карт, нечеткие когнитивные карты представляют собой нечеткий ориентированный граф, узлы которого являются нечеткими множествами. Направленные ребра графа не только отражают причинно-следственные связи между концептами, но и определяют степень влияния (вес) связываемых концептов. Активное использование нечетких когнитивных карт в качестве средства моделирования систем обусловлено возможностью наглядного представления анализируемой системы и легкостью интерпретации причинно-следственных связей между концептами. Основные проблемы связаны с процессом построения когнитивной карты, который не поддается формализации. Кроме того, необходимо доказать, что построенная когнитивная карта адекватна реальной моделируемой системе. Для решения данных проблем разработаны алгоритмы автоматического построения когнитивных карт на основе выборки данных.

Нечеткая кластеризация

Нечеткие методы кластеризации, в отличие от четких методов (например, нейронные сети Кохонена), позволяют одному и тому же объекту принадлежать одновременно нескольким кластерам, но с различной степенью. Нечеткая кластеризация во многих ситуациях более "естественна", чем четкая, например, для объектов, расположенных на границе кластеров. Наиболее распространены: алгоритм нечеткой самоорганизации c-means и его обобщение в виде алгоритма Густафсона-Кесселя.

Литература

  • Заде Л. Понятие лингвистической переменной и его применение к принятию приближенных решений. – М.: Мир, 1976.
  • Круглов В.В., Дли М.И. Интеллектуальные информационные системы: компьютерная поддержка систем нечеткой логики и нечеткого вывода. – М.: Физматлит, 2002.
  • Леоленков А.В. Нечеткое моделирование в среде MATLAB и fuzzyTECH. – СПб., 2003.
  • Рутковская Д., Пилиньский М., Рутковский Л. Нейронные сети, генетические алгоритмы и нечеткие системы. – М., 2004.
  • Масалович А. Нечеткая логика в бизнесе и финансах. www.tora-centre.ru/library/fuzzy/fuzzy-.htm
  • Kosko B. Fuzzy systems as universal approximators // IEEE Transactions on Computers, vol. 43, No. 11, November 1994. – P. 1329-1333.
  • Cordon O., Herrera F., A General study on genetic fuzzy systems // Genetic Algorithms in engineering and computer science, 1995. – P. 33-57.

В основе нечеткой логики лежит теория нечетких множеств, изложенная в серии работ Л. Заде в 1965-1973 годах. Математическая теория нечетких множеств (fuzzy sets) и нечеткая логика (fuzzy logic) являются обобщениями классической теории множеств и классической формальной логики. Основной причиной появления новой теории стало наличие нечетких и приближенных рассуждений при описании человеком процессов, систем, объектов.

Л. Заде, формулируя это главное свойство нечетких множеств, базировался на трудах предшественников. В начале 1920-х годов польский математик Лукашевич трудился над принципами многозначной математической логики, в которой значениями предикатов могли быть не только «истина» или «ложь». В 1937 году еще один американский ученый М. Блэк впервые применил многозначную логику Лукашевича к спискам как множествам объектов и назвал такие множества неопределенными.

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

Первый период развития нечетких систем (конец 60-х – начало 70-х гг.) характеризуется развитием теоретического аппарата нечетких множеств. В 1970 году Беллман совместно с Заде разработали теорию принятия решений в нечетких условиях.

В 70-80 годы (второй период) появляются первые практические результаты в области нечеткого управления сложными техническими системами (парогенератор с нечетким управлением). И. Мамдани в 1975 году спроектировал первый функционирующий на основе алгебры Заде контроллер, управляющий паровой турбиной. Одновременно стало уделяться внимание вопросам создания экспертных систем, построенных на нечеткой логике, разработке нечетких контроллеров. Нечеткие экспертные системы для поддержки принятия решений нашли широкое применение в медицине и экономике.

Наконец, в третьем периоде, который длится с конца 80-х годов и продолжается в настоящее время, появляются пакеты программ для построения нечетких экспертных систем, а области применения нечеткой логики заметно расширяются. Она применяется в автомобильной, аэрокосмической и транспортной промышленности, в области изделий бытовой техники, в сфере финансов, анализа и принятия управленческих решений и многих других. Кроме того, немалую роль в развитии нечеткой логики сыграло доказательство знаменитой теоремы FAT (Fuzzy Approximation Theorem) Б. Коско, в которой утверждалось, что любую математическую систему можно аппроксимировать системой на основе нечеткой логики.


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

Достоинства нечетких систем:

· функционирование в условиях неопределенности;

· оперирование качественными и количественными данными;

· использование экспертных знаний в управлении;

· построение моделей приближенных рассуждений человека;

· устойчивость при действии на систему всевозможных возмущений.

Недостатками нечетких систем являются:

· отсутствие стандартной методики конструирования нечетких систем;

· невозможность математического анализа нечетких систем существующими методами;

· применение нечеткого подхода по сравнению с вероятностным не приводит к повышению точности вычислений.

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

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

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

Более строго: нечетким множеством A называется совокупность пар

где – функция принадлежности, то есть

Пусть, например, U ={a, b, c, d, e}, . Тогда элемент a не принадлежит множеству A, элемент b принадлежит ему в малой степени, элемент c более или менее принадлежит, элемент d принадлежит в значительной степени, e является элементом множества A.

Пример. Пусть универсум U есть множество действительных чисел. Нечеткое множество A, обозначающее множество чисел, близких к 10, можно задать следующей функцией принадлежности (рис. 21.1):

,

Название: Нечеткая логика и искусственные нейронные сети.

Как известно, аппарат нечетких множеств и нечеткой логики уже давно (более 10 лет) с успехом применяется для решения задач, в которых исходные данные являются ненадежными и слабо формализованными. Сильные стороны такого подхода:
-описание условий и метода решения задачи на языке, близком к естественному;
-универсальность: согласно знаменитой теореме FAT (Fuzzy Approximation Theorem), доказанной Б.Коско (B.Kosko) в 1993 г., любая математическая система может быть аппроксимирована системой, основанной на нечеткой логике;

Вместе с тем для нечетких экспертных и управляющих систем характерны и определенные недостатки:
1) исходный набор постулируемых нечетких правил формулируется экспертом-человеком и может оказаться неполным или противоречивым;
2) вид и параметры функций принадлежности, описывающих входные и выходные переменные системы, выбираются субъективно и могут оказаться не вполне отражающими реальную действительность.
Для устранения, по крайней мере, частично, указанных недостатков рядом авторов было предложено выполнять нечеткие экспертные и управляющие системы адаптивными - корректируя, по мере работы системы, и правила и параметры функций принадлежности. Среди нескольких вариантов такой адаптации одним из самых удачных, по-видимому, является метод так называемых гибридных нейронных сетей.
Гибридная нейронная сеть формально по структуре идентична многослойной нейронной сети с обучением, например, по алгоритму обратного распространения ошибки, но скрытые слои в ней соответствуют этапам функционирования нечеткой системы. Так:
-1-й слой нейронов выполняет функцию введения нечеткости на основе заданных функций принадлежности входов;
-2-й слой отображает совокупность нечетких правил;
-3-й слой выполняет функцию приведения к четкости.
Каждый из этих слоев характеризуется набором параметров (параметрами функций принадлежности, нечетких решающих правил, акти-
вационных функций, весами связей), настройка которых производится, в сущности, так же, как для обычных нейронных сетей.
В книге рассмотрены теоретические аспекты составляющих подобных сетей, именно, аппарат нечеткой логики, основы теории искусственных нейронных сетей и собственно гибридных сетей применительно к Задачам управления и принятия решений в условиях неопределенности.
Особое внимание уделено программной реализации моделей указанных подходов инструментальными средствами математической системы MATLAB 5.2/5.3.

Предыдущие статьи:


Размещено на http :// www . сайт . ru /

МИНОБРНАУКИ РОССИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»

Факультет Прикладной математики, информатики и механики

Курсовая работа

38.03.05 Бизнес-информатика

по курсу «Нечеткая логика и нейронные сети»

Воронеж 2016

Глава 1. Решение задач прогнозирования цен на акции «Мазут»

Глава 2. Построение системы «Набор программистов» нечёткого логического вывода

Первая часть курсовой работы заключается в построении прогноза цен на акции «Мазут» на 5 дней вперед.

На рисунке 1 представлены данные, которые необходимо использовать для прогноза: LOW и CLOSE.

Дальше нужно запустить модуль «Neural networks. Во вкладке «Quick» выбираем тип задачи: «Time Series» После этого выбираем входные и выходные данные во вкладке «Variables». В курсовой работе будем строить прогноз для одной переменной «LOW», она будет и входной, и выходной переменной.(Рисунок 2).

Затем выбираем модуль «Intelligent Problem Solver», нажимаем «Ok» и в открывшемся окне задаем необходимые для прогнозирования параметры.

Во вкладке «Quick» задаем количество обучаемых сетей («Network tested»), в данном примере обучаться будут 500 сетей. В параметре «Network retained» ставим 10 сетей. Здесь программа выберет 10 наилучших сетей. (рисунок 3).

прогнозирование цена нечеткий логика

Выбираем следующую вкладку «Time series» (рисунок 4). Здесь задаем количество входов для прогнозирования.

Во вкладке «Feedback» выбираем следующее: «Improved networks (real time)» и ставим галочки в двух последних параметрах. Это указано на рисунке 5.

Во вкладке «Types» выбираем тип необходимой нам сети. Мы строим сети, используя многослойные персептроны (рисунок 6). Нужные нам параметры: «Three layer perceptron» и «Four layer perceptron»

После выбора всех параметров, нажимаем кнопку «OK». После идентификации процесса построения сетей появляется окно, во вкладке «Quick» нажимаем кнопку «Descriptive statistic» (рисунок 7).

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

Нам важно значение ошибки «S.D. Ratio»

Она наиболее пригодна для целей сравнения, так как представляет собой число между 1 и 0 и не зависит от знака.

Проанализировав данные результаты, выбираем сети под номерами:1,2,3,4,5. (Рисунок 8)

На вкладке «Plots» («Графики») строим графики выбранных 5 моделей. Отбираем наиболее удачные графики. Критерием выбора является симметричность. Из выбранных 5 сетей удовлетворяют условию графики 2 сети (рисунок 9) и 3 сети (рисунок 10).

Затем снова выбираем 2 модели и в открывшемся окне в параметре «Length of projection» ставим 5, а в параметре «Case» (здесь выбирается день, с какого начнется прогноз 310) Это означает, что прогноз будет сделан на 5 дней вперед. Нажимаем кнопку «Time series spreadsheet».(рисунок 11)

Открывается окно, где показаны цены на акции с 310 по 314 день, смоделированные нашими сетями. Добавляем новый столбец NewVar, куда копируем цены из нашей исходной таблицы (рисунок 12).

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

Система «Набор программистов»

1.Входные данные

· Знания английского языка

· Владение компьютером

Множество определения -

Множество термов - {низкое, среднее, высокое}

· Стаж работы

Множество определения -

Множество термов - {мало, достаточно, много}

Множество определения -

Множество термов - {низкий, средний, высокий, очень высокий}


Подобные документы

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

    презентация , добавлен 29.10.2013

    Рождение искусственного интеллекта. История развития нейронных сетей, эволюционного программирования, нечеткой логики. Генетические алгоритмы, их применение. Искусственный интеллект, нейронные сети, эволюционное программирование и нечеткая логика сейчас.

    реферат , добавлен 22.01.2015

    Модели оценки кредитоспособности физических лиц в российских банках. Нейронные сети как метод решения задачи классификации. Описание возможностей программы STATISTICA 8 Neural Networks. Общая характеристика основных этапов нейросетевого моделирования.

    дипломная работа , добавлен 21.10.2013

    Технологии решения задач с использованием нейронных сетей в пакетах расширения Neural Networks Toolbox и Simulink. Создание этого вида сети, анализ сценария формирования и степени достоверности результатов вычислений на тестовом массиве входных векторов.

    лабораторная работа , добавлен 20.05.2013

    Основные этапы систем нечеткого вывода. Правила нечетких продукций, используемые в них. Нечеткие лингвистические высказывания. Определение алгоритмов Цукамото, Ларсена, Сугено. Реализации нечеткого вывода Мамдани на примере работы уличного светофора.

    курсовая работа , добавлен 14.07.2012

    Методы, системы, типы и способы проводимых измерений в автоматизированных системах медицинского обеспечения безопасности на транспорте. Проектирования нечеткого алгоритма предрейсовых медицинских осмотров на основе адаптивной сети нейро-нечеткого вывода.

    дипломная работа , добавлен 06.05.2011

    Понятие о нейронных сетях и параллели из биологии. Базовая искусственная модель, свойства и применение сетей. Классификация, структура и принципы работы, сбор данных для сети. Использование пакета ST Neural Networks для распознавания значимых переменных.

    реферат , добавлен 16.02.2015

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

    курсовая работа , добавлен 31.05.2014

    Характеристика моделей обучения. Общие сведения о нейроне. Искусственные нейронные сети, персептрон. Проблема XOR и пути ее решения. Нейронные сети обратного распространения. Подготовка входных и выходных данных. Нейронные сети Хопфилда и Хэмминга.

    контрольная работа , добавлен 28.01.2011

    Интеллектуальная система как техническая или программная система, решающая задачи, которые считаются творческими и принадлежат конкретной предметной области. Анализ системы нечеткого логического вывода. Знакомство со средой программирования FuzzyTECH.