Нечеткие множества и нечеткая логика

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

Значение Нечеткие множества и нечеткая логика - student2.ru называется степенью принадлежности элемента x нечеткому множеству A.

Операции над нечеткими множествами

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

Таблица 12.

Виды определений операций над нечеткими множествами.

Максимальные Нечеткие множества и нечеткая логика - student2.ru Нечеткие множества и нечеткая логика - student2.ru
Алгебрагические Нечеткие множества и нечеткая логика - student2.ru Нечеткие множества и нечеткая логика - student2.ru
Ограниченные Нечеткие множества и нечеткая логика - student2.ru Нечеткие множества и нечеткая логика - student2.ru

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

Нечеткие множества и нечеткая логика - student2.ru

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

Пример решения задачи

Задача. Дано 3 нечетких множества A, B, C (заданы их функции принадлежности). Построить функцию принадлежности нечеткого множества Нечеткие множества и нечеткая логика - student2.ru и определить степень принадлежности одного элемента множеству D, используя метод ограничений.

Нечеткие множества и нечеткая логика - student2.ru

Описание процесса решения. Для построения функции принадлежности нового множества необходимо:

1) Определить последовательность выполнения операций в формуле.

2) Построить на отдельных графиках промежуточные множества, согласно определенной последовательности действий. Свести промежуточные множества на одном графике и определить итоговую функцию принадлежности.

3) Используя определенный в задаче метод, определить аналитически степень принадлежности элемента, входящего в ядро итогового множества.

4) Проверить аналитические вычисления по построенному графику функции принадлежности.

Решение.

1) Множество Нечеткие множества и нечеткая логика - student2.ru , значит, последовательность операций будет следующей: Нечеткие множества и нечеткая логика - student2.ru .

2) Построим согласно этой последовательности операций графики функций принадлежности:

Нечеткие множества и нечеткая логика - student2.ru

3) Ядро множества D состоит из элементов из интервала (2,13). Выберем элемент 8.

Нечеткие множества и нечеткая логика - student2.ru

Нечеткие множества и нечеткая логика - student2.ru

Нечеткие множества и нечеткая логика - student2.ru

Нечеткие множества и нечеткая логика - student2.ru

Нечеткие множества и нечеткая логика - student2.ru

Нечеткие множества и нечеткая логика - student2.ru

Нечеткие множества и нечеткая логика - student2.ru

Нечеткие множества и нечеткая логика - student2.ru Нечеткие множества и нечеткая логика - student2.ru

4)

.

Задачи

1). Дано 3 нечетких множества A, B, C (заданы их функции принадлежности). Построить функцию принадлежности нечеткого множества Нечеткие множества и нечеткая логика - student2.ru и определить степень принадлежности одного элемента множеству D, используя максиминный способ.

Нечеткие множества и нечеткая логика - student2.ru

2) Дано 3 нечетких множества A, B, C (заданы их функции принадлежности). Построить функцию принадлежности нечеткого множества Нечеткие множества и нечеткая логика - student2.ru и определить степень принадлежности одного элемента множеству D, используя алгебраический способ.

Нечеткие множества и нечеткая логика - student2.ru

3) Дано 3 нечетких множества A, B, C (заданы их функции принадлежности). Построить функцию принадлежности нечеткого множества Нечеткие множества и нечеткая логика - student2.ru и определить степень принадлежности одного элемента множеству D, используя метод ограничений.

Нечеткие множества и нечеткая логика - student2.ru

4) Дано 3 нечетких множества A, B, C (заданы их функции принадлежности). Построить функцию принадлежности нечеткого множества Нечеткие множества и нечеткая логика - student2.ru определить степень принадлежности одного элемента множеству D, используя максиминный способ.

Нечеткие множества и нечеткая логика - student2.ru

5) Дано 3 нечетких множества A, B, C (заданы их функции принадлежности). Построить функцию принадлежности нечеткого множества Нечеткие множества и нечеткая логика - student2.ru и определить степень принадлежности одного элемента множеству D, используя алгебраический способ.

