- •В. Г. Потемкин
- •Предисловие
- •Введение
- •Используемые обозначения
- •Часть 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
- •Предметный указатель
- •Литература Книги на английском языке:
- •Книги на русском языке:
- •Оглавление
Индексный указатель Команды, функции и операторы ппп Neural Network Toolbox
Функции формирования сетей
Операторы |
Назначение |
network |
Создание шаблона нейронной сети |
Персептрон | |
newp |
Создание персептрона |
Линейные сети | |
newlin |
Создание линейного слоя |
newlind |
Создание линейного слоя путем решения линейного уравнения |
Многослойные сети | |
newff |
Создание сети прямой передачи |
newfftd |
Создание сети прямой передачи с запаздыванием |
newcf |
Создание каскадной сети прямой передачи |
Радиальные базисные сети | |
newrb |
Создание радиальной базисной сети |
newrbe |
Создание радиальной базисной сети с нулевой ошибкой |
newgrnn |
Создание обобщенной регрессионной сети |
newpnn |
Создание вероятностной нейронной сети |
Сети для решения задач классификации | |
newlvq |
Создание нейронной сети для решения задач классификации |
Самоорганизующиеся сети | |
netwc |
Создание конкурирующего слоя Кохонена |
newsom |
Создание самоорганизующейся сети Кохонена |
Рекуррентные сети | |
newhop |
Создание сети Хопфилда |
newelm |
Создание сети Элмана |
Функции активации и их производные
compet |
Конкурирующая функция активации |
hardlim |
Функция активации с жесткими ограничениями |
hardlims |
Симметричная функция активации с жесткими ограничениями |
logsig |
Логистическая сигмоидальная функция активации |
poslin |
Положительная линейная функция активации |
purelin |
Линейная функция активации |
radbas |
Радиальная базисная функция активации |
satlin |
Линейная функция активации с ограничениями |
satlins |
Симметричная линейная функция активации с ограничениями |
softmax |
Конкурирующая функция активации с мягким максимумом |
tansig |
Гиперболическая тангенциальная функция активации |
tribas |
Треугольная функция активации |
dhardlim |
Производная функции активации с жесткими ограничениями |
dhardlms |
Производная симметричной функции активации с жесткими ограничениями |
dlogsig |
Производная логарифмической функции активации |
dposlin |
Производная положительной линейной функции активации |
dpurelin |
Производная линейной функции активации |
dradbas |
Производная радиальной базисной функции активации |
dsatlin |
Производная линейной функции активации с жесткими ограничениями |
dsatlins |
Производная линейной функции активации с симметричными жесткими ограничениями |
dtansig |
Производная функции активации гиперболического тангенса |
dtribas |
Производная треугольной функции активации типа |
Функции взвешивания и расстояний
boxdist |
Максимальное координатное смещение |
dist |
Евклидово расстояние |
dotprod |
Скалярное произведение |
ddotprod |
Производная скалярного произведения |
linkdist |
Расстояния связи между нейронами слоя |
mandist |
Расстояние суммарного координатного смещения |
negdist |
Отрицательное евклидово расстояние |
normprod |
Нормированное скалярное произведение |
Функции накопления
netsum |
Сумма взвешенных входов |
netprod |
Поэлементное произведение взвешенных входов |
dnetsum |
Производная суммы взвешенных входов |
dnetprod |
Производная поэлементного произведения взвешенных входов |
Функции инициализации
init |
Инициализация нейронной сети |
initcon |
Инициализация равных смещений |
initlay |
Функция готовности сети к инициализации |
initnw |
Функция инициализации слоя по алгоритму NW (Нгуена – Видроу) |
initwb |
Функция готовности слоя к инициализации |
initzero |
Инициализация нулевых значений весов и смещений |
midpoint |
Инициализация матрицы средних значений |
randnс |
Инициализация случайной матрицы с нормированными столбцами |
randnr |
Инициализация случайной матрицы с нормированными строками |
rands |
Инициализация случайных весов/смещений |
revert |
Возвращение к ранее установленным значениям весов и смещений |
Функции адаптации и обучения
adapt |
Адаптация параметров сети |
adaptwb |
Функция установки режима адаптации |
train |
Обучение нейронной сети |
trainb |
Групповое обучение нейронной сети |
trainbfg |
Алгоритм обучения Бройтона, Флетчера, Гольдфарба и Шано BFGS) |
trainbr |
Алгоритм обучения BR с регуляризацией по Байесу |
traincgb |
Алгоритм обучения CGB на основе метода сопряженного градиента с обратным распространением и рестартами в модификации Пауэла – Биеле |
trainc |
Обучение нейронной сети c циклическим представлением входа |
traincgf |
Алгоритм Флетчера – Ривса CGF |
traincgp |
Алгоритм Полака – Рибейры CGP |
traingd |
Алгоритм градиентного спуска GD |
traingda |
Алгоритм градиентного спуска с выбором параметра скорости настройки GDA |
traingdm |
Алгоритм градиентного спуска с возмущением GDM |
traingdx |
Алгоритм градиентного спуска с возмущением и адаптацией параметра скорости настройки GDX |
trainlm |
Алгоритм Левенберга – Марквардта LM |
trainoss |
Одношаговый алгоритм метода секущей OSS |
trainr |
Обучение нейронной сети в режиме случайного представления входа |
trainrp |
Пороговый алгоритм обратного распространения ошибки Rprop |
trains |
Адаптивное обучение нейронной сети с последовательным представлением входов |
trainscg |
Алгоритм обучения SCG |
Функции оценки качества обучения
mae |
Критерий средней абсолютной ошибки |
mse |
Критерий средней квадратичной ошибки |
msereg |
Комбинированный критерий качества |
sse |
Сумма квадратов ошибок обучения |
dmae |
Производная критерия средней абсолютной ошибки |
dmse |
Производная критерия средней квадратичной ошибки |
dmsereg |
Производная комбинированного критерия качества |
dsse |
Производная суммы квадратов ошибок |
Функции настройки
learncon |
Настройка смещений для слоя Кохонена |
learngd |
Настройка методом градиентного спуска |
learngdm |
Настройка методом градиентного спуска с возмущением |
learnh |
Настройка по правилу Хебба |
learnhd |
Настройка по правилу Хебба с затуханием |
learnis |
Настройка по вектору входа |
learnk |
Настройка весов для слоя Кохонена |
learnlv1 |
Настройка весов LVQ-сети по правилу LVQ1 |
learnlv2 |
Настройка весов LVQ-сети по правилу LVQ2 |
learnos |
Настройка по вектору выхода |
learnp |
Настройка параметров персептрона |
learnpn |
Нормированная функция настройки параметров персептрона |
learnsom |
Настройка весов карты Кохонена |
learnwh |
Настройка методом Видроу – Хоффа |
maxlinlr |
Максимальное значение параметра скорости настройки для линейной сети |
Функции одномерного поиска
srchbac |
Одномерная минимизация на основе метода перебора с возвратами |
srchbre |
Одномерная минимизация методом Брента |
srchcha |
Одномерная минимизация на основе метода Чараламбуса |
srchgol |
Одномерная минимизация методом золотого сечения |
srchhyb |
Одномерная минимизация на основе гибридного метода |
Масштабирование и восстановление данных
postmnmx |
Восстановление данных после масштабирования функцией premnmx |
postreg |
Постпроцессорная обработка выхода сети с расчетом линейной регрессии |
poststd |
Восстановление данных после применения функции prestd |
premnmx |
Приведение данных к интервалу [–1 1] |
prepca |
Выделение главных компонентов |
prestd |
Приведение данных к нормальному закону распределения |
tramnmx |
Масштабирование текущих входов к диапазону [–1 1] |
trapca |
Масштабирование текущих входов с учетом факторного анализа |
trastd |
Масштабирование текущих входов к нормальному закону распределения |
Вспомогательные функции
Утилиты вычислений | |
calca |
Расчет сигналов сети на заданном интервале времени |
calca1 |
Расчет сигналов сети на одном шаге по времени |
calce |
Расчет ошибок слоя на заданном интервале времени |
calce1 |
Расчет ошибок слоя на одном шаге по времени |
calcgx |
Расчет градиента функционала качества по объединенному вектору весов и смещений |
calcjejj |
Расчет градиента и приближенной функции Гессе для функционала качества |
calcjx |
Расчет функции Якоби функционала качества относительно объединенной матрицы весов и смещений |
calcpd |
Расчет запаздывающих входов сети |
calcperf |
Расчет сигналов и функционала качества слоя |
formx |
Формирование объединенного вектора весов и смещений |
getx |
Извлечение объединенного вектора весов и смещений из описания сети |
setx |
Включение объединенного вектора весов и смещений в описание сети |
Операции с массивами и матрицами | |
cell2mat |
Преобразование массива числовых ячеек в массив double |
combvec |
Объединение выборок разных размеров |
concur |
Создание группы векторов смещений |
con2seq |
Преобразование группового представления данных в последовательное |
ind2vec |
Преобразование вектора индексов классов в матрицу связности |
mat2cell |
Преобразование числового массива в массив ячеек |
minmax |
Вычисление минимальных и максимальных элементов векторов входа |
normc |
Нормировка матрицы по столбцам |
normr |
Нормировка матрицы по строкам |
pnormc |
Псевдонормировка столбцов матрицы |
quant |
Округление элементов массива до ближайшего кратного базису округления |
seq2con |
Преобразование последовательного представления данных в групповое |
sumsqr |
Сумма квадратов элементов массива |
vec2ind |
Преобразование матрицы связности в вектор индексов классов |
Графические утилиты | |
errsurf |
Вычисление поверхности ошибок для нейрона с одним входом |
hintonw |
Диаграмма Хинтона для весов |
hintonwb |
Диаграмма Хинтона для весов и смещений |
plotep |
Построение траектории обучения на поверхности ошибки |
plotes |
Построение графика поверхности ошибки для нейрона с одним входом |
plotpc |
Построение разделяющей линии или плоскости в пространстве векторов входа для персептрона |
plotperf |
График функции качества обучения |
plotpv |
Отображение векторов входов и целей в виде маркеров |
plotsom |
Отображение топологии карты Кохонена |
plotv |
Отображение векторов в виде линий |
plotvec |
Отображение векторов входа в виде маркеров |
Информация о сети и ее топологии | |
disp |
Вывод на экран свойств нейронной сети |
display |
Вывод на экран имени и свойств нейронной сети |
gridtop |
Расчет сетки с прямоугольной топологией |
hextop |
Расчет сетки с гексагональной топологией |
randtop |
Расчет сетки со случайной топологией |
Графический интерфейс пользователя | |
nntool |
Графический интерфейс пользователя ППП Neural Network Tool |
Моделирование нейронных сетей | |
sim |
Моделирование нейронной сети |
gensim |
Построение S-модели нейронной сети |
gensimm |
Формирование М-файла для моделирования нейронной сети |