Обратная связь градиентного спуска
net.trainFcn = 'traingd'
устанавливает сеть trainFcn
свойство.
[
обучает сеть с trainedNet
,tr
] = train(net
,...)traingd
.
traingd
сетевая учебная функция, которая обновляет вес и значения смещения согласно градиентному спуску.
Обучение происходит согласно traingd
параметры обучения, показанные здесь с их значениями по умолчанию:
net.trainParam.epochs
— Максимальное количество эпох, чтобы обучаться. Значение по умолчанию 1000.
net.trainParam.goal
— Цель эффективности. Значение по умолчанию 0.
net.trainParam.lr
— Скорость обучения. Значение по умолчанию 0.01.
net.trainParam.max_fail
— Максимальные отказы валидации. Значением по умолчанию является 6
.
net.trainParam.min_grad
— Минимальный градиент эффективности. Значением по умолчанию является 1e-5
.
net.trainParam.show
— Эпохи между отображениями (NaN
ни для каких отображений). Значение по умолчанию равняется 25.
net.trainParam.showCommandLine
— Сгенерируйте командную строку выход. Значением по умолчанию является false
.
net.trainParam.showWindow
— Покажите учебный графический интерфейс пользователя. Значением по умолчанию является true
.
net.trainParam.time
— Максимальное время, чтобы обучаться в секундах. Значением по умолчанию является inf
.
traingd
может обучить любую сеть пока ее вес, сетевой вход, и передаточные функции имеют производные функции.
Обратная связь используется, чтобы вычислить производные эффективности perf
относительно веса и переменных X
смещения. Каждая переменная настроена согласно градиентному спуску:
dX = lr * dperf/dX
Обучение останавливается, когда любое из этих условий происходит:
Максимальное количество epochs
(повторения) достигнуты.
Максимальная сумма time
превышен.
Эффективность минимизирована к goal
.
Градиент эффективности падает ниже min_grad
.
Эффективность валидации увеличила больше, чем max_fail
времена с прошлого раза это уменьшилось (при использовании валидации).