Нечеткие множества и нечеткая логика - student2.ru

6) Дано 3 нечетких множества A, B, C (заданы их функции принадлежности). Построить функцию принадлежности нечеткого множества Нечеткие множества и нечеткая логика - student2.ru и определить степень принадлежности одного элемента множеству D, используя метод ограничений.

Нечеткие множества и нечеткая логика - student2.ru

7) Дано 3 нечетких множества A, B, C (заданы их функции принадлежности). Построить функцию принадлежности нечеткого множества Нечеткие множества и нечеткая логика - student2.ru и определить степень принадлежности одного элемента множеству D, используя максиминный способ.

Нечеткие множества и нечеткая логика - student2.ru

8) Дано 3 нечетких множества A, B, C (заданы их функции принадлежности). Построить функцию принадлежности нечеткого множества Нечеткие множества и нечеткая логика - student2.ru и определить степень принадлежности одного элемента множеству D, используя алгебраический способ.

Нечеткие множества и нечеткая логика - student2.ru

9) Дано 3 нечетких множества A, B, C (заданы их функции принадлежности). Построить функцию принадлежности нечеткого множества Нечеткие множества и нечеткая логика - student2.ru и определить степень принадлежности одного элемента множеству D, используя метод ограничений.

Нечеткие множества и нечеткая логика - student2.ru

10) Дано 3 нечетких множества A, B, C (заданы их функции принадлежности). Построить функцию принадлежности нечеткого множества Нечеткие множества и нечеткая логика - student2.ru и определить степень принадлежности одного элемента множеству D, используя максиминный способ.

11) Дано 3 нечетких множества A, B, C (заданы их функции принадлежности). Построить функцию принадлежности нечеткого множества D = A ÈB ÇC и определить степень принадлежности одного элемента множеству D, используя алгебраический способ.

Нечеткие множества и нечеткая логика - student2.ru

12) Дано 3 нечетких множества A, B, C (заданы их функции принадлежности). Построить функцию принадлежности нечеткого множества D = Нечеткие множества и нечеткая логика - student2.ru и определить степень принадлежности одного элемента множеству D, используя метод ограничений.

Нечеткие множества и нечеткая логика - student2.ru

13) Дано 3 нечетких множества A, B, C (заданы их функции принадлежности). Построить функцию принадлежности нечеткого множества Нечеткие множества и нечеткая логика - student2.ru и определить степень принадлежности одного элемента множеству D, используя максиминный способ.

Нечеткие множества и нечеткая логика - student2.ru

14) Дано 3 нечетких множества A, B, C (заданы их функции принадлежности). Построить функцию принадлежности нечеткого множества Нечеткие множества и нечеткая логика - student2.ru и определить степень принадлежности одного элемента множеству D, используя алгебраический способ.

Нечеткие множества и нечеткая логика - student2.ru

15) Дано 3 нечетких множества A, B, C (заданы их функции принадлежности). Построить функцию принадлежности нечеткого множества Нечеткие множества и нечеткая логика - student2.ru и определить степень принадлежности одного элемента множеству D, используя метод ограничений.

Нечеткие множества и нечеткая логика - student2.ru

16) Дано 3 нечетких множества A, B, C (заданы их функции принадлежности). Построить функцию принадлежности нечеткого множества Нечеткие множества и нечеткая логика - student2.ru и определить степень принадлежности одного элемента множеству D, используя максиминный способ.

Нечеткие множества и нечеткая логика - student2.ru

17) Дано 3 нечетких множества A, B, C (заданы их функции принадлежности). Построить функцию принадлежности нечеткого множества Нечеткие множества и нечеткая логика - student2.ru и определить степень принадлежности одного элемента множеству D, используя алгебраический способ.

Нечеткие множества и нечеткая логика - student2.ru

18) Дано 3 нечетких множества A, B, C (заданы их функции принадлежности). Построить функцию принадлежности нечеткого множества Нечеткие множества и нечеткая логика - student2.ru и определить степень принадлежности одного элемента множеству D, используя метод ограничений.

