MATLAB.Exponenta
MATLAB и Simulink на русском
Технологии разработки и отладки
		сложных технических систем
 

Математика\Neural Network Toolbox

Список функций Neural NetworkToolbox: Функции создания новой сети

  В оглавление \ К следующему разделу \ К предыдущему разделу

NEWFF
Реализует однонаправленную сеть, 
обучаемую с применением алгоритма обратного распространения

Синтаксис:

net = newff
net = newff(PR,[S1 S2...SNl],{TF1 TF2...TFNl},BTF,BLF,PF)

Описание:

net = newff создает новую сеть с использованием диалогового окна

NEWFF(PR, [S1 S2...SNl], {TF1 TF2...TFNl}, BTF, LF, PF) в качестве входных параметров использует:

  • PR - Rx2 матрица минимальных и максимальных значений строк входной матрицы с размерностью RxQ. Для получения матрицы PR можно использовать функцию minmax;
  • Si – количество нейронов в i – ом слое, N1 – количество слоев;
  • TFi - функция активации i - го слоя, по умолчанию = 'tansig';
  • BTF – обучающая функция обратного распространения, по умолчанию='trainlm';
  • BLF – алгоритм подстройки весов и смещений (обучающий алгоритм), по умолчанию = 'learngdm';
  • PF - функция оценки функционирования сети, по умолчанию = 'mse';

и возвращает однонаправленную сеть, состоящую из N слоев.

В качестве функций активации TFi можно использовать любые дифференцируемые функции активации, например TANSIG, LOGSIG, или PURELIN.

В качестве обучающей функции BTF можно использовать любые функции на основе алгоритма обратного распространения, например TRAINLM, TRAINBFG, TRAINRP, TRAINGD, и т.д

Следует обратить внимание, что функция TRAINLM используется по умолчанию, поскольку она обеспечивает наиболее быстрое обучение. Но она требует много памяти. Поэтому, если Вы получаете сообщение "out-of-memory error”, необходимо попытаться выполнить одно из следующих действий:

(1) замедлить процедуру обучения TRAINLM, снизив требования к объему оперативной памяти путем установки параметра NET.trainParam.mem_reduc равным 2 или более (см. HELP TRAINLM )

(2) использовать функцию обучения TRAINBFG, которая работает медленнее, но требует меньше памяти, чем TRAINML.

(3) использовать функцию обучения TRAINRP, которая работает медленнее, но требует меньше памяти, чем TRAINBFG.

В качестве обучающей функции BLF можно использовать любые из алгоритмов обратного распространения. Например 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];

Создаем двухслойную однонаправленную сеть. Диапазон входных значений от 0 до 10, первый слой состоит из 5 нейронов с функциями активации TANSIG, второй слой содержит один нейрон с функцией активации PURELIN. Для обучения используем функцию TRAINLM:

net = newff([0 10],[5 1],{'tansig' 'purelin'});

Моделируем сеть. Подаем на вход сети входные значения P. Получаем выходные значения Y:

Y = sim(net,P);

Строим график, демонстрирующий отклонения выходных значений Y от целевых значений T для необученной сети:

plot(P,T,P,Y,'o')

Обучаем (тренируем) сеть. Количество эпох тренировки – 50:

net.trainParam.epochs = 50;

net = train(net,P,T);

Снова моделируем (теперь уже обученную сеть):

Y = sim(net,P);

Строим график для обученной сети:

plot(P,T,P,Y,'o')

Алгоритм:

Однонаправленные нейронные сети состоят из Nl слоев, использующих весовую функцию DOTPROD , входную функцию сети NETSUM и выбранную функцию активации. Первый слой получает веса, приходящие с входа. Каждый последующий слой получает веса от предыдущего слоя. Все слои обладают смещениями. Последний слой является выходом сети. Веса и смещения каждого слоя инициализируются функцией INITNW. Адаптация выполняется с помощью функции TRAINS, которая подстраивает веса в соответствии с выбранной обучающей функцией. Тренировка сети выполнена с помощью выбранной функции. Оценка функционирования сети выполняется с помощью выбранной функции оценки. 

  В оглавление \ К следующему разделу \ К предыдущему разделу

 

Поиск по сайту:

Система Orphus

Яндекс.Метрика