книги / Статистические и интеллектуальные методы прогнозирования
..pdfРис. 7.38. Окно параметров обучения нейронной сети nw_1_10
Рис. 7.39. Окно результатов обучения нейронной сети nw_1_10
191
Рис. 7.40. Графики среднеквадратической ошибки для обучающей, валидационной и тестирующей выборок нейронной сети nw_1_10
Аналогично были обучены нейронной сети nw_1_20 (рис. 7.41–7.43) и nw_2_10 (рис. 7.44–7.46).
Рис. 7.41. Архитектура нейронной сети nw_1_20
192
Рис. 7.42. Окно результатов обучения нейронной сети nw_1_20
Рис. 7.43. Графики среднеквадратической ошибки для обучающей, валидационной и тестирующей выборок нейронной сети nw_1_20
193
Рис. 7.44. Архитектура нейронной сети nw_2_10
Рис. 7.45. Окно результатов обучения нейронной сети nw_2_10
194
Рис. 7.46. Графики среднеквадратической ошибки для обучающей, валидационной и тестирующей выборок нейронной сети nw_2_10
3. Экспорт сетей и выходных данных в MATLAB. Экспорт осуществляется нажатием Export в главном окне NNtool и выбором соответствующих сетей и выходных данных (рис. 7.47).
Рис. 7.47. Окно экспорта выходных данных сетей (ym_1_10, ym_1_20, ym_2_10) и нейронных сетей (nw_1_10, nw_1_20, nw_2_10)
195
4. Построение графиков. Графики строятся по исходным данным и выходам сетей следующей группой команд MATLAB (рис. 7.48):
% формирование оси отсчета графиков for i=1:Nt-k
ns(1,i)=k+i; end plot(ns,y,'-r') hold on
plot(ns, ym_1_10,'-b') hold on
plot(ns, ym_1_20,'-g') hold on
plot(ns, ym_2_10,'-k') gtext('red - y') gtext('blue – ym-1-10') gtext('green – ym-1-20') gtext('black – ym-2-10')
Рис. 7.48. Графики исходных данных и данных сетей
(ym_1_10, ym_1_20, ym_2_10)
196
По графикам можно сделать вывод, что нейронные сети nw_1_10, nw_1_20 дают удовлетворительные результаты, а nw_2_10 – неудовлетворительные (скачки на графиках). Для нейронной сети nw_2_10 можно рекомендовать изменение параметров обучения или адаптацию.
5. Расчет прогноза. Расчет прогноза можно осуществить как NNTool, так и в MATLAB.
Для этого формируется входной вектор прогноза для момента 141:
(y(140), y(139), y(138), y(137), y(136))
>>xx=[isx(1,140);isx(1,139);isx(1,138);isx(1,137);isx(1,136)]
В NNTool прогнозирование осуществляется следующим образом. Импортируется точка xx как входная переменная
(рис. 7.49).
Рис. 7.49. Импорт точки прогноза в NNTool
Открывается нужная сеть, нажатием Simulate вводится прогнозная точка (рис. 7.50) и осуществляется расчет прогноза
(Simulate Network) (рис. 7.51).
197
Рис. 7.50. Окно моделирования сети nw_1_10
Рис. 7.51. Расчет прогноза по нейронной сети nw_1_10
Расчет прогноза в MATLAB осуществляется командой: >> ypr_1_10=nw_1_10(xx)
ypr_1_10 = 600.4327
198
7.8.НЕЙРОНЕЧЕТКИЕ СЕТИ
Нечеткие нейронные сети, или гибридные сети, объединяют в себе достоинства нейронных сетей и систем нечеткого вывода [34, 48–50]. С одной стороны, они позволяют разрабатывать и представлять модели систем в форме нечетких правил, которые обладают наглядностью и простотой содержательной интерпретации. С другой стороны, для построения нечетких правил используются методы нейронных сетей, что является более удобным и менее трудоемким процессом для формирования базы знаний. В последнее время аппарат нейронечетких сетей повсеместно признается специалистами как один из наиболее перспективных для решения слабо или плохо структурированных задач прикладного системного анализа.
Нейронечеткая сеть представляет собой многослойную нейронную сеть специальной структуры без обратных связей, в которой используются обычные (не нечеткие) сигналы, веса и функции активации, а выполнение операции суммирования основано на использовании фиксированной Т-нормы. При этом значения входов, выходов и весов гибридной нейронной сети представляют собой вещественные числа из отрезка [0, 1].
ANFIS (Adaptive-Network-Based Fuzzy Inference System) –
адаптивная сеть нечеткого вывода. Она была предложена Янгом (Jang) в начале 1990-х гг. ANFIS является одним из первых вариантов гибридных нейронечетких сетей – нейронной сети прямого распространения сигнала особого типа.
ANFIS реализует систему нечеткого вывода Сугено в виде пятислойной нейронной сети прямого распространения сиг-
нала (рис. 7.52).
Назначение слоев следующее:
первый слой – термы входных переменных;
второй слой – антецеденты (посылки) нечетких правил;
третий слой – нормализация степеней выполнения правил;
199
четвертый слой – заключение правил;
пятый слой – агрегирование результата, полученного по различным правилам.
Рис. 7.52. ПримерANFIS-системы
Входы сети в отдельный слой не выделяются. На рис. 7.52 изображена ANFIS-сеть с двумя входными переменными (x1 и x2) и четырьмя нечеткими правилами. Для лингвистической оценки входной переменной x1 используется 3 терма, для переменной x2 –
2терма.
Впакете Fuzzy Logic Toolbox системы MATLAB нейроне-
четкие сети реализованы в форме так называемой адаптивной системы нейронечеткого вывода ANFIS.
7.9.РЕАЛИЗАЦИЯ НЕЙРОНЕЧЕТКИХ СИСТЕМ В MATLAB
Для синтеза гибридных нейронных сетей в MATLAB ис-
пользуется ANFIS-редактор (Adaptive Neuro-Fuzzy Inference System) [51–53]. ANFIS представляет собой нейронную сеть с несколькими входами и одним выходом, по сути, это входы и выходы нейронной сети, притом весовые коэффициенты нейронной сети представляют собой нечеткие числа, функции принадлежности которых настраиваются на минимум разницы ме-
200