Нечеткие множества и нечеткая логика - student2.ru

19) Дано 3 нечетких множества A, B, C (заданы их функции принадлежности). Построить функцию принадлежности нечеткого множества Нечеткие множества и нечеткая логика - student2.ru и определить степень принадлежности одного элемента множеству D, используя алгебраический способ.

Нечеткие множества и нечеткая логика - student2.ru

20) Дано 3 нечетких множества A, B, C (заданы их функции принадлежности). Построить функцию принадлежности нечеткого множества Нечеткие множества и нечеткая логика - student2.ru и определить степень принадлежности одного элемента множеству D, используя метод ограничений

Нечеткие множества и нечеткая логика - student2.ru

Нечеткий вывод

Нечеткая импликация выражается в следующем виде:

Нечеткие множества и нечеткая логика - student2.ru и Нечеткие множества и нечеткая логика - student2.ru

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

При этом должны соблюдаться следующие условия:

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

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

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

Нечеткими высказываниями называются:

1. Высказывание Нечеткие множества и нечеткая логика - student2.ru , где Нечеткие множества и нечеткая логика - student2.ru – наименование лингвистической переменной, Нечеткие множества и нечеткая логика - student2.ru – ее значение, которому соответствует нечеткое множество на универсальном множестве Х.

2. Высказывание Нечеткие множества и нечеткая логика - student2.ru , где m - модификатор, которому соответствуют слова «очень», «более или менее», «много больше» и др.

3. Составные высказывания, образованные из высказываний видов 1. и 2. и союзов "И", "ИЛИ", "ЕСЛИ.., ТО...", "ЕСЛИ.., ТО.., ИНАЧЕ".

Лингвистической переменной называется набор Нечеткие множества и нечеткая логика - student2.ru , где Нечеткие множества и нечеткая логика - student2.ru – наименование лингвистической переменной, Т – множество ее значений (терм-множество), представляющих собой наименования нечетких переменных, областью определения каждой из которых является множество X (множество T называется базовым терм-множеством лингвистической переменной), G – синтаксическая процедура, позволяющая оперировать элементами терм-множества T, в частности, генерировать новые термы (значения), М – семантическая процедура, позволяющая превратить каждое новое значение лингвистической переменной, образуемое процедурой G, в нечеткую переменную, т.е. сформировать соответствующее нечеткое множество.

Нечеткая переменная характеризуется тройкой Нечеткие множества и нечеткая логика - student2.ru , где Нечеткие множества и нечеткая логика - student2.ru – наименование переменной, X – универсальное множество (область определения Нечеткие множества и нечеткая логика - student2.ru ), A – нечеткое множество на X, описывающее ограничения (т.е. Нечеткие множества и нечеткая логика - student2.ru ) на значения нечеткой переменной Нечеткие множества и нечеткая логика - student2.ru .

Пример решения задачи

Задача. Построить нечеткую базу знаний (использовать не менее 3 лингвистических переменных) для задачи определения временных затрат для решения студентом задач данного пособия (учитывать успеваемость студента и количество решаемых вариантов), проверить ее на полноту и произвести нечеткий вывод для конкретных значений (выбрать случайным образом).

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

1) Сформулировать на естественном языку в виде предложений «Если..,то» закономерности предметной области.

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

3) Проверить полученную базу знаний на полноту.

4) Провести фаззификацию (входные данные выбираем случайным образом).

5) Провести аккумуляцию.

6) Провести дефаззицикацию.

Решение.

1) Предложения, описывающие задачу следующие:

* Если успеваемость студента высокая или хорошая и он прорешивает малое количество вариантов, то ему требуется немного времени.

* Если успеваемость студента высокая или хорошая и он прорешивает много вариантов, то ему требуется достаточно большой промежуток времени.

* Если успеваемость студента низкая и он прорешивает много вариантов, то ему требуется много времени.

* Если успеваемость студента средняя и он прорешивает достаточно большое количество вариантов, то ему требуется достаточно большой промежуток времени.

