NEWFF | Сеть прямой передачи FF |
Синтаксис:
net = newff(PR,[S1 S2...SNl],{TF1 TF2...TFNl},btf,blf,pf)
Описание:
Функция newff предназначена для создания многослойных нейронных сетей прямой передачи сигнала с заданными функциями обучения и настройки, которые используют метод обратного распространения ошибки.
Функция net = newff(PR, [S1 S2... SNl], {TF1 TF2... TFNl}, btf, blf, pf) формирует многослойную нейронную сеть.
Входные аргументы:
PR – массив размера R´2 минимальных и максимальных значений для R векторов входа;
Si – количество нейронов в слое i;
TFi – функция активации слоя i, по умолчанию tansig;
btf – обучающая функция, реализующая метод обратного распространения, по умолчанию trainlm;
blf – функция настройки, реализующая метод обратного распространения, по умолчанию learngdm;
pf – критерий качества обучения, по умолчанию mse.
Выходные аргументы:
net – объект класса network object многослойной нейронной сети.
Свойства сети:
Функциями активации могут быть любые дифференцируемые функции, например tansig, logsig или purelin.
Обучающими функциями могут быть любые функции, реализующие метод обратного распространения: trainlm, trainbfg, trainrp, traingd и др.
Функция trainlm является обучающей функцией по умолчанию, поскольку обеспечивает максимальное быстродействие, но требует значительных ресурсов памяти. Если ресурсы памяти недостаточны, воспользуйтесь следующими рекомендациями:
· установите значение свойства net.trainParam.mem_reduc равным 2 или более, что снизит требования к памяти, но замедлит обучение;
· воспользуйтесь обучающей функцией trainbfg, которая работает медленнее, но требует меньшей памяти, чем М-функция trainlm;
· перейдите к обучающей функции trainrp, которая работает медленнее, но требует меньшей памяти, чем М-функция trainbfg.
Функциями настройки могут быть функции, реализующие метод обратного распространения: learngd, learngdm.
Критерием качества обучения может быть любая дифференцируемая функция: mse, msereg.
Пример:
Создать нейронную сеть, чтобы обеспечить следующее отображение последовательности входа P в последовательность целей T:
P = [0 1 2 3 4 5 6 7 8 9 10];
T = [0 1 2 3 4 3 2 1 2 3 4];
Архитектура нейронной сети: двухслойная сеть с прямой передачей сигнала; первый слой – 5 нейронов с функцией активации tansig; второй слой – 1 нейрон с функцией активации purelin; диапазон изменения входа [0 10].
net = newff([0 10],[5 1],{'tansig' 'purelin'});
gensim(net) % Рис.11.12
Рис. 11.12
Выполним моделирование сети и построим графики сигналов выхода и цели (рис. 11.13):
Y = sim(net,P);
plot(P, T, P, Y, 'o') % Рис.11.13
Рис. 11.13
Обучим сеть в течение 50 циклов:
net.trainParam.epochs = 50;
net = train(net,P,T);
Характеристика точности обучения показана на рис. 11.14; установившаяся среднеквадратичная ошибка составляет приблизительно 0.02.
Рис. 11.14
Выполним моделирование сформированной двухслойной сети, используя обучающую последовательность входа:
Y = sim(net,P);
plot(P,T,P,Y,'o') % Рис.11.15
Результаты моделирования показаны на рис. 11.15 и свидетельствуют о хорошем отображении входной последовательности в выходную последовательность.
Рис. 11.15
Алгоритм:
Многослойная сеть прямой передачи сигнала включает Nl слоев с функциями взвешивания dotprod, накопления netsum и заданными пользователем функциями активации.
Первый слой характеризуется матрицей весов входа, другие слои – матрицами весов выхода предшествующего слоя; все слои имеют смещения. Выход последнего слоя является выходом сети. Веса и смещения каждого слоя инициализируются с помощью М-функции initnw.
Режим адаптации реализуется М-функцией adaptwb. Для режима обучения выбирается обучающая функция, реализующая метод обратного распространения ошибки.
Оценка качества обучения основана на функциях оценки качества, выбираемых
из списка {mae | mse | msereg | sse}.
Сопутствующие функции: NEWCF, NEWELM, SIM, INIT, ADAPT, TRAIN.
neWFFTD | Динамическая нейронная сеть FFTD |
Сеть прямой передачи с запаздыванием
Синтаксис:
net = newfftd(PR, ID, [S1 S2... SNl], {TF1 TF2... TFNl}, btf, blf, pf)
Описание:
Функция newfftd предназначена для создания многослойных нейронных сетей прямой передачи сигнала с линиями задержки и заданными функциями обучения и настройки, использующими метод обратного распространения ошибки.
Функция net = newfftd(PR, ID, [S1 S2... SNl], {TF1 TF2... TFNl}, btf, blf, pf) формирует динамическую многослойную нейронную сеть.
Входные аргументы:
PR – массив размера R´2 минимальных и максимальных значений для R векторов входа;
ID – вектор параметров линии задержки на входе сети;
Si – количество нейронов в слое i;
TFi – функция активации слоя i, по умолчанию tansig;
btf – обучающая функция, реализующая метод обратного распространения, по умолчанию trainlm;
blf – функция настройки, реализующая метод обратного распространения, по умолчанию learngdm;
pf – критерий качества обучения, по умолчанию mse.
Выходные аргументы:
net – объект класса network object динамической многослойной нейронной сети.
Свойства сети:
Функциями активации могут быть любые дифференцируемые функции, например tansig, logsig или purelin.
Обучающими функциями могут быть любые функции, реализующие метод обратного распространения: trainlm, trainbfg, trainrp, traingd и др.
Функция trainlm является обучающей функцией по умолчанию, поскольку обеспечивает максимальное быстродействие, но требует значительных ресурсов памяти. Если ресурсы памяти недостаточны, воспользуйтесь следующими рекомендациями:
· установите значение свойства net.trainParam.mem_reduc равным 2 или более, что снизит требования к памяти, но замедлит обучение;
· воспользуйтесь обучающей функцией trainbfg, которая работает медленнее, но требует меньшей памяти, чем М-функция trainlm;
· перейдите к обучающей функции trainrp, которая работает медленнее, но требует меньшей памяти, чем М-функция trainbfg.
Функциями настройки могут быть функции, реализующие метод обратного распространения: learngd, learngdm.
Критерием качества обучения может быть любая дифференцируемая функция: mse, msereg.
Пример:
Создать нейронную сеть, чтобы обеспечить следующее отображение последовательности входа P в последовательность целей T:
P = {1 0 0 1 1 0 1 0 0 0 0 1 1 0 0 1};
T = {1 –1 0 1 0 –1 1 –1 0 0 0 1 0 –1 0 1};
Архитектура нейронной сети: двухслойная сеть с прямой передачей сигнала и линией задержки [0 1]; первый слой – 5 нейронов с функцией активации tansig; второй слой –
1 нейрон с функцией активации purelin; диапазон изменения входа [0 10].
net = newfftd([0 1],[0 1],[5 1],{'tansig' 'purelin'}); % Рис.11.16
Рис. 11.16 |
Обучим сеть в течение 50 циклов и промоделируем, используя в качестве теста
обучающую последовательность входа:
net.trainParam.epochs = 50;
net = train(net,P,T);
Y = sim(net,P)
Y = [1] [–1] [0] [1] [0] [–1] [1] [–1] [0] [0] [0] [1]
[0] [–1] [0] [1]
Выход сети точно совпадает с целевой последовательностью.
Алгоритм:
Многослойная динамическая сеть прямой передачи включает Nl слоев с функциями взвешивания dotprod, функциями накопления netsum и заданными пользователем функциями активации.
Первый слой характеризуется матрицей весов входа, другие слои – матрицами весов выхода предшествующего слоя; все слои имеют смещения. Выход последнего слоя является выходом сети. Веса и смещения каждого слоя инициализируются с помощью
М-функции initnw.
Режим адаптации реализуется М-функцией adaptwb. Для режима обучения выбирается обучающая функция, использующая метод обратного распространения ошибки.
Оценка качества обучения основана на функциях оценки качества, выбираемых
из списка {mae | mse | msereg | sse}.
Сопутствующие функции: NEWCF, NEWELM, SIM, INIT, ADAPT, TRAIN.
neWCF | Каскадная сеть прямой передачи CF |
Синтаксис:
net = newcf(PR,[S1 S2...SNl],{TF1 TF2...TFNl},btf,blf,pf)
Описание:
Функция newcf предназначена для создания каскадных нейронных сетей прямой передачи сигнала с заданными функциями обучения и настройки, использующими метод обратного распространения ошибки.
Функция net = newcf(PR, [S1 S2... SNl], {TF1 TF2... TFNl}, btf, blf, pf) формирует
каскадную нейронную сеть.
Входные аргументы:
PR – массив размера R´2 минимальных и максимальных значений для R векторов входа;
Si – количество нейронов в слое i;
TFi – функция активации слоя i, по умолчанию tansig;
btf – обучающая функция, реализующая метод обратного распространения, по умолчанию trainlm;
blf – функция настройки, реализующая метод обратного распространения, по умолчанию learngdm;
pf – критерий качества обучения, по умолчанию mse.
Выходные аргументы:
net – объект класса network object каскадной нейронной сети с прямой передачей
и обучением методом обратного распространения.
Свойства сети:
Функциями активации могут быть любые дифференцируемые функции, например tansig, logsig или purelin.
Обучающими функциями могут быть любые функции, реализующие метод обратного распространения: trainlm, trainbfg, trainrp, traingd и др.
Функция trainlm является обучающей функцией по умолчанию, поскольку обеспечивает максимальное быстродействие, но требует значительных ресурсов памяти. Если ресурсы памяти недостаточны, воспользуйтесь следующими рекомендациями:
· установите значение свойства net.trainParam.mem_reduc равным 2 или более, что снизит требования к памяти, но замедлит обучение;
· воспользуйтесь обучающей функцией trainbfg, которая работает медленнее, но требует меньшей памяти, чем М-функция trainlm;
· перейдите к обучающей функции trainrp, которая работает медленнее, но требует меньшей памяти, чем М-функция trainbfg.
Функциями настройки могут быть функции, реализующие метод обратного распространения: learngd, learngdm
Критерием качества обучения может быть любая дифференцируемая функция: mse, msereg.
Пример:
Создать каскадную нейронную сеть, чтобы обеспечить следующее отображение
последовательности входа P в последовательность целей T:
P = [0 1 2 3 4 5 6 7 8 9 10];
T = [0 1 2 3 4 3 2 1 2 3 4];
Архитектура нейронной сети: каскадная двухслойная сеть с прямой передачей сигнала; первый слой – 5 нейронов с функцией активации tansig; второй слой – 1 нейрон
с функцией активации purelin; диапазон изменения входа [0 10].
net = newcf([0 10],[5 1],{'tansig' 'purelin'});
gensim(net) % Рис.11.17
Результат представлен на рис. 11.17.
Рис. 11.17
Обучим сеть в течение 50 циклов:
net.trainParam.epochs = 50;
net = train(net,P,T);
Характеристика точности обучения показана на рис. 11.18; установившаяся среднеквадратичная ошибка составляет приблизительно 0.002, что на порядок выше, чем для сети FF (см. рис. 11.14).
Рис. 11.18
Выполним моделирование каскадной двухслойной сети, используя обучающую
последовательность входа:
Y = sim(net,P);
plot(P,T,P,Y,'o')
Результат моделирования представлен на рис. 11.19.
Рис. 11.19
Алгоритм:
Каскадная сеть прямой передачи использует функции взвешивания dotprod, накопления netsum и заданные пользователем функции активации.
Первый каскад характеризуется матрицей весов входа, другие каскады – матрицами весов выхода предшествующего каскада; все каскады имеют смещения. Выход последнего каскада является выходом сети. Веса и смещения инициализируются с помощью
М-функции initnw.
Режим адаптации реализуется М-функцией adaptwb. Для режима обучения выбирается обучающая функция, реализующая метод обратного распространения ошибки.
Оценка качества обучения основана на функциях оценки качества, выбираемых
из списка {mae | mse | msereg | sse}.
Сопутствующие функции: NEWFF, NEWELM, SIM, INIT, ADAPT, TRAIN.