Процесс обучения останавливается в случае выполнения любого из следующих условий:
превышено заданное количество циклов обучения
(net.trainParam.epochs),
превышено заданное время обучения
(net.trainParam.time),
ошибка обучения стала меньше заданной
(net.trainParam.goal),
градиент стал меньше заданного
(net.trainParam.min_grad),
возрастание ошибки проверочной выборки по сравнению с достигнутым минимальным превысило заданное значение
(net.trainParam.max_fail).
[net, tr]=trainbr(net, Pd, Tl, Ai, Q, TS, VV) – функция, реализующая так называемый Байесовский метод обучения, сущность которого заключается в подстройке весов и смещений сети на основе алгоритма Левенберга-Марквардта. Данный алгоритм минимизирует комбинацию квадратов ошибок и весов с выбором наилучшей такой (для получения наилучших обобщающих свойств сети). Эта процедура известна как Байесовская регуляризация, откуда следует название метода.
Аргументы, параметры, возвращаемые величины и использование – такие же, как у предыдущей функции. Сказанное остается в силе для всех остальных функций данной группы.
[net, tr]=traincgb(net, Pd, Tl, Ai, Q, TS, VV) – функция обучения нейронной сети, реализующая разновидность алгоритма сопряженных градиентов (так называемый метод Powell-Beale).
[net, tr]=traincgf(net, Pd, Tl, Ai, Q, TS, VV) – функция обучения нейронной сети, реализующая разновидность алгоритма обратного распространения ошибки в сочетании с методом оптимизации Флетчера-Поуэлла.
[net, tr]=traincgp(net, Pd, Tl, Ai, Q, TS, VV) – то же, что и в предыдущем случае, но с использованием метода Polak-Ribiere.
[net, tr]=traingd(net, Pd, Tl, Ai, Q, TS, VV) – функция, реализующая «классический » алгоритм обратного распространения ошибки.
[net, tr]=traingda(net, Pd, Tl, Ai, Q, TS, VV) – то же, что и в предыдущем случае, но с адаптацией коэффициента скорости обучения.
[net, tr]=traingdm(net, Pd, Tl, Ai, Q, TS, VV) – функция, реализующая модифицированный алгоритм обратного распространения ошибки с введенной «инерционностью» коррекции весов и смещений.
[net, tr]=traingdx(net, Pd, Tl, Ai, Q, TS, VV) – функция, реализующая комбинированный алгоритм обучения, объединяющий особенности двух вышеприведенных.
[net, tr]=trainlm(net, Pd, Tl, Ai, Q, TS, VV) – данная функция возвращает веса и смещения нейронной сети, используя алгоритм оптимизации Левенберга-Марквардта.
[net, tr]=trainoss(net, Pd, Tl, Ai, Q, TS, VV) – функция, реализующая разновидность алгоритма обратного распространения ошибки с использованием метода секущих.
[net, tr]=trainrp(net, Pd, Tl, Ai, Q, TS, VV) – функция, реализующая разновидность алгоритма обратного распространения ошибки, так называемый упругий алгоритм обратного распространения (resilient backpropagation algorithm, RPROP).
[net, tr]=trainscg(net, Pd, Tl, Ai, Q, TS, VV) – данная функция возвращает веса и смещения нейронной сети, используя алгоритм масштабируемых сопряженных градиентов.
[net, tr]=trainwb(net, Pd, Tl, Ai, Q, TS, VV) – данная функция корректирует веса и смещения нейронной сети в соответствии с заданной функцией обучения нейронов.
[net, tr]=trainb1(net, Pd, Tl, Ai, Q, TS, VV) – то же, что и предыдущая функция, но одновременно на вход сети предъявляется только один вектор входа.
[net, Ac, El]=adaptwb(net, Pd, Tl, Ai, Q, TS) – функция адаптации весов и смещений нейронной сети. Используется совместно с функциями newp и newlin. Возвращает массив выходов слоев Ac и массив ошибок слоев El.