Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаба перевод матлаб.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
1 Мб
Скачать
☆

3.6 Характеристики нс

net.performFcn - определяет функцию ошибки (оценки функционирования сети), например: net.performFcn = 'sse' .

net.trainParam –определяют параметры используемой функции обучения. Например:

net.trainParam.epochs = 20 задает количество циклов обучения, равное 20. По умолчанию net.trainParam.epochs = 100.

net.trainParam.goal = 0.005 задает ошибку сети, при которой обучение будет считаться законченным. По умолчанию net.trainParam.goal = 0.

net.trainFcn – определяет используемую функцию обучения сети, например:

net.trainFcn = 'traincgf'.

3.7 Работа с файлами НС

save 'путь\имя файла' net – запись НС net в файл, расположенный в указанном каталоге. Например:

save 'D:\Ns\nun' net

load 'путь\имя файла' – загрузка НС из указанного файла. Например:

load 'D:\Ns\nun'

path(path, 'Полное наименование каталога') – подключение указанного каталога к Matlab в качестве рабочего. По умолчанию все m-файлы ищутся только в текущем рабочем каталоге.

3.8 Функция оценки качества работы сети

[m, b, r] = postreg(A,T) – функция нахождения уравнения линейной регрессии между выходами НС и соответствующими целевыми значениями. Аргументы: A – массив фактических выходов сети, T – массив целевых векторов, m – коэффициент линейной регрессии, b – смещение, r – коэффициент корреляции (если r = 1, то результат моделирования сети можно считать идеальным).

3.9 Пример решения задачи с помощью многослойной нейронной сети

В качестве примера рассмотрим следующую задачу: имеется массив,

состоящий из значений функции , (S>0) на интервале (0,1).

Требуется создать нейронную сеть, такую, что при вводе этих значений на входы сети, на выходах получались бы значения параметров С, A и S.

3.10 Жұмысты орындау тәртібі

3.10.1. Подготовка данных для обучения (тренировки) сети

Определим размерность входного массива. Выберем количество значений функции равным N = 21, т.е. в качестве входных векторов массива используем значения функции y в точках х = 0.05; …1.0. Для обучения сети необходимо сформировать массив входных векторов для различных наборов параметров С, A и S. Каждый набор этих параметров является целевым вектором для соответствующего входного вектора.

Для подготовки входного и целевого массивов воспользуемся следующим алгоритмом. Выбираем случайным образом значения компонент целевого вектора С, A, S и вычисляем компоненты соответствующего входного вектора. Повторяем эту процедуру М раз и получаем массив входных векторов в виде матрицы NxM и массив целевых векторов в виде матрицы 3хМ.

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

  1. Диапазон изменения параметров С, A, S. Выберем диапазоны изменения параметров C, A, S равными (0.1, 1). Значения, близкие к 0 и сам 0 исключим в связи с тем, что функция не определена при S=0. Второе ограничение связано с тем, что при использовании типичных передаточных функций желательно, чтобы компоненты входных и выходных векторов не выходили за пределы диапазона (-1,1) (обойти это ограничение позволяют методы нормирования данных).

  2. Количество входных и эталонных векторов выберем равным М=100. Этого достаточно для обучения, причем сам процесс обучения не займет много времени.

Тестовые массивы и эталоны подготовим с помощью программы mas1. Программа mas1 создается в редакторе Matlab (File – New…–M-file) и записывается на диск для дальнейшего использования.

P = zeros(100,21); % формирование входного массива P T = zeros(3,100); % и целевого вектора T x = 0:5.e-2:1; for i =1:100 c = 0.9*rand+0.1; a = 0.9*rand+0.1; s = 0.9*rand+0.1; T(1,i)=c; T(2,i)=a; T(3,i)=s; P(i,:)=c*exp(-((x-a).^2/s)); end; P=P';

С помощью этой программы формируется матрица P из M=100 входных вектор-столбцов, каждый из которых сформирован из 21 точки исходной функции со случайно выбранными значениями параметров C,A,S, и целевой матрицы T из 100 эталонных вектор-столбцов, каждый из которых сформирован из 3 соответствующих целевых значений. Матрицы P и T будут использованы при обучении сети.