Выделить из этих предложений лингвистические переменные (определим их через формальную запись < Нечеткие множества и нечеткая логика - student2.ru ,T,X,G,M>):

1. Нечеткие множества и нечеткая логика - student2.ru успеваемость студента, T=(«высокая», «средняя», «низкая»), X=[2,5] (используется пятибалльная система), G=(«очень низкая», «высокая или средняя»), M – уменьшение на единицу степени принадлежность нечеткой переменной «высокая», операция объединения нечетких множеств;

2. Нечеткие множества и нечеткая логика - student2.ru количество вариантов, T=(«мало», «достаточно», «много»), X=[1,20] (количество вариантов 20 в каждой теме), G=(«очень много», «достаточно или мало»), M – увеличение на единицу степени принадлежность нечеткой переменной «много», операция объединения нечетких множеств;

3. Нечеткие множества и нечеткая логика - student2.ru количество времени, T=(«мало», «достаточно», «много»), X=[1,7] (количество часов в неделю, уделенных предмету изучения), G=(«очень много», «достаточно или мало»), M – увеличение на единицу степени принадлежность нечеткой переменной «много», операция объединения нечетких множеств;

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

Успеваемость:

Нечеткие множества и нечеткая логика - student2.ru

Количество вариантов:

Нечеткие множества и нечеткая логика - student2.ru

Количество времени:

Нечеткие множества и нечеткая логика - student2.ru

С учетом выделенных лингвистических переменных, нечеткие правила следующие:

a. Если Успеваемость = «высокая» или Успеваемость = «средняя» и Количество вариантов = «мало», то Количество времени = «мало».

b. Если Успеваемость = «высокая» или Успеваемость = «средняя» и Количество вариантов = «много», то Количество времени = «достаточно».

c. Если Успеваемость = «низкая» и Количество вариантов = «много», то Количество времени = «много».

d. Если Успеваемость = «средняя» и Количество вариантов = «достаточно», то Количество времени = «достаточно».

2) Проверим полученную базу на полноту:

- существует хотя бы одно правило для каждого лингвистического терма выходной переменной – выходная переменная «Количество времени» имеет 3 терма: «мало» используется в 1 правиле, «достаточно» - в 2 и 4, «много» - в третьем;

- для любого терма входной переменной имеется хотя бы одно правило, в котором этот терм используется в качестве предпосылки - есть две входных переменных «Успеваемость» и «Количество вариантов» у каждой из них 3 терма: «высокая» используется в 1 и 2 правиле, «средняя» - 1,2 и 4, «низкая» - в 3, «мало» - в 1, «достаточно» - 4, «много» - 3 и 2.

Значит, полученная база нечетких правил полная.

3) Пусть имеется студент Иванов А.А., имеющий среднюю оценку 3,5 и решивший прорешать 9 вариантов, нужно определить, сколько ему понадобится времени.

Определим степени уверенности простейших утверждений:

Успеваемость = «высокая» - 0;

Успеваемость = «средняя» - 0.5;

Успеваемость = «низкая» - 1;

Количество вариантов = «мало» - 0;

Количество вариантов = «достаточно» - 0.5;

Количество вариантов = «много» - 0.125.

Определим степени уверенности посылок правил:

Правило 1: min (max (0, 0.5), 0) = 0;

Правило 2: min (max (0, 0.5), 0.125) = 0.125;

Правило 3: min (1, 0.125) = 0.125;

Правило 4: min (0.5, 0.5) = 0.5.

Построим новую выходную нечеткую переменную, используя полученные степени уверенности:

Нечеткие множества и нечеткая логика - student2.ru

Нечеткие множества и нечеткая логика - student2.ru

4) Аккумуляция:

Нечеткие множества и нечеткая логика - student2.ru

Новый терм выходной переменной Количество часов:

Нечеткие множества и нечеткая логика - student2.ru

5) Исходя из полученного графика степени принадлежности выходного терма, можно сказать, что Иванову А.А., имеющему среднюю оценку 3.5, на решение 9 вариантов заданий понадобится не менее 2.75 часа (степень уверенности данного утверждения 0.5).

