Пакетное обучение с правилами обучения с учетом веса и смещения
net.trainFcn = 'trainb'
[net,tr] = train(net,...)
trainb не вызывается напрямую. Вместо этого он вызывается train для сетей, чьи net.trainFcn для свойства задано значение 'trainb', таким образом:
net.trainFcn = 'trainb' устанавливает сетевую trainFcn свойство.
[net,tr] = train(net,...) обучает сеть с trainb.
trainb обучает сеть с правилами обучения с учетом веса и смещения с пакетными обновлениями. Веса и смещения обновляются в конце всего прохода через входные данные.
Обучение происходит согласно trainb"s обучающих параметров, показанных здесь с их значениями по умолчанию:
net.trainParam.epochs | 1000 | Максимальное количество эпох для обучения |
net.trainParam.goal | 0 | Цель эффективности |
net.trainParam.max_fail | 6 | Максимальные отказы валидации |
net.trainParam.min_grad | 1e-6 | Минимальный градиент эффективности |
net.trainParam.show | 25 | Эпохи между отображениями ( |
net.trainParam.showCommandLine | false | Сгенерируйте выход в командной строке |
net.trainParam.showWindow | true | Показать обучающий графический интерфейс пользователя |
net.trainParam.time | inf | Максимальное время обучения в секундах |
Можно создать стандартную сеть, которая использует trainb по вызову linearlayer.
Чтобы подготовить пользовательскую сеть для обучения с trainb,
Задайте net.trainFcn на 'trainb'. Это устанавливает net.trainParam на trainbпараметры по умолчанию.
Установите каждую net.inputWeights{i,j}.learnFcn к функции обучения. Установите каждую net.layerWeights{i,j}.learnFcn к функции обучения. Установите каждую net.biases{i}.learnFcn к функции обучения. (Параметры обучения с учетом веса и смещения автоматически устанавливаются на значения по умолчанию для заданной функции обучения.)
Для обучения сети,
Задайте net.trainParam свойства к желаемым значениям.
Установите параметры обучения с учетом веса и смещения на желаемые значения.
Функции train.
Каждый вес и смещение обновляются согласно его функции обучения после каждой эпохи (один проходит через весь набор входа векторов).
Обучение останавливается, когда достигается любое из этих условий:
Максимальное количество epochs (повторения) достигается.
Эффективность минимизирована до goal.
Максимальное количество time превышено.
Эффективность валидации увеличилась более чем max_fail раз с момента последнего уменьшения (при использовании валидации).