- •В. Г. Потемкин
- •Предисловие
- •Введение
- •Используемые обозначения
- •Часть 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
- •Предметный указатель
- •Литература Книги на английском языке:
- •Книги на русском языке:
- •Оглавление
Командное окно
Командное окно CommandWindowпоказано на рис. 1.3 и предназначено для работы с переменными, файлами и функциями системыMATLAB.
Рис. 1.3
В отличие от предшествующих версий в среде системы MATLAB 6 все операторы как в зоне просмотра командного окна, так и в командной строке могут быть активизированы с помощью правой кнопки мыши. При этом появляется контекстное меню со следующими опциями: Evaluate Selection (Вычислить выделенное), Open Selection (Открыть выделенное), Help on Selection (Справка по выделенному), Copy (Копировать), Paste (Вставить).
Окно предыстории
Окно предыстории вызова операторов CommandHistoryпоказано на рис. 1.4. Оно содержит строки операторов, которые вводились в командном окне с начала сеанса работы.
Рис.1.4
Эти строки можно активизировать к выполнению двойным щелчком левой кнопки мыши, можно переносить из окна на командную строку, а можно использовать правую кнопку мыши. При этом появляется контекстное меню со следующими опциями: Copy (Копировать),Evaluate Selection (Вычислить выделенное),Create M-File (Создать М-файл),Delete Selection(Удалить выделенное),Delete to Selection(Удалить до выделенного),Delete Entire History(Удалить всю предысторию).
Окно запуска
Окно, или панель запуска, Launch Pad показано на рис. 1.5 и предназначено для вызова программных продуктов, включенных в состав инсталлированной версии системы MATLAB.
Рис. 1.5
Активизация кнопки вызова подменю для каждого из продуктов позволяет обратиться к средству подсказки Help, демонстрационным примерамDemos. Применительно к ядру системыMATLABможно активизировать либо окно текущего каталогаCurrentDirectory, либо окно рабочей областиWorkspace, либо средство управления путями доступаPath. Можно также вызвать средство построения графического интерфейса пользователяGUIDE(GUIBuilder), обратиться через Интернет к страницеProductPage(Web) на сайте фирмыTheMathWorksInc., где приведено описание продуктов семействаMATLAB.
И вновь доступно контекстное меню со следующими опциями: Open (Открыть),Edit Source(Отредактировать источник),Refresh(Обновить).
Окно текущего каталога
Окно для просмотра текущего каталога CurrentDirectoryпоказано на рис. 1.6; оно позволяет открывать, просматривать и выполнять поиск информации в файлах системыMATLAB, имеющих необходимое расширение.
Рис. 1.6
Контекстное меню, связанное с правой кнопкой мыши, позволяет реализовать следующие действия: Open(Открыть),Run (Выполнить),View Help(Просмотреть справку),Open as Text(Открыть как текст),Import Data…(Импортировать данные…),New(Открыть новый... ),Rename(Переименовать),Delete (Удалить),Cut(Вырезать),Copy (Копировать),Paste (Вставить),File Filter(Задать список расширений),Add to Path(Добавить к пути доступа),Refresh (Обновить).
На инструментальной панели системы MATLAB6 имеется информационное окноCurrentDirectory, с помощью которого всегда обеспечивается доступ к списку ранее вызванных текущих каталогов, как это показано на рис. 1.7. Это позволяет быстро переходить от одного каталога к другому, получая доступ к интересующим файлам.
Рис. 1.7
Окно рабочей области
Окно рабочей области Workspaceпоказано на рис. 1.8 и содержит список переменных (именованные массивы), накопленных в памяти в процессе работы, расширение списка переменных при обращении к функциям, выполнении М-файлов и загрузке сохраненных переменных.
Рис. 1.8
На рис. 1.8 показан список переменных, охватывающий все типы данных: это массивы действительных и комплексных (complex) чисел удвоенной точностиdoublearray, разновидности этих массивов, описываемые глобальной переменнойglobalи переменными логического типаlogical. Кроме того, список содержит массив строкchararray, массив разреженной матрицыsparsearray, массив записейstructarray, массив ячеекcellarray, а также специальные типы целочисленных массивовuint8 и uint32 и объект типаinlineobject. Для каждой переменной указывается размер массиваSize, объем памятиBytesи тип массиваClass.
Окно рабочей области, как и все окна рабочего стола системы MATLAB6, сопровождается контекстным меню, которое включает следующие опции:Open Selection…(Открыть выделенное…),Graph Selection(Построить график),Select All(Выделить все),Import Data(Импорт данных),Save Selection As… (Сохранить выделенное как…),Save Workspace As…(Сохранить рабочую область как…),Delete Selection (Удалить выделенное),Delete Workspace(Удалить рабочую область).
На рис. 1.9 показана глубина вложенности опции GraphSelection, что позволяет в режиме контекста строить любые типы графиков. Это определяет совершенно новый стиль работы в среде системыMATLAB6, когда многие предварительные действия вообще не требуют обращения к командной строке и могут быть реализованы с использованием только правой кнопки мыши.
Рис. 1.9
После завершения сеанса работы данные в рабочей области не сохраняются, и пользователь должен предусмотреть их сохранение в виде файла данных. Это реализуется либо с помощью опции контекстного меню Save Workspace As…, либо с помощью этой же опции из менюFile, либо с использованием командыsave. Любая из этих операций приводит к созданию специального двоичного файла с расширением .mat. Чтобы прочитать МАТ-файл и разместить его в рабочей области, следует воспользоваться опциейImport Data…или использовать командуload.
Окно рабочей области помимо перечисленных функций выполняет функции обозревателя (средства просмотра) данных. Достаточно выполнить двойной щелчок по левой клавише мыши, чтобы вызвать редактор данных ArrayEditor.
На рис. 1.10 показан редактор данных, который позволяет в интерактивном режиме просматривать и корректировать одномерные и двумерные числовые массивы, массивы строк и массивы строковых ячеек.
Рис. 1.10