- •В. Г. Потемкин
- •Предисловие
- •Введение
- •Используемые обозначения
- •Часть 1. Ппп Neural Network Toolbox
- •1. Система matlab 6
- •1.1. Операционная среда matlab 6
- •Командное окно
- •Окно предыстории
- •Окно запуска
- •Окно текущего каталога
- •Окно рабочей области
- •Справочная подсистема
- •1.3. Демонстрационные примеры ппп nnt
- •2. Модель нейрона и архитектура сети
- •2.1. Модель нейрона
- •2.1.1. Простой нейрон
- •2.1.2. Функция активации
- •2.1.3. Нейрон с векторным входом
- •2.2. Архитектура нейронных сетей
- •2.2.1. Однослойные сети
- •2.2.2. Многослойные сети
- •2.2.3. Сети с прямой передачей сигнала
- •2.3. Создание, инициализация и моделирование сети Формирование архитектуры сети
- •Инициализация сети
- •Моделирование сети
- •3. Обучение нейронных сетей
- •3.1. Процедуры адаптации и обучения
- •Явление переобучения
- •Свойство обобщения
- •3.1.1. Способы адаптации и обучения
- •Адаптация нейронных сетей
- •Xlabel(''), ylabel('Выходыa(I)'),grid
- •Xlabel(''), ylabel('Весавходовw(I)'),grid
- •Xlabel(' Циклы'), ylabel('Ошибка'),grid
- •Xlabel(''), ylabel('Выходыa(I)'),grid
- •Xlabel(''), ylabel('Весавходовw(I)'),grid
- •Xlabel('Циклы'), ylabel('Ошибка'),grid
- •Xlabel(''), ylabel('Выходыa(I)'),grid
- •Xlabel(''), ylabel('Весавходовw(I)'),grid
- •Xlabel('Циклы'), ylabel('Ошибка'),grid
- •Обучение нейронных сетей
- •3.2. Методы обучения
- •3.2.1. Обучение однослойной сети
- •3.2.2. Обучение многослойной сети
- •Метод обратного распространения ошибки
- •Характеристика методов обучения
- •3.3. Алгоритмы обучения
- •3.3.1. Градиентные алгоритмы обучения Алгоритм gd
- •Алгоритм gdm
- •Алгоритм gda
- •Алгоритм Rprop
- •3.3.2. Алгоритмы метода сопряженных градиентов
- •Алгоритм cgf
- •Алгоритм cgp
- •Алгоритм cgb
- •Алгоритм scg
- •3.3.3. Квазиньютоновы алгоритмы Алгоритм bfgs
- •Алгоритм oss
- •Алгоритм lm
- •3.3.4. Алгоритмы одномерного поиска
- •Алгоритм gol
- •Алгоритм bre
- •Алгоритм hyb
- •Алгоритм cha
- •Алгоритм bac
- •3.3.5. Расширение возможностей процедур обучения
- •Переобучение
- •Метод регуляризации
- •Формирование представительной выборки
- •Предварительная обработка и восстановление данных
- •Пример процедуры обучения
- •4. Персептроны
- •4.1. Архитектура персептрона
- •4.2. Модель персептрона
- •Моделирование персептрона
- •Инициализация параметров
- •4.3. Процедуры настройки параметров
- •Правила настройки
- •Процедура адаптации
- •5. Линейные сети
- •5.1. Архитектура линейной сети
- •5.2. Создание модели линейной сети
- •5.3. Обучение линейной сети
- •Процедура настройки
- •Процедура обучения
- •5.4. Применение линейных сетей Задача классификации векторов
- •Фильтрация сигнала
- •Предсказание сигнала
- •Подавление шумов
- •Многомерные цифровые фильтры
- •6. Радиальные базисные сети
- •Модель нейрона и архитектура сети
- •Создание сети
- •Радиальная базисная сеть с нулевой ошибкой
- •Итерационная процедура формирования сети
- •Примеры радиальных базисных сетей
- •6.1. Сети grnn
- •Архитектура сети
- •Синтез сети
- •6.2. Сети pnn
- •Архитектура сети
- •Синтез сети
- •7. Сети кластеризации и классификации данных
- •7.1. Самоорганизующиеся нейронные сети
- •7.1.1. Слой Кохонена
- •Архитектура сети
- •Создание сети
- •Правило обучения слоя Кохонена
- •Правило настройки смещений
- •Обучение сети
- •7.1.2. Карта Кохонена
- •Топология карты
- •Функции для расчета расстояний
- •Архитектура сети
- •Создание сети
- •Обучение сети
- •Одномерная карта Кохонена
- •Двумерная карта Кохонена
- •Архитектура сети
- •Создание сети
- •Обучение сети Правила настройки параметров
- •Процедура обучения
- •8. Рекуррентные сети
- •8.1. Сети Элмана
- •Архитектура
- •Создание сети
- •Обучение сети
- •Проверка сети
- •8.2. Сети Хопфилда
- •Архитектура сети
- •Синтез сети
- •9. Применение нейронных сетей
- •9.1. Аппроксимация и фильтрация сигналов
- •9.1.1. Предсказание стационарного сигнала Постановка задачи
- •Синтез сети
- •Проверка сети
- •9.1.2. Слежение за нестационарным сигналом
- •Инициализация сети
- •Проверка сети
- •9.1.3. Моделирование стационарного фильтра
- •Постановка задачи
- •Синтез сети
- •Проверка сети
- •9.1.4. Моделирование нестационарного фильтра
- •Постановка задачи
- •Инициализация сети
- •Проверка сети
- •9.2. Распознавание образов
- •Постановка задачи
- •Нейронная сеть
- •Архитектура сети
- •Инициализация сети
- •Обучение
- •Обучение в отсутствие шума
- •Обучение в присутствии шума
- •Повторное обучение в отсутствие шума
- •Эффективность функционирования системы
- •9.3. Нейронные сети и системы управления
- •9.3.1. Регулятор с предсказанием
- •9.3.2. Регулятор narma-l2
- •9.3.3. Регулятор на основе эталонной модели
- •Часть2. Операторы, функции и команды
- •10. Вычислительная модель нейронной сети
- •10.1. Описание сети Описание архитектуры
- •Функции инициализации, адаптации и обучения
- •10.2. Описание элементов сети
- •Описание входов
- •Описание слоев
- •Описание выходов
- •Описание целей
- •Описание смещений
- •Описание весов входа
- •Описание весов слоя
- •Матрицы весов и векторы смещений
- •Информационные поля
- •11. Формирование моделей нейронных сетей
- •11.1. Модели сетей
- •11.1.1. Однослойные сети Персептрон
- •Линейные сети
- •11.1.2. Многослойные сети
- •Радиальные базисные сети
- •Самоорганизующиеся сети
- •Сети – классификаторы входных векторов
- •Рекуррентные сети
- •11.2. Функции активации
- •Персептрон
- •Линейные сети
- •Радиальные базисные сети
- •Самоорганизующиеся сети
- •Рекуррентные сети
- •11.3. Синаптические функции
- •Функции взвешивания и расстояний
- •Функции накопления
- •11.4. Функции инициализации
- •11.5. Функции адаптации и обучения Функции адаптации
- •Функции обучения
- •Градиентные алгоритмы обучения
- •Алгоритмы метода сопряженных градиентов
- •Квазиньютоновы алгоритмы обучения
- •11.5.1. Функции оценки качества обучения
- •11.6. Функции настройки параметров
- •11.6.1. Функции одномерного поиска
- •11.7. Масштабирование и восстановление данных
- •11.8. Вспомогательные функции
- •Утилиты вычислений
- •Операции с массивами данных
- •Графические утилиты
- •Информация о сети и ее топологии
- •11.9. Моделирование нейронных сетей и система Simulink Функции моделирования сети
- •11.9.1. Применение системы Simulink
- •Библиотеки блоков для моделирования нейронных сетей
- •Построение моделей нейронных сетей
- •Индексный указатель Команды, функции и операторы ппп Neural Network Toolbox
- •Предметный указатель
- •Литература Книги на английском языке:
- •Книги на русском языке:
- •Оглавление
Информация о сети и ее топологии
DISP, DISPLAY |
Вывод на экран свойств нейронной сети |
Синтаксис:
disp(net)
display(net)
Описание:
Команда disp(net) выводит на экран свойства нейронной сети с именем net.
Команда display(net) выводит на экран не только свойства нейронной сети, но и ее имя.
Пример:
Создадим персептрон и выведем на экран его свойства:
net = newp([–1 1; 0 2],3); display(net)
net =
Neural Network object:
architecture:
numInputs: 1
numLayers: 1
biasConnect: [1]
inputConnect: [1]
layerConnect: [0]
outputConnect: [1]
targetConnect: [1]
numOutputs: 1 (read–only)
numTargets: 1 (read–only)
numInputDelays: 0 (read–only)
numLayerDelays: 0 (read–only)
subobject structures:
inputs: {11 cell} of inputs
layers: {11 cell} of layers
outputs: {11 cell} containing 1 output
targets: {11 cell} containing 1 target
biases: {11 cell} containing 1 bias
inputWeights: {11 cell} containing 1 input weight
layerWeights: {11 cell} containing no layer weights
functions:
adaptFcn: ‘adaptwb’
initFcn: ‘initlay’
performFcn: ‘mae’
trainFcn: ‘trainwb’
parameters:
adaptParam: .passes
initParam: (none)
performParam: (none)
trainParam: .epochs, .goal, .max_fail, .show,
.time
weight and bias values:
IW: {11 cell} containing 1 input weight matrix
LW: {11 cell} containing no layer weight matrices
b: {11 cell} containing 1 bias vector
other:
userdata: (user stuff)
Справка:
help network/disp
help network/display
Сопутствующие функции: DISP, SIM, INIT, TRAIN, ADAPT.
PLOTSOM |
Отображение топологии карты Кохонена |
Синтаксис:
plotsom(pos)
plotsom(W,D,nd)
Описание:
Функция plotsom(pos) отображает топологию карты Кохонена в виде узлов N-мерной сетки, используя массив координат узлов размераNS, помечает узлы красным цветом и соединяет их линиями. Координаты узлов сетки рассчитываются с помощью М-функций gridtop,hextop,randtop. Размерность сетки при использовании функции plotsom не должнапревышать значения 3; если размерность сетки больше, то выводятся только 3 координаты.
Функция plotsom(W, D, nd) строит сетку в пространстве весов, задаваемых матрицейWразмера SN, если заданы матрица расстоянийDразмера SS и евклидово расстояниеndмежду соседними нейронами, по умолчанию равное 1.
Пример:
Рассмотрим способы отображения двумерных и трехмерных карт Кохонена; для этого с помощью М-функции gridtop рассчитаем сетку с прямоугольной топологией:
pos = gridtop(4,3);
plotsom(pos) % Рис.11.74,а
Для отображения двумерной карты Кохонена в пространстве весов зададим случайную матрицу весов W размера 122 и вычислим матрицу расстояний D на выбранной сетке:
W = rand(12,2);
D = dist(pos);
plotsom(W,D) % Рис.11.74,б
а |
б |
Рис. 11.74
Выполним аналогичные построения для трехмерной карты Кохонена:
pos = gridtop(4,3,3);
plotsom(pos) % Рис.11.75,а
D = dist(pos);
W = rand(36,3);
plotsom(W, D) % Рис.11.75,б
а |
б |
Рис. 11.75
Сопутствующие функции: NEWSOM, LEARNSOM, INITSOM.
GRIDTOP |
Расчет сетки с прямоугольной топологией |
Синтаксис:
gridtop(dim1,dim2,...,dimN)
Описание:
Функция pos = gridtop(dim1, dim2, ..., dimN) рассчитывает положения нейронов на N-мерной сетке с прямоугольной топологией, если задано число нейронов dimI по размерности i, и возвращает массив координат узлов pos размера NS, где S =.
Пример:
Рассчитать положения нейронов на четырехмерной сетке с прямоугольной топологией размера 5432 и выполнить попытку построить график.
pos = gridtop(5,4,3,2);
plotsom(pos) % Рис.11.76
Warning – PLOTSOM only shows first three dimensions.
Предупреждение – PLOTSOM выводит только 3 размерности.
Рис. 11.76
В результате будет построен график только по трем последним размерностям (рис. 11.76).
Сопутствующие функции: HEXTOP, RANDTOP.
HEXTOP |
Расчет сетки с гексагональной топологией |
Синтаксис:
pos = hextop(dim1,dim2,...,dimN)
Описание:
Функция pos = hextop(dim1, dim2, ..., dimN) рассчитывает положения нейронов на N-мерной сетке с гексагональной топологией, если задано число нейронов dimI по размерности i, и возвращает массив координат узлов pos размера NS, где S =
Пример:
Рассчитать положения нейронов на трехмерной сетке с гексагональной топологией размера 543 с 60 нейронами и построить график их расположения
pos = hextop(5,4,3); plotsom(pos) % Рис.11.77
Рис. 11.77
Сопутствующие функции: GRIDTOP, RANDTOP.
RANDTOP |
Расчет сетки со случайной топологией |
Синтаксис:
pos = randtop(dim1,dim2,...,dimN)
Описание:
Функция pos = hextop(dim1, dim2, ..., dimN) рассчитывает положения нейронов на N-мерной сетке с гексагональной топологией, если задано число нейронов dimI по размерности i, и возвращает массив координат узлов pos размера NS, где S =
Пример:
Рассчитать положения нейронов на трехмерной сетке со случайной топологией размера 543 с 60 нейронами и построить график их расположения.
pos = randtop(5,4,3); plotsom(pos) % Рис.11.78
Рис. 11.78
Сопутствующие функции: GRIDTOP, HEXTOP.
NNTOOL |
Вызов графического интерфейса пользователя |
Синтаксис:
nntool
Описание:
Команда nntool открывает окно Network/Data Manager(Управление сетью/данными), которое позволяет управлять вводом и выводом данных, создавать, обучать и моделировать нейронные сети.
Подробно работа с графическим интерфейсом пользователя ППП NeuralNetworkToolboxописана в разд. 1.2.