- •№1 Зертханалық жұмыс Тақырыбы. Биологиялық және жасанды нейрон.
- •1 Кесте – Нейрондарды активациялау функцияларының тiзiмi
- •№ 2 Зертханалық жұмыс
- •2.2 Персептрондар
- •2.3 Зерттелетін функциялар. Нейрондық желісін жасау функциясы.
- •3.2 Нейрожелілік әдістің негізінде есепті шешу кезеңдері.
- •Введём переменную значения ошибки запустим функцию адаптации персептрона в цикле, пока ошибка не
- •Вариант 1 Вариант 2
- •№ 3 Зертханалық жұмыс
- •3.2 Алгоритм обратного распространения ошибки
- •3.6 Характеристики нс
- •3.10.2. Создание сети
- •3.10.3. Обучение сети
- •3.10.5. Моделирование сети (использование сети для решения задачи)
- •4 Лабораторная работа № 4 нс с радиальными базисными функциями
- •4.2 Сеть с радиальными базисными функциями
- •4.3 Изучаемые функции
- •(Сети с радиальными базисными функциями обучаются в процессе создания).
- •4.4 Характеристики нс
- •4.5 Порядок выполнения работы
- •Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •5.2 Изучаемая функция
- •Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •Контрольные вопросы
- •6 Лабораторная работа № 6
- •6.2 Вероятностная нейронная сеть
- •6.3 Изучаемые функции Функция создания вероятностной нс
- •Вспомогательные векторно-матричные функции
- •Контрольные вопросы
- •7 Лабораторная работа № 7
- •7.2 Задача кластеризации и поиска зависимостей
- •7.5 Самоорганизующаяся карта признаков
- •7.6 Изучаемые функции . Функции создания нс
- •Вспомогательные функции
- •7.7 Порядок выполнения работы
- •2. Пример создания самоорганизующейся карты.
- •Контрольные вопросы
- •Лабораторная работа № 8 Сеть Хопфилда
- •Цель работы
- •Краткие теоретические сведения
- •Пример решения типовой задачи
- •Отчёт о выполнении работы
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хМ.
Прежде чем приступать к формированию обучающих массивов необходимо определиться с некоторыми свойствами массивов.
Диапазон изменения параметров С, A, S. Выберем диапазоны изменения параметров C, A, S равными (0.1, 1). Значения, близкие к 0 и сам 0 исключим в связи с тем, что функция не определена при S=0. Второе ограничение связано с тем, что при использовании типичных передаточных функций желательно, чтобы компоненты входных и выходных векторов не выходили за пределы диапазона (-1,1) (обойти это ограничение позволяют методы нормирования данных).
Количество входных и эталонных векторов выберем равным М=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 будут использованы при обучении сети.
