Спряжение градиентного обратного распространения с перезапуском Пауэлла-Била
net.trainFcn = 'traincgb'
[net,tr] = train(net,...)
traincgb - сетевая обучающая функция, которая обновляет значения веса и смещения согласно сопряженному градиентному обратному распространению с перезапусками Пауэлла-Била.
net.trainFcn = 'traincgb' устанавливает сеть trainFcn собственность.
[net,tr] = train(net,...) обучает сеть с помощью traincgb.
Обучение происходит в соответствии с traincgb параметры обучения, показанные здесь с их значениями по умолчанию:
net.trainParam.epochs | 1000 | Максимальное количество периодов для обучения |
net.trainParam.show | 25 | Периоды между дисплеями ( |
net.trainParam.showCommandLine | false | Создание выходных данных командной строки |
net.trainParam.showWindow | true | Показать графический интерфейс пользователя для обучения |
net.trainParam.goal | 0 | Цель производительности |
net.trainParam.time | inf | Максимальное время обучения в секундах |
net.trainParam.min_grad | 1e-10 | Минимальный градиент производительности |
net.trainParam.max_fail | 6 | Максимальное количество сбоев проверки |
net.trainParam.searchFcn | 'srchcha' | Имя подпрограммы поиска строк для использования |
Параметры, относящиеся к методам поиска строк (не все используются для всех методов):
net.trainParam.scal_tol | 20 | Разделить на |
net.trainParam.alpha | 0.001 | Масштабный коэффициент, определяющий достаточное снижение |
net.trainParam.beta | 0.1 | Масштабный коэффициент, определяющий достаточно большой размер шага |
net.trainParam.delta | 0.01 | Начальный размер шага в шаге определения местоположения интервала |
net.trainParam.gama | 0.1 | Параметр, позволяющий избежать небольшого снижения производительности, обычно устанавливается на |
net.trainParam.low_lim | 0.1 | Нижний предел изменения размера шага |
net.trainParam.up_lim | 0.5 | Верхний предел изменения размера шага |
net.trainParam.maxstep | 100 | Максимальная длина шага |
net.trainParam.minstep | 1.0e-6 | Минимальная длина шага |
net.trainParam.bmax | 26 | Максимальный размер шага |
Можно создать стандартную сеть, использующую traincgb с feedforwardnet или cascadeforwardnet.
Подготовка пользовательской сети для обучения traincgb,
Набор net.trainFcn кому 'traincgb'. Эти наборы net.trainParam кому traincgbПараметры по умолчанию.
Набор net.trainParam свойств к требуемым значениям.
В любом случае вызов train с результирующей сетью направляет сеть с traincgb.
traincgb может обучать любую сеть, если ее функции веса, чистого ввода и переноса имеют производные функции.
Обратное распространение используется для расчета производных производительности perf в отношении переменных веса и смещения X. Каждая переменная корректируется в соответствии со следующим:
X = X + a*dX;
где dX - направление поиска. Параметр a выбирается для минимизации производительности вдоль направления поиска. Функция поиска строк searchFcn используется для определения местоположения минимальной точки. Первое направление поиска - это негатив градиента производительности. В последующих итерациях направление поиска вычисляется из нового градиента и предыдущего направления поиска согласно формуле.
dX = -gX + dX_old*Z;
где gX - градиент. Параметр Z может быть вычислено несколькими различными способами. Вариация Пауэлла - Била сопряжённого градиента отличается двумя признаками. Сначала алгоритм использует тест, чтобы определить, когда сбросить направление поиска на отрицательное от градиента. Во-вторых, направление поиска вычисляется из отрицательного градиента, предыдущего направления поиска и последнего направления поиска перед предыдущим сбросом. См. Пауэлл, Математическое программирование, том 12, 1977, стр. 241- 254, для более подробного обсуждения алгоритма.
Обучение прекращается при возникновении любого из следующих условий:
Максимальное количество epochs (повторы) достигается.
Максимальная сумма time превышено.
Производительность минимизирована для goal.
Градиент производительности падает ниже min_grad.
Производительность проверки возросла более чем max_fail раз с момента последнего уменьшения (при использовании проверки).
Пауэлл, M.J.D., «Процедуры перезапуска для метода сопряженного градиента», Математическое программирование, том 12, 1977, стр. 241-254
trainbfg | traincgf | traincgp | traingda | traingdm | traingdx | trainlm | trainoss | trainscg