Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 3000257.doc
Скачиваний:
38
Добавлен:
30.04.2022
Размер:
1.26 Mб
Скачать

Лабораторная работа № 1 Аппроксимация функции одной переменной

    1. Цель работы

На примере задачи аппроксимации функции одной переменной научиться работать с встроенной в MATLAB функцией newff() [1], позволяющей формировать нейронную сеть с прямой передачей сигнала. Освоить на практике основные операции обучения нейронной сети.

    1. Краткие теоретические сведения

В лабораторной работе рассматривается нейронная сеть с прямой передачей сигнала (с прямой связью) [2], то есть сеть, в которой сигналы передаются только в направлении от входного слоя к выходному, и элементы одного слоя связаны со всеми элементами следующего слоя. Важнейшим для реализации нейронных сетей является определение алгоритма обучения сети.

В настоящее время одним из самых эффективных и обоснованных алгоритмов облучения нейронных сетей является алгоритм обратного распространения ошибки, который применим к однонаправленным многослойным сетям. В основе данного алгоритма используется хорошо разработанный метод градиентного спуска, позволяющий эффективно отыскивать экстремумы функций многих переменных. В многослойных нейронных сетях имеется множество скрытых нейронов, входы и выходы которых не являются входами и выходами нейронной сети, а соединяют нейроны внутри сети, то есть скрытые нейроны. Занумеруем выходы нейронной сети индексом (отметим здесь, что в общем случае количество выходов нейронной сети не совпадает с количеством её входов). Пусть имеется обучающих примеров, занумеруем их индексом . Тогда в качестве целевой функции можно выбрать функцию ошибки как сумму квадратов расстояний между реальными выходными состояниями нейронной сети, и правильными значениями функции , соответствующими этим примерам. Введем расстояния согласно евклидовой метрике, определив норму

. (1)

Согласно указанной метрике (1), запишем целевую функцию в виде

. (2)

Коэффициент в (2) выбран из соображений более короткой записи последующих формул. Матрица состоит из весовых коэффициентов нейронной сети, за выяснением сути этих коэффициентов отправляем читателя в [2]. Задача обучения нейронной сети состоит в том, чтобы найти такие коэффициенты , при которых достигается минимум функции , Е 0.

На рис. 1 представлено схематическое изображение архитектуры двухслойной нейронной сети с прямой передачей сигнала, формируемое в MATLAB.

Рис. 1. Архитектура нейронной сети с прямой передачей сигнала

Словами Input и Output обозначены вход и выход нейронной сети; символы W, b обозначают матрицу весовых коэффициентов и вектор смещений для каждого слоя (Layer) нейронной сети. На рис. 1 представлено также схематическое изображение активационной функции нейронов в каждом слое. В этой лабораторной работе в качестве активационных функций нейронов будут использоваться гиперболическая тангенциальная (tansig) и линейная (purelin) функции.

Веса и смещения определяются с помощью алгоритма обратного распространения ошибок [3].

Обучение сети в алгоритме обратного распространения ошибок можно условно разбить на следующие операции:

1. Выбор обучающей пары (вход – соответствующий точный выход) из множества обучающих примеров.

2. Расчёт выхода нейронной сети. В начале обучения выход нейронной сети сильно отличается от соответствующего точного выхода из множества обучающих примеров.

3. Вычисление разности между выходом сети и соответствующим точным выходом.

4. Корректировка весовых коэффициентов сети с целью минимизации целевой функции (1) согласно алгоритму обратного распространения ошибок.

5. Шаги 1–4 следует повторять для каждого вектора обучающего множества до тех пор, пока ошибка (1) на всем множестве не достигнет приемлемого уровня.