Масштабированная обратная связь метода сопряженных градиентов
net.trainFcn = 'trainscg'
[net,tr] = train(net,...)
trainscg
сетевая учебная функция, которая обновляет вес и значения смещения согласно масштабированному методу сопряженных градиентов.
net.trainFcn = 'trainscg'
устанавливает сеть trainFcn
свойство.
[net,tr] = train(net,...)
обучает сеть с trainscg
.
Обучение происходит согласно trainscg
учебные параметры, показанные здесь с их значениями по умолчанию:
net.trainParam.epochs | 1000
| Максимальное количество эпох, чтобы обучаться |
net.trainParam.show | 25
| Эпохи между отображениями (NaN ни для каких отображений) |
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.sigma | 5.0e-5 | Определите изменение в весе для второго производного приближения |
net.trainParam.lambda | 5.0e-7 | Параметр для регулирования неопределенности Гессиана |
Можно создать стандартную сеть, которая использует trainscg
с feedforwardnet
или cascadeforwardnet
. Подготовить пользовательскую сеть, которая будет обучена с trainscg
,
Установите net.trainFcn
к 'trainscg'
. Это устанавливает net.trainParam
к trainscg
параметры по умолчанию.
Установите 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
trainbfg
| traincgb
| traincgf
| traincgp
| traingda
| traingdm
| traingdx
| trainlm
| trainoss
| trainrp