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'

Levenberg-Marquardt

'trainbr'

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

'trainbfg'

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

'trainrp'

Устойчивая обратная связь

'trainscg'

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

'traincgb'

Метод сопряженных градиентов с Перезапусками Powell/Beale

'traincgf'

Метод сопряженных градиентов Флетчера-Пауэлла

'traincgp'

Метод сопряженных градиентов Полака-Рибиера

'trainoss'

Один секанс шага

'traingdx'

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

'traingdm'

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

'traingd'

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

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

Для получения дополнительной информации об учебных функциях смотрите, Обучают и Применяют Многоуровневые Мелкие Нейронные сети и Выбирают Multilayer Neural Network Training Function.

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

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

свернуть все

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

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