exponenta event banner

feedforwardnet

Создание нейронной сети прямой связи

Описание

пример

net = feedforwardnet(hiddenSizes,trainFcn) возвращает нейронную сеть прямой связи со скрытым размером слоя, равным hiddenSizes и функции обучения, указанные trainFcn.

Сети прямой связи состоят из ряда уровней. Первый уровень имеет соединение от сетевого входа. Каждый последующий уровень имеет соединение от предыдущего уровня. Конечный уровень создает выходные данные сети.

Для любого вида отображения входных данных в выходные данные можно использовать сетевые графики прямой передачи. Сеть прямой связи с одним скрытым слоем и достаточным количеством нейронов в скрытых слоях может соответствовать любой конечной проблеме отображения ввода-вывода.

Специализированные версии сети прямой связи включают в себя сети фитинга и распознавания образов. Дополнительные сведения см. в разделе fitnet и patternnet функции.

Разновидностью сети прямой связи является каскадная прямая сеть, которая имеет дополнительные соединения от входа к каждому уровню и от каждого уровня ко всем следующим уровням. Для получения дополнительной информации о каскадных сетях прямой передачи см. cascadeforwardnet функция.

Примеры

свернуть все

В этом примере показано, как использовать нейронную сеть прямой связи для решения простой задачи.

Загрузите данные обучения.

[x,t] = simplefit_dataset;

Матрица 1 на 94 x содержит входные значения и матрицу 1 на 94 t содержит соответствующие целевые выходные значения.

Построение сети прямой связи с одним скрытым слоем размером 10.

net = feedforwardnet(10);

Обучение сети net использование данных обучения.

net = train(net,x,t);

Просмотр обученной сети.

view(net)

Оценка целевых показателей с использованием обученной сети.

y = net(x);

Оценка эффективности работы обученной сети. Функция производительности по умолчанию представляет собой среднеквадратичную ошибку.

perf = perform(net,y,t)
perf = 1.4639e-04

Входные аргументы

свернуть все

Размер скрытых слоев в сети, заданный как вектор строки. Длина вектора определяет количество скрытых слоев в сети.

Пример: Например, можно указать сеть с 3 скрытыми слоями, где первый скрытый слой имеет размер 10, второй - 8, а третий - 5: [10,8,5]

Входные и выходные размеры устанавливаются равными нулю. Программа корректирует их размеры во время обучения в соответствии с данными обучения.

Типы данных: single | double

Имя обучающей функции, указанное как одно из следующих.

Функция обученияАлгоритм
'trainlm'

Левенберг-Марквардт

'trainbr'

Байесовская регуляризация

'trainbfg'

BFGS Квази-Ньютон

'trainrp'

Упругое обратное распространение

'trainscg'

Масштабированный сопряженный градиент

'traincgb'

Сопряжение градиента с перезапуском Пауэлла/Била

'traincgf'

Сопряженный градиент Флетчера-Пауэлла

'traincgp'

Сопряженный градиент Полака-Рибьера

'trainoss'

Одношаговый секант

'traingdx'

Градиентный спуск переменной скорости обучения

'traingdm'

Градиентный спуск с импульсом

'traingd'

Градиентный спуск

Пример: Например, можно задать алгоритм градиентного спуска переменной скорости обучения в качестве обучающего алгоритма следующим образом: 'traingdx'

Дополнительные сведения о функциях обучения см. в разделах Обучение и применение многоуровневых неглубоких нейронных сетей и Выбор многоуровневой функции обучения нейронной сети.

Типы данных: char

Выходные аргументы

свернуть все

Нейронная сеть Feedforward, возвращенная как network объект.

Представлен в R2010b