Задачи

1) Построить нечеткую базу знаний (использовать не менее 3 лингвистических переменных) для задачи закупок (соотношения цены, качества, объема закупок и т.д.), проверить ее на полноту и произвести нечеткий вывод для конкретных значений (выбрать случайным образом).

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

3) Построить нечеткую базу знаний (использовать не менее 3 лингвистических переменных) для задачи управления транспортным средством (регулировка скорости с учетом передачи, погодных условий, интенсивности потока и т.д.), проверить ее на полноту и произвести нечеткий вывод для конкретных значений (выбрать случайным образом).

4) Построить нечеткую базу знаний (использовать не менее 3 лингвистических переменных) для задачи управления транспортным средством (управление рулем, газом, тормозом при въезде в гараж), проверить ее на полноту и произвести нечеткий вывод для конкретных значений (выбрать случайным образом).

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

6) Построить нечеткую базу знаний (использовать не менее 3 лингвистических переменных) для задачи регулирования реверсного движения на волжском мосту (учитывать время, интенсивность потока, день недели и т.д.), проверить ее на полноту и произвести нечеткий вывод для конкретных значений (выбрать случайным образом).

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

8) Построить нечеткую базу знаний (использовать не менее 3 лингвистических переменных) для задачи подбора объема блюд (учитывать калорийность, вкусовые предпочтения, количество едоков и т.д.), проверить ее на полноту и произвести нечеткий вывод для конкретных значений (выбрать случайным образом).

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

10) Построить нечеткую базу знаний (использовать не менее 3 лингвистических переменных) для задачи подбора интенсивности занятий (учитывать начальный уровень подготовки, объем учебного материала, количество человек в группе, необходимый уровень усвоения и т.д.), проверить ее на полноту и произвести нечеткий вывод для конкретных значений (выбрать случайным образом).

11) Построить нечеткую базу знаний (использовать не менее 3 лингвистических переменных) для задачи расчета потребления бензина (учитывать тип совершаемых маневров, уровень подготовки водителя, состояние автомобиля, тип автомобиля и т.д.), проверить ее на полноту и произвести нечеткий вывод для конкретных значений (выбрать случайным образом).

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

13) Построить нечеткую базу знаний (использовать не менее 3 лингвистических переменных) для задачи настройки аудиосистемы (мощность колонок, их количество, размер помещения, назначение установки и т.д.), проверить ее на полноту и произвести нечеткий вывод для конкретных значений (выбрать случайным образом).

14) Построить нечеткую базу знаний (использовать не менее 3 лингвистических переменных) для задачи выбора дозы снотворного (количество препарата, действие препарата, восприимчивость к выбранному препарату, цель и т.д.), проверить ее на полноту и произвести нечеткий вывод для конкретных значений (выбрать случайным образом).

15) Построить нечеткую базу знаний (использовать не менее 3 лингвистических переменных) для задачи планирования объема производства продукции (с учетом возможной прибыли, необходимых ресурсов, платежеспособности населения, рынка сбыта и т.д.), проверить ее на полноту и произвести нечеткий вывод для конкретных значений (выбрать случайным образом).

16) Построить нечеткую базу знаний (использовать не менее 3 лингвистических переменных) для задачи регулирования кондиционера (учитывать его мощность, объем помещения, температуру окружающей среды, необходимую температуру в помещении и т.д.), проверить ее на полноту и произвести нечеткий вывод для конкретных значений (выбрать случайным образом).

17) Построить нечеткую базу знаний (использовать не менее 3 лингвистических переменных) для задачи распределения нагрузки между компьютерами при использовании их в кластерах (учитывать характеристики компьютеров, их количество, количество параллельного кода, характеристики сети и т.д.), проверить ее на полноту и произвести нечеткий вывод для конкретных значений (выбрать случайным образом).

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

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

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

Лабораторная работа №5.
Нейронные сети

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

