Обратная связь квазиньютона BFGS
net.trainFcn = 'trainbfg'
устанавливает сеть trainFcn
свойство.
[
обучает сеть с trainedNet
,tr
] = train(net
,...)trainbfg
.
trainbfg
сетевая учебная функция, которая обновляет вес и значения смещения согласно приближенному методу ньютона BFGS.
Обучение происходит согласно trainbfg
параметры обучения, показанные здесь с их значениями по умолчанию:
net.trainParam.epochs
— Максимальное количество эпох, чтобы обучаться. Значение по умолчанию 1000.
net.trainParam.showWindow
— Покажите учебный графический интерфейс пользователя. Значением по умолчанию является true
.
net.trainParam.show
— Эпохи между отображениями (NaN
ни для каких отображений). Значение по умолчанию равняется 25.
net.trainParam.showCommandLine
— Сгенерируйте командную строку выход. Значением по умолчанию является false
.
net.trainParam.goal
— Цель эффективности. Значение по умолчанию 0.
net.trainParam.time
— Максимальное время, чтобы обучаться в секундах. Значением по умолчанию является inf
.
net.trainParam.min_grad
— Минимальный градиент эффективности. Значением по умолчанию является 1e-6
.
net.trainParam.max_fail
— Максимальные отказы валидации. Значением по умолчанию является 6
.
net.trainParam.searchFcn
— Имя линии ищет стандартную программу, чтобы использовать. Значением по умолчанию является 'srchbac'
.
Параметры связаны с методами поиска линии (не все используемые для всех методов):
net.trainParam.scal_tol
— Разделитесь на дельту, чтобы определить допуск к линейному поиску. Значение по умолчанию равняется 20.
net.trainParam.alpha
— Масштабный коэффициент, который определяет достаточное сокращение перфекта. Значением по умолчанию является 0.001
.
net.trainParam.beta
— Масштабный коэффициент, который определяет достаточно большой размер шага. Значением по умолчанию является 0.1
.
net.trainParam.delta
— Начальный размер шага на шаге местоположения интервала. Значением по умолчанию является 0.01
.
net.trainParam.gamma
— Параметр, чтобы избежать маленьких сокращений эффективности, обычно устанавливайте на 0,1 (см. srch_cha
). Значением по умолчанию является 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
.
net.trainParam.batch_frag
— В случае нескольких пакетов они рассматриваются независимыми. Любое ненулевое значение подразумевает фрагментированный пакет, таким образом, условия последнего слоя предыдущей обученной эпохи используются в качестве начальных условий в течение следующей эпохи. Значение по умолчанию 0
.
trainbfg
может обучить любую сеть пока ее вес, сетевой вход, и передаточные функции имеют производные функции.
Обратная связь используется, чтобы вычислить производные эффективности perf
относительно веса и переменных X
смещения. Каждая переменная настроена согласно следующему:
X = X + a*dX;
где dX
поисковое направление. Параметр a
выбран, чтобы минимизировать эффективность вдоль поискового направления. Поиск линии функционирует searchFcn
используется, чтобы определить местоположение минимальной точки. Первое поисковое направление является отрицанием градиента эффективности. В последующих итерациях поисковое направление вычисляется согласно следующей формуле:
dX = -H\gX;
где gX
градиент и H
аппроксимированная матрица Гессиана. Смотрите страницу 119 Жабр, Мюррея и Райта (Практическая Оптимизация, 1981) для более детального обсуждения приближенного метода ньютона BFGS.
Обучение останавливается, когда любое из этих условий происходит:
Максимальное количество epochs
(повторения) достигнуты.
Максимальная сумма time
превышен.
Эффективность минимизирована к goal
.
Градиент эффективности падает ниже min_grad
.
Эффективность валидации увеличила больше, чем max_fail
времена с прошлого раза это уменьшилось (при использовании валидации).
[1] Gill, Murray, & Wright, практическая оптимизация, 1981
cascadeforwardnet
| feedforwardnet
| traingdm
| traingda
| traingdx
| trainlm
| trainrp
| traincgf
| traincgb
| trainscg
| traincgp
| trainoss