fitnet

Функциональная аппроксимация нейронной сети

Описание

пример

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

пример

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

Примеры

свернуть все

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

[x,t] = simplefit_dataset;

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

Создайте функцию, подходящую для нейронной сети, с одним скрытым слоем размера 10.

net = fitnet(10);

Просмотрите сеть.

view(net)

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

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

net = train(net,x,t);

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

view(net)

Можно увидеть, что размеры входа и вывода равны 1.

Оцените цели с помощью обученной сети.

y = net(x);

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

perf = perform(net,y,t)
perf =

   1.4639e-04

Алгоритмом настройки по умолчанию для сети подгонки функций является Левенберг-Марквардт ('trainlm' ). Используйте байесовский алгоритм настройки регуляризации и сравните результаты эффективности.

net = fitnet(10,'trainbr');
net = train(net,x,t);
y = net(x);
perf = perform(net,y,t)
perf =

   3.3038e-10

Алгоритм настройки регуляризации Байеса улучшает эффективность сети с точки зрения оценки целевых значений.

Входные параметры

свернуть все

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

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

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

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

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

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

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

'trainbr'

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

'trainbfg'

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

'trainrp'

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

'trainscg'

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

'traincgb'

Сопряженный градиент с перезапусками Powell/Beale

'traincgf'

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

'traincgp'

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

'trainoss'

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

'traingdx'

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

'traingdm'

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

'traingd'

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

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

Для получения дополнительной информации о функциях обучения смотрите Train и Применение Многослойных Неглубоких Нейронных Сетей и Выберите Многослойную Функцию Обучения Нейронной Сети.

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

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

свернуть все

Функциональная сеть, возвращенная как network объект.

Совет

  • Функция подбора кривой является процессом настройки нейронной сети на наборе входов в порядок, чтобы получить связанный набор целевых выходов. После того, как вы создаете сеть с нужными скрытыми слоями и алгоритмом настройки, вы должны обучить ее с помощью набора обучающих данных. Когда нейронная сеть подбирает данные, она формирует обобщение зависимости вход-выход. Затем можно использовать обученную сеть, чтобы сгенерировать выходы для входов, на которых она не была обучена.

Введенный в R2010b