Схема искусственного нейрона представлена на рис. 4, где X1..XN – входы нейрона, W1..WN – синаптические веса связей нейрона, S – взвешенная сумма входных значений нейрона, F(S) – функция активации, значением которой является Y – выходное значение нейрона.

Нечеткие множества и нечеткая логика - student2.ru

Рисунок 4. Формальный нейрон (математическая модель)

Функции активации могут различные, наиболее часто используемые представлены в таблице 8.

Таблица 8.

Основные функции активации.

Название Формула График (пример)
Пороговая Нечеткие множества и нечеткая логика - student2.ru T=const Нечеткие множества и нечеткая логика - student2.ru
Линейная Нечеткие множества и нечеткая логика - student2.ru k=const Нечеткие множества и нечеткая логика - student2.ru
Сигмоидальная Нечеткие множества и нечеткая логика - student2.ru k=const Нечеткие множества и нечеткая логика - student2.ru
Гиберболический тангенс Нечеткие множества и нечеткая логика - student2.ru k=const Нечеткие множества и нечеткая логика - student2.ru

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

Таблица 9 .

Типы искусственных нейронных сетей.

Тип Описание
По топологии
Полносвязные Каждый нейрон связан с другим нейроном в сети (из-за высокой сложности обучения не используется).
Слоистые Нейроны располагаются слоями, каждый нейрон последующего слоя связан с нейронами предыдущего. Есть однослойные и многослойные сети.
По типу связей
Прямого распространения Все связи между нейронами идут от выходов нейронов предыдущего слоя к входам нейронов последующего.
Рекуррентные Допускаются связи выходов нейронов последующих слоев с входами нейронов предыдущих.
По организации обучения
С учителем При обучении используются обучающие выборки, в которых определены требуемые от сети выходные значения, такие сети используют для решения задач классификации.
Без учителя Нейронная сеть сама в процессе работы выделяет классы объектов и относит объект к определенному классу, такие сети используют для задач кластеризации.
По типу сигнала
Бинарные На вход нейронных сетей подают только нули или единицы.
Аналоговые Подаваемые на входы нейронов сигналы могут быть произвольными (вещественными числами).
По типу структур
Однородная Все нейроны в нейронной сети используют одну функцию активации
Неоднородная Нейроны в нейронной сети имеют разные функции активации.

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

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

Алгоритм обучения сети по Δ-правилу

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

Количество входов и выходов такой нейронной сети соответствует количеству нейронов.

Нечеткие множества и нечеткая логика - student2.ru

Рис. 5. Однослойная нейронная сеть

Такие нейронные сети можно обучать с помощью алгоритма обучения по Δ-правилу.

Алгоритм обучения по Δ-правилу:

1 шаг: инициализация матрицы весов (и порогов, в случае использования пороговой функции активации) случайным образом.

2 шаг: предъявление нейронной сети образа (на вход подаются значения из обучающей выборки – вектор Х), берется соответствующий выход (вектор D).

3 шаг: вычисление выходных значений нейронной сети (вектор Y).

4 шаг: вычисление для каждого нейрона величины расхождения реального результата с желаемым

Нечеткие множества и нечеткая логика - student2.ru , где Нечеткие множества и нечеткая логика - student2.ru – желаемое выходное значение на i-нейроне, Нечеткие множества и нечеткая логика - student2.ru – реальное значение на i-нейроне.

5 шаг: изменение весов (и порогов при использовании пороговой функции) по формулам:

Нечеткие множества и нечеткая логика - student2.ru

Нечеткие множества и нечеткая логика - student2.ru ,

где t – номер текущей итерации цикла обучения, Нечеткие множества и нечеткая логика - student2.ru – вес связи j-входа с i-нейроном, Нечеткие множества и нечеткая логика - student2.ru – коэффициент обучения, задается от 0 до 1, Нечеткие множества и нечеткая логика - student2.ru – входное значение, Нечеткие множества и нечеткая логика - student2.ru - пороговое значение i-нейрона.

6 шаг:проверка условия продолжения обучения (вычисление значения ошибки и/или проверка заданного количества итераций). Если обучение не завершено, то 2 шаг, иначе заканчиваем обучение.

