Байесовская регуляризация обратного распространения
net.trainFcn = 'trainbr'
устанавливает сетевую trainFcn
свойство.
[
обучает сеть с trainedNet
,tr
] = train(net
,...)trainbr
.
trainbr
- функция сетевого обучения, которая обновляет вес и значения смещения в соответствии с оптимизацией Левенберга-Марквардта. Это минимизирует комбинацию квадратичных невязок и весов, а затем определяет правильную комбинацию так, чтобы создать сеть, которая хорошо обобщается. Процесс называется байесовской регуляризацией.
Обучение происходит согласно trainbr
параметры обучения, показанные здесь с их значениями по умолчанию:
net.trainParam.epochs
- Максимальное количество эпох для обучения. Значение по умолчанию является 1000.
net.trainParam.goal
- Цель эффективности. Значение по умолчанию 0.
net.trainParam.mu
- параметр регулировки Марквардта. Значение по умолчанию является 0.005.
net.trainParam.mu_dec
- Коэффициент уменьшения для mu
. Значение по умолчанию является 0,1.
net.trainParam.mu_inc
- Коэффициент увеличения для mu
. Значение по умолчанию является 10.
net.trainParam.mu_max
- Максимальное значение для му. Значение по умолчанию 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
может обучать любую сеть, пока ее вес, чистый вход и передаточные функции имеют производные функции.
Байесовская регуляризация минимизирует линейную комбинацию квадратичных невязок и весов. Он также изменяет линейную комбинацию, так что в конце обучения полученная сеть имеет хорошие качества обобщения. Более подробные дискуссии о байесовской регуляризации см. в изданиях MacKay (Neural Computation, Vol. 4, № 3, 1992, pp. 415-447) и Foresee and Hagan (Proceedings of the International Joint Conference on Neural Networks, June, 1997).
Эта байесовская регуляризация происходит в рамках алгоритма Левенберга-Марквардта. Backpropagation используется для вычисления якобианской jX
от эффективности perf
относительно переменных веса и смещения X
. Каждая переменная корректируется согласно Левенбергу-Марквардту,
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] MacKay, David J. C. «Bayesian interpolation». Нейронные расчеты. Том 4, № 3, 1992, стр. 415-447.
[2] Предвидите, Ф. Дэн, и Мартин Т. Хаган. Гаусс-Ньютон приближения к байесовскому обучению. Материалы Международной совместной конференции по нейронным сетям, июнь 1997 года.
cascadeforwardnet
| feedforwardnet
| trainbfg
| traincgb
| traincgf
| traincgp
| traingda
| traingdm
| traingdx
| trainlm
| trainrp
| trainscg