trainscg

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

Синтаксис

net.trainFcn = 'trainscg'
[net,tr] = train(net,...)

Описание

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

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

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

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

net.trainParam.epochs1000

Максимальное количество эпох, чтобы обучаться

net.trainParam.show25

Эпохи между отображениями (NaN ни для каких отображений)

net.trainParam.showCommandLinefalse

Сгенерируйте командную строку выход

net.trainParam.showWindowtrue

Покажите учебный графический интерфейс пользователя

net.trainParam.goal0

Цель производительности

net.trainParam.timeinf

Максимальное время, чтобы обучаться в секундах

net.trainParam.min_grad1e-6

Минимальный градиент производительности

net.trainParam.max_fail6

Максимальные отказы валидации

net.trainParam.sigma5.0e-5

Определите изменение в весе для второго производного приближения

net.trainParam.lambda5.0e-7

Параметр для регулирования неопределенности Гессиана

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

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

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

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

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

Примеры

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

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

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

net = feedforwardnet(2,'trainscg');

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

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

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

Алгоритмы

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

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

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

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

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

  • Производительность минимизирована к goal.

  • Градиент производительности падает ниже min_grad.

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

Ссылки

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

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

| | | | | | | | |

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