Пример решения задачи

Задача. Просчитать одну итерацию цикла обучения по Δ-правилу однослойной бинарной неоднородной нейронной сети, состоящей из 2 нейронов и имеющей функции активации: гиперболический тангенс (k=1) и пороговую функцию (Т=0,7). В качестве обучающей выборки использовать таблицу истинности для операций эквивалентности и дизъюнкции (не использовать первую строчку таблицы). Синаптические веса задать случайным образом.

Описание процесса решения.Для обучения нейронной сети по Δ- правилу необходимо:

1) Графически отобразить структуру нейронной сети. Определить размерность матрицы синаптических весов.

2) Определить обучающую выборку, представив ее в табличном виде.

3) Выбрать входные данные, на которых будет рассматриваться итерация цикла обучения.

4) Следуя алгоритмы обучения по Δ –правилу, просчитать одну итерацию цикла и представить новые синаптические веса в матричном виде.

Решение.

1) По заданию нейронная сеть состоит из двух нейронов, значит, входов у однослойной нейронной сети будет 2 и выходов 2, а синаптических весов 4. Первый нейрон имеет пороговую функцию активации, второй – гиперболический тангенс.

Нечеткие множества и нечеткая логика - student2.ru

2) По заданию нейронная сеть бинарная, поэтому на ее входы могут подаваться только нули и единицы, так как входа 2, то возможных комбинаций входных значений будет 4 (обучающая выборка будет состоять из 4 векторов). Выход первого нейрона согласно заданию соответствует оператору эквивалентности, а второго – дизъюнкции. Поэтому таблица с обучающей выборкой будет выглядеть следующим образом:

Х1 X2 D1 D2

3) Пусть в качестве вектора обучения будет рассматриваться 3-ая строка таблицы.

4) Следуя алгоритмы обучения по Δ-правилу выполним 6 шагов

1 шаг: зададим матрицу весов случайным образом из интервала [0,1]:

Нечеткие множества и нечеткая логика - student2.ru
0.7
0.5 0.2

2 шаг: вектор X={1,0}, вектор D ={0,1}.

3 шаг: вычисление выходных значений нейронной сети (вектор Y).

Нечеткие множества и нечеткая логика - student2.ru

Нечеткие множества и нечеткая логика - student2.ru

Нечеткие множества и нечеткая логика - student2.ru

k=1

Нечеткие множества и нечеткая логика - student2.ru

Нечеткие множества и нечеткая логика - student2.ru

4 шаг:

Нечеткие множества и нечеткая логика - student2.ru

Нечеткие множества и нечеткая логика - student2.ru

5 шаг: задаем Нечеткие множества и нечеткая логика - student2.ru – коэффициент обучения от 0 до 1 и изменяем веса:

Нечеткие множества и нечеткая логика - student2.ru

Нечеткие множества и нечеткая логика - student2.ru

Нечеткие множества и нечеткая логика - student2.ru

Нечеткие множества и нечеткая логика - student2.ru

Нечеткие множества и нечеткая логика - student2.ru

Нечеткие множества и нечеткая логика - student2.ru

Нечеткие множества и нечеткая логика - student2.ru
1.5 1.212
0.5 0.2

6 шаг: вычислим среднеквадратичную ошибку (можно выбрать другие методы оценки ошибки)

Нечеткие множества и нечеткая логика - student2.ru

H – количество нейронов.

Так как мы рассматриваем одну итерацию цикла обучения в любом случае выходим из цикла.

Задачи

1. Просчитать одну итерацию цикла обучения по Δ-правилу однослойной бинарной однородной нейронной сети, состоящей из 2 нейронов и имеющей пороговую функцию активации (Т=0,7). В качестве обучающей выборки использовать таблицу истинности для операций дизъюнкции и импликации (не использовать первую строчку таблицы).

Синаптические веса задать случайным образом.

2. Просчитать одну итерацию цикла обучения по Δ-правилу односл

Наши рекомендации