trainscg

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

Описание

net.trainFcn = 'trainscg' устанавливает сеть trainFcn свойство.

пример

[trainedNet,tr] = train(net,...) обучает сеть с trainscg.

trainscg сетевая учебная функция, которая обновляет вес и значения смещения согласно масштабированному методу сопряженных градиентов.

Обучение происходит согласно trainscg параметры обучения, показанные здесь с их значениями по умолчанию:

  • net.trainParam.epochs — Максимальное количество эпох, чтобы обучаться. Значение по умолчанию 1000.

  • net.trainParam.show — Эпохи между отображениями (NaN ни для каких отображений). Значение по умолчанию равняется 25.

  • net.trainParam.showCommandLine — Сгенерируйте командную строку выход. Значением по умолчанию является false.

  • net.trainParam.showWindow — Покажите учебный графический интерфейс пользователя. Значением по умолчанию является true.

  • net.trainParam.goal — Цель эффективности. Значение по умолчанию 0.

  • net.trainParam.time — Максимальное время, чтобы обучаться в секундах. Значением по умолчанию является inf.

  • net.trainParam.min_grad — Минимальный градиент эффективности. Значением по умолчанию является 1e-6.

  • net.trainParam.max_fail — Максимальные отказы валидации. Значением по умолчанию является 6.

  • net.trainParam.mu — Параметр корректировки Marquardt. Значение по умолчанию 0.005.

  • net.trainParam.sigma — Определите изменение в весе для второго производного приближения. Значением по умолчанию является 5.0e-5.

  • net.trainParam.lambda — Параметр для регулирования неопределенности Гессиана. Значением по умолчанию является 5.0e-7.

Примеры

свернуть все

В этом примере показано, как решить задачу, состоящую из входных параметров p и цели t при помощи сети.

p = [0 1 2 3 4 5];
t = [0 0 0 1 1 1];

Сеть прямого распространения 2D слоя с двумя скрытыми нейронами и этой учебной функцией создается.

net = feedforwardnet(2,'trainscg');

Здесь сеть обучена и протестирована.

net = train(net,p,t);
a = net(p)

Смотрите help feedforwardnet и help cascadeforwardnet для других примеров.

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

свернуть все

Введите сеть в виде сетевого объекта. Чтобы создать сетевой объект, используйте, например, feedforwardnet или narxnet.

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

свернуть все

Обучивший сеть, возвращенный как network объект.

Учебная запись (epoch и perf), возвратился как структура, поля которой зависят от сетевой учебной функции (net.NET.trainFcn). Это может включать поля, такие как:

  • Обучение, деление данных, и функции эффективности и параметры

  • Индексы деления данных для обучения, валидации и наборов тестов

  • Маски деления данных для учебной валидации и наборов тестов

  • Номер эпох (num_epochs) и лучшая эпоха (best_epoch).

  • Список учебных имен состояния (states).

  • Поля для каждого имени состояния, записывающего его значение в течение обучения

  • Эффективность лучшей сети (best_perf, best_vperf, best_tperf)

Больше о

свернуть все

Сетевое использование

Можно создать стандартную сеть, которая использует trainscg с feedforwardnet или cascadeforwardnet. Подготовить пользовательскую сеть, которая будет обучена с trainscg,

  1. Установите net.trainFcn к 'trainscg'. Это устанавливает net.trainParam к trainscgпараметры по умолчанию.

  2. Установите net.trainParam свойства к требуемым значениям.

В любом случае, вызывая train с получившейся сетью обучает сеть с trainscg.

Алгоритмы

trainscg может обучить любую сеть пока ее вес, сетевой вход, и передаточные функции имеют производные функции. Обратная связь используется, чтобы вычислить производные эффективности perf относительно веса и переменных X смещения.

Масштабированный алгоритм метода сопряженных градиентов основан на сопряженных направлениях, как в traincgp, traincgf, и traincgb, но этот алгоритм не выполняет поиск линии в каждой итерации. См. Moller (Нейронные сети, Издание 6, 1993, стр 525–533) для более детального обсуждения масштабированного алгоритма метода сопряженных градиентов.

Обучение останавливается, когда любое из этих условий происходит:

  • Максимальное количество epochs (повторения) достигнуты.

  • Максимальная сумма time превышен.

  • Эффективность минимизирована к goal.

  • Градиент эффективности падает ниже min_grad.

  • Эффективность валидации увеличила больше, чем max_fail времена с прошлого раза это уменьшилось (при использовании валидации).

Ссылки

[1] Moller. Нейронные сети, Издание 6, 1993, стр 525–533

Смотрите также

| | | | | | | | |

Представлено до R2006a