Сравнение результатов моделирования нейро-нечеткой сети в Matlab
Проблема моделирования объектов при помощи нейронных сетей. Проверка результатов полученной модели. Обмен между точностью и релевантностью. Архитектура и правила функционирования каждого слоя сети. Матрица входных данных для обучения нейро-нечеткой сети.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 27.01.2019 |
Размер файла | 1,8 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Сравнение результатов моделирования нейро-нечеткой сети в Matlab
Ханевский А.А.
Аннотация
Исследуя проблему моделирования объектов при помощи нейронных сетей, сталкиваешься с основной проблемой -проверкой результатов полученной модели. Предложена одна задача, которая будет решена разными путями, чтобы узнать есть ли связь результатов, полученных при помощи обучения нейро-нечеткой сети ANFIS и выбора различных функций принадлежности.
Ключевые слова: нейро-нечеткие сети, matlab, анализ данных, машинное обучение, нейроны, ANFIS.
Попытка использовать неточную информацию в математических моделях привела к разработке методов нечеткого моделирования. Напомним, что математические модели манипулируют переменными. В традиционных моделях значения рассматриваемой переменной берутся из некоторого набора чисел, называемого универсумом. Традиционные математические модели манипулируют непосредственно своими элементами. Однако в нечеткой модели переменные могут представлять собой нечеткие подмножества универсума. Следовательно, нечеткие модели требуют разбиения универсума на части, для которых специфично, что они не должны быть точно сформированы и могут пересекаться.
Нечеткое моделирование представляет собой группу специальных математических методов, которые позволяют включать в модель неточную или неопределенно сформулированную экспертную информацию, которая часто характеризуется естественным языком. Развитые модели (мы называем их нечеткими моделями) очень успешны, потому что они обеспечивают решение в различных ситуациях, когда традиционные математические модели терпят неудачу - либо из-за их неадекватности, либо из-за их неспособности использовать полную доступную информацию.
Обратите внимание, что идея включения неточной информации в наши модели противоречит тому, что всегда требуется: насколько возможно высокая точность. Однако есть веская причина для этого, а именно, мы сталкиваемся с расхождением между актуальностью и точностью. Так называемый принцип несовместимости, сформулированный Л.А. Заде, гласит следующее:
По мере усложнения системы наша способность делать абсолютные, точные и значимые утверждения о поведении системы уменьшается. В какой-то момент будет возможен обмен между точностью и релевантностью. Повышение точности может быть достигнуто только за счет уменьшения значимости; повышение значимости может быть достигнуто только за счет снижения точности.
С другой стороны, правила IF-THEN, используемые людьми почти всегда расплывчаты. Причина в том, что они содержат неопределенные выражения естественного языка, которые являются центральными для человеческого мышления.
ANFIS - это аббревиатура Adaptive-Network-Based Fuzzy Inference System - адаптивная сеть нечеткого вывода. Она была предложена Янгом (Jang) в начале девяностых [1]. ANFIS является одним из первых вариантов гибридных нейро-нечетких сетей - нейронной сети прямого распространения сигнала особого типа. Архитектура нейро-нечеткой сети изоморфна нечеткой базе знаний. В нейро-нечетких сетях используются дифференцируемые реализации треугольных норм (умножение и вероятностное ИЛИ), а также гладкие функции принадлежности. Это позволяет применять для настройки нейро-нечетких сетей быстрые алгоритмы обучения нейронных сетей, основанные на методе обратного распространения ошибки. Ниже описываются архитектура и правила функционирования каждого слоя ANFIS-сети.
ANFIS реализует систему нечеткого вывода Сугено в виде пятислойной нейронной сети прямого распространения сигнала. Назначение слоев следующее: первый слой - термы входных переменных; второй слой - антецеденты (посылки) нечетких правил; третий слой - нормализация степеней выполнения правил; четвертый слой - заключения правил; пятый слой - агрегирование результата, полученного по различным правилам.
Входы сети в отдельный слой не выделяются. На рисунке 1 изображена ANFIS-сеть с двумя входными переменными (x1 и x2) и четырьмя нечеткими правилами. Для лингвистической оценки входной переменной x1 используется 3 терма, для переменной x2 - 2 терма.
Для анализа базового алгоритма используем среду MATLAB с пакетом Fuzzy Logic Toolbox также гибридные сети реализованы в форме так называемой адаптивной системы нейро-нечеткого вывода или ANFIS.
Основным этапом создания такой сети является база правил IF-THEN, коротая создается внутри нейронной сети, что делает её приближенной к человеку. Инструментом в нечетком моделировании являются нечеткие правила IF-THEN. Это специальные выражения, которые характеризуют отношения между частями двух или более универсумов. Например, рассмотрим электрический котел и два универсума: значения электрического тока(A) и температуры(°C). Тогда следующее типичное нечеткое правило IF-THEN: R: если электрический ток очень сильный тогда температура высокая.
Для написания алгоритма нейро-нечеткой сети понадобится математическая модель нейрона человеческого мозга. С использованием данной модели можем описать, как взаимодействуют входные данные и что получаем на выходе.
Начало происходит с входных данных, это параметры в зависимости от самой задачи, потом данные параметры зависят от весов, которое зависят от конкретной задачи, после чего они проходят скрытые слои или hidden-layer, где суммируются как, а после проходят через функцию принадлежности и благодаря данной функции получаем нужный нам результат.
Функций принадлежности существует достаточно много для получения различных результатов, они выбираются в зависимости от задачи. Функции принадлежности бывают линейные и нелинейные.
Классификация данных функций: линейная или нелинейная.
К линейным относятся: кусочно-линейные, треугольные, трапецеидальные. К нелинейным относятся: полиномиальные, сигмоидальные, гауссовские.
Рис. 1. Пример ANFIS сети
Для работы используем нечеткую сеть TSK. Эта сеть состоит из M правил и N переменных для xi, представляются в виде.
Правило Мамдани:
ЕСЛИ (х1 есть A1) И … И (хnесть An) ТО (y = c0) Правило Такаго-Сугено:
ЕСЛИ (х1 есть A1) И … И (хn есть An) ТО (y = a0 + a1x1 +… + anxn). ИЛИ THEN y = a0 + ? ai xi.
Условия IF (xi IS Ai) реализуется функцией фаззификации, которая представлена Гауссовской обобщенной функцией для каждой переменной xi:
(1)
где µ(x) это оператор Ai. В нечетких сетях уловия задаются в алгебраическом произведении, из этого появляются правила k-ого вывода.
(2)
При M правилах вывода выходного результата сети происходит по формуле:
(3)
Которую можно представить в виде :
(4)
Как видим в формуле (4;3) присутствуют веса wk которые определяются по формуле (1) можно увидеть как идут слоя в нечеткой модели нейронной сети (Рисунок 2)
Рис. 2. Нейронная сеть для представления нечеткой модели
нейронный сеть точность матрица
Условия IF (xi IS Ai) реализуется функцией фаззификации, которая представлена Сигмоидной функцией для каждой переменной xi:
(5)
Гибридная сеть представляет собой многослойную сеть без обратной связи, в которой используется обычные сигналы, веса, функции принадлежности, а суммирование проходит на основе Т-нормы, значения весов данной сеи представляют вещественные числа из отрезка от [0,1].
Идея на которой построены гибридные сети, заключается в использовании имеющуюся входные данные для определение праметров функции принадлежности, которые соответсвуют системе нечеткого вывода. Для нахождения праметров функций принадлежности используют обучение нейронных сетей.
В стандартнном пакете MATLAB имеется пакет Fuzzy Logic Toolbox - это нечеткие сети реализованные в форме системы нейро - нечеткого выводы.
Редактор ANFIS облегчает работу создания и реализацию конкретной модели системы нейро - нечеткого вывода, производить обучение в котором сами можем корректировать число эпох, визуализировать ее структуру, дополнять параметры и использовать определенные правила.
Для реализации описанной модели используется среда MATLAB 2014b. Программные возможности среды MATLAB достаточно обширны и позволяют без труда реализовывать задачи любой сложности, а также создавать дополнительные условия и улучшать программу благодаря большой библиотеки и дополнительных средств, которые позволяют облегчить задачи построения.
Входными данными являются входная матрица данных со значениями в таблице 2. В качестве входных данных была решена задача на лобовое сопротивление. Лобовое сопротивление - это сила, которая направлена против движения объекта в различных средах (например газ, жидкость). Сила сопротивление всегда направлена против вектора скорости объекта в конкретной среде. Лобовое сопротивление является одной из причин обледенения летательных аппаратов (из-за низких температур в слоях атмосферы), а также вызвать нагрев лобной части объекта. Сила лобового сопротивления направлена против вектора скорости движения, её величина пропорциональна характерной площади S, плотности среды ? и квадрату скорости V:
(6)
(7)
где - сила сопротивления,
- безразмерный коэффициент сопротивления формы (КСФ),
- сила Ньютона полученная эксперементально,
- плотность среды,
- скорость потока,
- характерная площадь перпендикулярно потоку.
При помощи КСФ можно точно вычислить силу сопротивления динамическому напору среду тел любой формы, геометрии, для любой скорости.
Таблица 1. Формы при определенных значениях КСФ
Форма |
||
Сфера |
0,47 |
|
Куб |
1,05 0,05 |
|
Цилиндр |
||
Каплевидная тело |
Определение площади зависит от формы тела.
Так же для преодоления силы лобового сопротивления требуется определенная мощность:
(7)
Выходными данными являются промежуточные значения алгоритма и полученные при обучении сети, составленной различными правилами IF THEN. Полученные значения выводятся на график.
Логический вывод можно понимать как процесс, в ходе которого мы получаем некоторые факты из других известных фактов, используя специальные правила, которые подражают правилам человеческого мышления (рассуждения). Они называются правилами вычета. Факты - это некоторые утверждения о реальности, сформулированные на определенном формальном языке. Эти утверждения называются формулами или предложениями.
Для запуска ANFIS редактора используется команда anfisedit. В результате появится на экране графическое окно (Рисунок 3), так же здесь находятся различные другие области Load Data позволяет загрузить данные в виде файла .dat. Далее используем область генерирования исходной FIS там выбираем функцию Гаусса (Рисунок 4). После генерирования выбираем метод обучения нашей нейронной сети, так как у нас используется гибридная сеть, то выбираем в поле метод свойство hybrid. В области графика выводится два типа графиков: экспериментальные данные, результаты моделирования. Они представляют собой результат скопления множества точек. Данная программа использует свои обозначения в поле визуализации:
• Голубая точка - тестируемая выборка.
• Голубая окружность - обучающая выборка.
• Голубой плюс - контрольная выборка.
• Красная звездочка - результаты моделирования.
Рис. 3. Окно редктора ANFIS
Таблица 2. Матрица входных данных для обучения нейро-нечеткой сети
Сила |
Скорость |
КСФ |
Лобовое сопротивление |
Мощность |
|
1000 |
11 |
0,526132 |
11000 |
121000 |
|
1000 |
12 |
0,442097 |
12000 |
144000 |
|
1000 |
13 |
0,376698 |
13000 |
169000 |
|
1000 |
14 |
0,324806 |
14000 |
196000 |
|
1000 |
15 |
0,282942 |
15000 |
225000 |
|
1000 |
16 |
0,24868 |
16000 |
256000 |
|
1000 |
17 |
0,220284 |
17000 |
289000 |
|
1000 |
18 |
0,196488 |
18000 |
324000 |
|
1000 |
19 |
0,176349 |
19000 |
361000 |
|
1000 |
20 |
0,159155 |
20000 |
400000 |
|
1000 |
21 |
0,144358 |
21000 |
441000 |
|
1000 |
22 |
0,131533 |
22000 |
484000 |
|
1000 |
23 |
0,120344 |
23000 |
529000 |
|
1000 |
24 |
0,110524 |
24000 |
576000 |
|
1000 |
25 |
0,101859 |
25000 |
625000 |
|
1000 |
26 |
0,094175 |
26000 |
676000 |
|
1000 |
27 |
0,087328 |
27000 |
729000 |
|
1000 |
28 |
0,081202 |
28000 |
784000 |
|
1000 |
29 |
0,075698 |
29000 |
841000 |
|
1000 |
30 |
0,070736 |
30000 |
900000 |
|
… |
… |
… |
… |
… |
|
1099 |
99 |
0,007139 |
108801 |
10771299 |
Рис. 4. Окно для задания количества и выбора функции принадлежности
Обработка ошибок
При работе программы может возникнуть ошибка при вводе неверных данных, в этом случае выводится сообщение об ошибке (см. Рисунок 5).
Рис. 5. Сообщение об ошибке ввода
Все остальные параметры алгоритма не могут быть заданы пользователем некорректно, так как программа не будет работать, пока в полях ввода не будут верные данные.
Для рассмотрения примера система нечеткого вывода содержит 5 входов со своими данными, после чего идут от каждого входа три термы в каждой, 81 правило содержится в следующем слое, которое направлено на один выход, такой результат мы получили при загрузке данных (Рисунок 6).
Для обучения сети нужно воспользоваться вводом параметров, выбор метода обратное распределение или гибридный, метод наименьших квадратов и убывающего градиента.
Количество эпох или циклов обучения 100. Для обучения сети нужно нажать кнопку Train now. После нажатия обучение будет иллюстрироваться в виде графика.
Рис. 6. Структура сгенирированной нейро-нечеткой сети
Рис. 7. Процесс обучения сети 100 эпох
Рис. 8. График полученных результатов
Рис. 9. Полученные результаты - сгенирированные правила системы нечеткого вывода
Рис. 10. Процесс обучения сети 100 эпох
Рис. 11. График полученных результатов при помощи dsigmf
Рис. 12. Полученные результаты нечеткого вывода с помощью dsigmf
В результате для сравнения результатов, полученных при помощи различных функций принадлежности, делаем выводы.
Таблица 3. Сравнение результатов различных функций принадлежности
Функция |
Сила |
Скорость |
КСФ |
Лобовое сопротивление |
Мощность |
|
Dsigmf |
1050 |
54,5 |
0,3531 |
59400 |
2300000 |
|
Gauss2mf |
1050 |
54,5 |
0,3531 |
59400 |
5240000 |
|
gaussmf |
1050 |
54,5 |
0,3531 |
59400 |
763000 |
|
Pimf |
1050 |
54,5 |
0,3531 |
59400 |
9480000 |
|
Psigmf |
1050 |
54,5 |
0,3531 |
59400 |
2100000 |
|
Trapmf |
1050 |
54,5 |
0,3531 |
59400 |
3040000 |
|
Trimf |
1050 |
54,5 |
0,3531 |
59400 |
660000 |
|
Данные |
1050 |
54 |
0,0229 |
56700 |
3061800 |
Использованы методы моделирования и принципы функционирования нейро-нечетких сетей, в том числе при решении задачи, построенные на прогнозировании, а также приобретены навыки в работе с MATLAB. Данная программа MATLAB позволяет быстро смоделировать нейро-нечеткую сеть, структура которой сгенерируется с получением входных данных на входе, а также программа сама сгенерирует набор нечетких правил. Так же можно быстро получить результаты (Рисунок 9).
В рамках данной работы был изучен базовый алгоритм создания нейронной сети, на основе которого была разработана в среде MATLAB ANFIS сеть, осуществляющий получение в зависимости от входных данных на входе.
Список литературы
1. Тэрано Т., Асаи К., Сугено М. Прикладные нечеткие системы перевод с японского канд. техн. наук Ю.Н. Чернышова. Москва. «Мир»,1993. 363 с.
2. Норвиг А.М., Турсон И.Б. Построение функций принадлежности // Нечеткие множества и теория возможностей. Последние достижения: пер. с англ./ под ред. Р.Р. Ягера. М.: Радио и связь, 1986. 408 с. 3.Рыжов А.П. Элементы теории нечетких множеств и измерения нечеткости. М.: Диалог. МГУ, 1998.
3. Ярушкина Н.Г. Основы теории нечетких и гибридных систем. М.: Финансы и статистика, 2004.
Размещено на Allbest.ru
...Подобные документы
Возможности программ моделирования нейронных сетей. Виды нейросетей: персептроны, сети Кохонена, сети радиальных базисных функций. Генетический алгоритм, его применение для оптимизации нейросетей. Система моделирования нейронных сетей Trajan 2.0.
дипломная работа [2,3 M], добавлен 13.10.2015Исследование нечеткой модели управления. Создание нейронной сети, выполняющей различные функции. Исследование генетического алгоритма поиска экстремума целевой функции. Сравнительный анализ нечеткой логики и нейронной сети на примере печи кипящего слоя.
лабораторная работа [2,3 M], добавлен 25.03.2014Искусственные нейросетевые системы как перспективное направление в области разработки искусственного интеллекта. Назначение нейро-нечётких сетей. Гибридная сеть ANFIS. Устройство и принцип работы нейро-нечётких сетей, применение в экономике и бизнесе.
контрольная работа [102,5 K], добавлен 21.06.2012Методы, системы, типы и способы проводимых измерений в автоматизированных системах медицинского обеспечения безопасности на транспорте. Проектирования нечеткого алгоритма предрейсовых медицинских осмотров на основе адаптивной сети нейро-нечеткого вывода.
дипломная работа [6,5 M], добавлен 06.05.2011Технологии решения задач с использованием нейронных сетей в пакетах расширения Neural Networks Toolbox и Simulink. Создание этого вида сети, анализ сценария формирования и степени достоверности результатов вычислений на тестовом массиве входных векторов.
лабораторная работа [352,2 K], добавлен 20.05.2013Сущность и понятие кластеризации, ее цель, задачи, алгоритмы; использование искусственных нейронных сетей для кластеризации данных. Сеть Кохонена, самоорганизующиеся нейронные сети: структура, архитектура; моделирование кластеризации данных в MATLAB NNT.
дипломная работа [3,1 M], добавлен 21.03.2011Общие сведения о принципах построения нейронных сетей. Искусственные нейронные системы. Математическая модель нейрона. Классификация нейронных сетей. Правила обучения Хэбба, Розенблатта и Видроу-Хоффа. Алгоритм обратного распространения ошибки.
дипломная работа [814,6 K], добавлен 29.09.2014Центральные магистрали передачи данных. Улучшение параметров мультисервисной сети за счет использования имитационного моделирования. Сети с трансляцией ячеек и с установлением соединения. Коммутация в сети Ethernet. Многоуровневая модель протоколов.
курсовая работа [2,3 M], добавлен 25.06.2014Определение и виды модели, ее отличие от понятия моделирования. Формула искусственного нейрона. Структура передачи сигнала между нейронами. Способность искусственных нейронных сетей к обучению и переобучению. Особенности их применения в финансовой сфере.
реферат [136,2 K], добавлен 25.04.2016Прогнозирование на фондовом рынке с помощью нейронных сетей. Описание типа нейронной сети. Определение входных данных и их обработка. Архитектура нейронной сети. Точность результата. Моделирование торговли. Нейронная сеть прямого распространения сигнала.
дипломная работа [2,7 M], добавлен 18.02.2017Рождение искусственного интеллекта. История развития нейронных сетей, эволюционного программирования, нечеткой логики. Генетические алгоритмы, их применение. Искусственный интеллект, нейронные сети, эволюционное программирование и нечеткая логика сейчас.
реферат [78,9 K], добавлен 22.01.2015Понятие искусственного нейрона и искусственных нейронных сетей. Сущность процесса обучения нейронной сети и аппроксимации функции. Смысл алгоритма обучения с учителем. Построение и обучение нейронной сети для аппроксимации функции в среде Matlab.
лабораторная работа [1,1 M], добавлен 05.10.2010Сущность, структура, алгоритм функционирования самообучающихся карт. Начальная инициализация и обучение карты. Сущность и задачи кластеризации. Создание нейронной сети со слоем Кохонена при помощи встроенной в среды Matlab. Отличия сети Кохонена от SOM.
лабораторная работа [36,1 K], добавлен 05.10.2010Изучение методов разработки систем управления на основе аппарата нечеткой логики и нейронных сетей. Емкость с двумя клапанами с целью установки заданного уровня жидкости и построение нескольких типов регуляторов. Проведение сравнительного анализа.
курсовая работа [322,5 K], добавлен 14.03.2009Прогнозирование валютных курсов с использованием искусственной нейронной сети. Общая характеристика среды программирования Delphi 7. Существующие методы прогнозирования. Характеристика нечетких нейронных сетей. Инструкция по работе с программой.
курсовая работа [2,2 M], добавлен 12.11.2010Классификация компьютерных сетей. Назначение компьютерной сети. Основные виды вычислительных сетей. Локальная и глобальная вычислительные сети. Способы построения сетей. Одноранговые сети. Проводные и беспроводные каналы. Протоколы передачи данных.
курсовая работа [36,0 K], добавлен 18.10.2008Характеристика моделей обучения. Общие сведения о нейроне. Искусственные нейронные сети, персептрон. Проблема XOR и пути ее решения. Нейронные сети обратного распространения. Подготовка входных и выходных данных. Нейронные сети Хопфилда и Хэмминга.
контрольная работа [1,4 M], добавлен 28.01.2011Пример матрицы смежности для соответствующей сети. Функция распределения степеней узлов. Вариант матрицы смежности для взвешенной сети. Распределение степеней для случайных графов. Требования к интерфейсу. Алгоритм модели Баррат-Бартелэмью-Веспиньяни.
контрольная работа [1,4 M], добавлен 13.06.2012Принципы организации и функционирования биологических нейронных сетей. Система соединенных и взаимодействующих между собой простых процессоров. Нейронные сети Маккалока и Питтса. Оценка качества кластеризации. Обучение многослойного персептрона.
курсовая работа [1,1 M], добавлен 06.12.2010Назначение и классификация компьютерных сетей. Обобщенная структура компьютерной сети и характеристика процесса передачи данных. Управление взаимодействием устройств в сети. Типовые топологии и методы доступа локальных сетей. Работа в локальной сети.
реферат [1,8 M], добавлен 03.02.2009