Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Функции обучения нейронных сетей




Метод обучения.В качестве метода обучения сетей в ППП NNT версии 4 используют функцию train, которая позволяет установить процедуры обучения сети и настройки ее параметров, присваивая свойствам net.trainFcn и net.trainParam требуемые значения.

Обучение нейронной сети

Синтаксис:

[net, TR] = train(net,P,T,Pi,Ai)

[net, TR] = train(net,P,T,Pi,Ai,VV,TV)

Описание:

Функция [net, TR] = train(net, P, T, Pi, Ai) является методом для объектов класса network object, который реализует режим обучения нейронной сети. Эта функция характеризуется следующими входными и выходными аргументами.

Входные аргументы:

net - имя нейронной сети;

Р - массив входов;

Т - вектор целей, по умолчанию нулевой вектор;

Pi - начальные условия на линиях задержки входов, по умолчанию нулевой вектор;

Ai - начальные условия на линиях задержки слоев, по умолчанию нулевой вектор.

Выходные аргументы:

net - структура объекта network object после обучения;

TR - характеристики процедуры обучения:

TR.timesteps - длина последней выборки;

TR.perf - значения функции качества на последнем цикле обучения.

Заметим, что входной аргумент Т используется только при наличии целевых выходов, аргументы Pi и Pf - только в случае динамических сетей, имеющих линии задержки на входах или в слоях.

Входные аргументы Р и Т могут иметь два формата: cell array и double array. Формат cell array наиболее прост для понимания и соответствует последовательному представлению данных.

Последовательное представление данных. Каждую строку массива ячеек можно рассматривать как временную последовательность, и тогда описание многомерной сети может быть представлено следующим образом:

Р - массив ячеек размера Ni xTS, каждый элемент которого Р {i, ts} - числовой массив размера RixQ;

Т - массив ячеек размера NtxTS, каждый элемент которого Т{ i, ts} - числовой массив размера VixQ;

Pi - массив ячеек размера NixID, каждый элемент которого Pi {i, k} - числовой массив размера RixQ;

Ai - массив ячеек размера N1xLD, каждый элемент которого Ai{i, k} - числовой массив размера SixQ;

Y - массив ячеек размера NoxTS, каждый элемент которого Y {i, ts} - числовой массив размера UixQ;

Pf - массив ячеек размера NixID, каждый элемент которого Pf{i, k} - числовой массив размера RixQ;

Af - массив ячеек размера N1xLD, каждый элемент которого Af{i, k} - числовой массив размера SixQ.

Параметры описания массивов ячеек и их связь с параметрами сети представлены в табл. 3.1.

Таблица 3.1

Параметр описания Параметр сети Назначение
Ni net.numlnputs Количество векторов входа
Nl net.numLayers Количество слоев
No net.numOutputs Количество выходов
Nt netnumTargets Количество целевых выходов
ID net.numInputDelays Максимальное значение задержки на входе
TS   Число шагов по времени
Ri net.inputs{i}.size Количество элементов i-го вектора входа
     
    Окончание таблицы 3.1
Параметр описания Параметр сети Назначение
Si net.layers{i}.size Количество нейронов i-гo слоя
Vi net.targets{i}.size Количество элементов i-го вектора цели
Ui net.outputs{i}.size Количество элементов i-гo вектора выхода

Столбцы массивов начальных условий Pi, Pf, Ai, Af упорядочены в соответствии со следующими условиями:

Pi{i, k} - значение начального условия для линии задержки i-гo входа в момент времени ts = k - ID;

Pf {i, k} - значение начального условия для линии задержки i-гo входа в момент времени ts = TS + k - ID;

Ai{i,k} - значение начального условия для линии задержки i-гo слоя в момент времени ts = k - LD;

Af {i, k} - значение начального условия для линии задержки i-гo слоя в момент времени ts = TS + k - LD.

Групповое представление данных можно использовать только при обучении статических сетей (TS = 1). При этом следует помнить, что при переходе от формата последовательного представления данных cell array к формату группового представления double array массив ячеек, содержащий, например, Ni числовых массивов размера RixQ, преобразуется в единственный числовой массив размера .

Табл. 3.2 поясняет связь этих форм представления.

Таблица 3.2

Аргумент Формат
  Cell array Double array
  Size(P) Size(P{I,l}) Size(P)
Р Nixl RixQ
Т Ntxl VixQ
Pi NixID RixQ
Ai NlxLD SixQ

Функция [net, TR] = train(net, P, T, Pi, Ai,VV, TV) позволяет использовать в процессе обучения контрольные и тестовые подмножества для оценки представительности используемых обучающих выборок. Эти подмножества описываются массивами структур со следующими полями:

VV.P, TV.P - контрольное и тестовое подмножества векторов входов;

VV.T, TV.T - контрольное и тестовое подмножества векторов целей;

VV.Pi, TV.Pi - начальные значения задержек на входе сети для контрольного и тестового подмножеств, по умолчанию нулевые;

VV.Ai, TV.Ai - начальные значения задержек на слоях для контрольного и тестового подмножеств, по умолчанию нулевые.

Алгоритм:

Метод train вызывает функцию обучения, заданную свойством net.trainFcn со значениями параметров обучения, заданными свойством net.trainParam. Обычно цикл обучения определяется как предъявление сети всех векторов входа. Затем выполняется настройка параметров сети. Обучение продолжается до тех пор, пока не будет выполнено заданное число циклов обучения, достигнуто допустимое значение критерия качества обучения или выполнено любое другое условие остановки для выбранной функции обучения.

Сопутствующие функции: SIM, INIT, ADAPT.







Дата добавления: 2014-11-10; просмотров: 331. Нарушение авторских прав

Studopedia.info - Студопедия - 2014-2017 год . (0.006 сек.) русская версия | украинская версия