Обратная связь квазиньютона 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