Байесова обратная связь регуляризации
net.trainFcn = 'trainbr' устанавливает сеть trainFcn свойство.
[ обучает сеть с trainedNet,tr] = train(net,...)trainbr.
trainbr сетевая учебная функция, которая обновляет вес и значения смещения согласно оптимизации Levenberg-Marquardt. Это минимизирует комбинацию квадратичных невязок и весов, и затем определяет правильную комбинацию, чтобы произвести сеть, которая делает вывод хорошо. Процесс называется Байесовой регуляризацией.
Обучение происходит согласно trainbr учебные параметры, показанные здесь с их значениями по умолчанию:
net.trainParam.epochs — Максимальное количество эпох, чтобы обучаться. Значение по умолчанию 1000.
net.trainParam.goal — Цель эффективности. Значение по умолчанию 0.
net.trainParam.mu — Параметр корректировки Marquardt. Значение по умолчанию 0.005.
net.trainParam.mu_dec — Фактор уменьшения для mu. Значение по умолчанию 0.1.
net.trainParam.mu_inc — Фактор увеличения для mu. Значение по умолчанию равняется 10.
net.trainParam.mu_max — Максимальное значение для mu. Значением по умолчанию является 1e10.
net.trainParam.max_fail — Максимальные отказы валидации. Значением по умолчанию является inf.
net.trainParam.min_grad — Минимальный градиент эффективности. Значением по умолчанию является 1e-7.
net.trainParam.show — Эпохи между отображениями (NaN ни для каких отображений). Значение по умолчанию равняется 25.
net.trainParam.showCommandLine — Сгенерируйте командную строку выход. Значением по умолчанию является false.
net.trainParam.showWindow — Покажите учебный графический интерфейс пользователя. Значением по умолчанию является true.
net.trainParam.time — Максимальное время, чтобы обучаться в секундах. Значением по умолчанию является inf.
Остановки валидации отключены по умолчанию (max_fail = inf) так, чтобы обучение могло продолжиться, пока оптимальная комбинация ошибок и весов не найдена. Однако некоторая минимизация веса/смещения может все еще быть достигнута с более короткими учебными временами, если валидация включена установкой max_fail к 6 или некоторое другое строго положительное значение.
Эта функция использует якобиан для вычислений, который принимает, что эффективность является средним значением или суммой квадратичных невязок. Поэтому сети, обученные с этой функцией, должны использовать любого mse или sse функция эффективности.
trainbr может обучить любую сеть пока ее вес, сетевой вход, и передаточные функции имеют производные функции.
Байесова регуляризация минимизирует линейную комбинацию квадратичных невязок и весов. Это также изменяет линейную комбинацию так, чтобы в конце обучения получившейся сети имел хорошие качества обобщения. Смотрите Маккея (Нейронный Расчет, Издание 4, № 3, 1992, стр 415 - 447) и Предвидите и Хейган (Продолжения Международной Объединенной Конференции по Нейронным сетям, июнь 1997) для более детальных обсуждений Байесовой регуляризации.
Эта Байесова регуляризация происходит в рамках алгоритма Levenberg-Marquardt. Обратная связь используется, чтобы вычислить якобиевский jX из эффективности perf относительно веса и переменных X смещения. Каждая переменная настроена согласно Levenberg-Marquardt,
jj = jX * jX je = jX * E dX = -(jj+I*mu) \ je
где E все ошибки и I единичная матрица.
Адаптивное значение mu увеличен на mu_inc до изменения, показанного выше результатов в уменьшаемом значении эффективности. Изменение затем внесено в сеть и mu уменьшен mu_dec.
Обучение останавливается, когда любое из этих условий происходит:
Максимальное количество epochs (повторения) достигнуты.
Максимальная сумма time превышен.
Эффективность минимизирована к goal.
Градиент эффективности падает ниже min_grad.
mu превышает mu_max.
[1] Маккей, Дэвид Дж. К. "Байесова интерполяция". Нейронный расчет. Издание 4, № 3, 1992, стр 415–447.
[2] Предвидите, Ф. Дэн и Мартин Т. Хейган. "Приближение ньютона гаусса к Байесовому изучению". Продолжения Международной Объединенной Конференции по Нейронным сетям, июнь 1997.
cascadeforwardnet | feedforwardnet | trainbfg | traincgb | traincgf | traincgp | traingda | traingdm | traingdx | trainlm | trainrp | trainscg