Байесовская регуляризация backpropagation
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 - Максимальное значение для 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 может обучать любую сеть, если ее функции веса, чистого ввода и переноса имеют производные функции.
Байесовская регуляризация минимизирует линейную комбинацию квадратичных ошибок и весов. Он также модифицирует линейную комбинацию так, что в конце тренировки результирующая сеть обладает хорошими обобщающими качествами. Для получения более подробной информации о байесовской регуляризации см. MacKay (Neural Computation, Vol. 4, No. 3, 1992, pp. 415-447) и Forecee and Hagan (Proceedings of the International Joint Conference on Neural Networks, June, 1997).
Эта байесовская регуляризация происходит в рамках алгоритма Левенберга - Марквардта. Обратное распространение используется для вычисления якобиана 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] Маккей, Дэвид Дж. С. «Байесовская интерполяция». Нейронные вычисления. т. 4, № 3, 1992, стр. 415-447.
[2] Предвидите, Ф. Дэн и Мартин Т. Хаган. «Приближение Гаусса - Ньютона к байесовскому обучению». Материалы Международной совместной конференции по нейронным сетям, июнь 1997 года.
cascadeforwardnet | feedforwardnet | trainbfg | traincgb | traincgf | traincgp | traingda | traingdm | traingdx | trainlm | trainrp | trainscg