- •В. Г. Потемкин
- •Предисловие
- •Введение
- •Используемые обозначения
- •Часть 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
- •Предметный указатель
- •Литература Книги на английском языке:
- •Книги на русском языке:
- •Оглавление
Описание весов входа
Перечисленные ниже свойства объекта netвключают перечень функций, которые используются для описания весов входа.
|
net |
Тип |
Размер |
Значение по умолчанию |
Имя поля | |
|
.inputWeights{i,j} |
Cell array |
numLayersnumInputs |
{01} |
Описатель массива весов от входа j к слою i | |
|
.delays |
Double array |
1var |
[ ] |
Индикатор линий задержки | |
|
.initFcn |
Char |
initzero | midpoint | randnc | randnr | rands |
‘ ‘ |
Функции инициализации | |
|
.learn |
Boolean |
0 | 1 |
0 |
Индикатор настройки | |
|
.learnFcn |
Char |
learngd | learngdm | learnh | learnhd | learnis | learnk | learnlv1 | learnlv2 | learnos | learnp | learnpn | learnsom | learnwh |
‘ ‘ |
Функции настройки | |
|
.learnParam |
|
|
[ ] |
Параметры функции настройки | |
|
.weightFcn |
Char |
dist | dotprod | mandist | negdist | normprod |
‘ ‘ |
Функции формирования взвешенных входов | |
|
.size |
Integer >= 0 (только для чтения) |
11 |
0 |
Количество элементов | |
|
.userdata |
Struct |
11 |
11 |
Информация пользователя | |
|
|
.note |
Char |
1var |
'Put your custom input information here.' |
Текст |
inputWeights массив ячеек
Описатель весов входа.Массив размераNlNi, гдеNl– число слоевnumLayersиNi– число входовnumInputsобъектаnet, состоящий из ячеекinputWeights{i,j}. Каждая ячейка является массивом записей и служит для описания свойств весов, которые формируют матрицу весов. Последняя определяет веса связей слояiс входомjсети и согласуется с матрицей связностиinputConnect(i, j).
delaysиндикатор линий задержки
Описание линий задержки. СвойствоinputWeights{i, j}.delaysопределяет наличие линий задержки между входомjи слоемi. Это вектор-строка, элемент которого либо равен 0, либо значению задержки (положительное целое число), причем эти значения могут только возрастать. Длина этого вектора определяет количество задержанных векторов входа. При изменении значения этого свойства автоматически изменяется параметрinputWeights{i, j}.sizeи размер матрицы весовIW{i, j}.
initFcn initzero | midpoint | randnc | randnr | rands
Функция инициализации матрицы весов.Это свойство определяет, какая функция инициализацииinputWeights{i, j}.initFcnприменяется при вызове методаinitдля вычисления матрицы весов от входаjк слоюi при условии, что свойствоnet.initFcnимеет значениеinitlay, а функция инициализации слояlayers{i}.initFcnимеет значениеinitwb. Пользователь может расширить список применяемых функций инициализации.
learnиндикатор настройки
Индикатор настройки матрицы весов. СвойствоinputWeights{i, j}.learnуказывает, будет ли матрица весов для слояiнастраиваться в процессе адаптации или обучения при использовании методовadaptилиtrainсоответственно. Значение этого свойства 0 или 1, по умолчанию 0.
learnFcnlearngd | learngdm | learnh | learnhd | learnis | learnk | learnlv1 | learnlv2| learnos | learnp | learnpn | learnsom | learnwh
Функции настройки матриц весов.Это свойство определяет, какая функцияinputWeights{i,j}.learnFcnприменяется при настройке матрицы весов для слояi при адаптации или обучении с использованием функцийadaptwbиtrainwbилиtrainwb1соответственно. Пользователь может расширить список применяемых функций настройки.
learnParamпараметры функции настройки
Параметры функции настройки. Свойствоbiases{i}.learnParamопределяет набор параметров для используемой функции настройкиinputWeights{i,j}.learnParam. Узнать набор таких параметров можно, применяя операторhelpв следующей функциональной форме:
help(net.inputWeights{i,j}.learnFcn).
weightFcn dist | dotprod | mandist | negdist | normprod
Функции для применения матриц весов.Это свойство определяет, какая функцияinputWeights{i,j}.weightFcnприменяется для вычисления взвешенных входов для слоя. Пользователь может расширить список таких функций.
sizeразмер матрицы весов (только для чтения)
Размер матрицы весов. СвойствоinputWeights{i, j}.sizeопределяет размер матрицы весов, связывающей слойiсо входомj. Это вектор-строка, в которой указано число строк и столбцов матрицы весовIW; первый параметр совпадает с размером слояlayers{i}.size, второй соответствует величине
length(net.inputWeights{i, j}.delays) * net.inputs{j}.size.
userdataмассив записей
Поле для записи информации пользователя. Это свойство обеспечивает место для записи информации, относящейся к матрице весов слояiсети. Предусмотрено только одно полеinputWeights{i,j}.userdata.noteдля записи текста. По умолчанию оно содержит строку 'Putyourcustominputinformationhere.' – "Информацию разместите здесь".