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 слоя с двумя скрытыми нейронами и этой учебной функцией создается.

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