Кафедра теоретической механики

МЕХАНИКО-МАТЕМАТИЧЕСКИЙ ФАКУЛЬТЕТ

Кафедра теоретической механики

ОТЧЕТ

По работе на тему

«Аппроксимация функции нейронной сетью»

Исполнитель:

студент 656 группы

Кромберг Е.Д.

Преподаватель:

доцент, к.ф.-м.н.

Ляхов А.Ф.

Нижний Новгород

Постановка задачи

1. Создать нейронную сеть и выполнить аппроксимацию функции Кафедра теоретической механики - student2.ru с учетом воздействия шума. Для создания сети использовать пакет Neural Networks Toolbox системы Matlab.

2. Сравнить эффективность аппроксимацию функции с учетом воздействия шума нейронов сетью и полиномами средствами пакета Matlab.

3. Написать программу на m-языке пакета Matlab.

Создание нейронной сети для аппроксимацию функции

При моднлелировании нейронной сети сывыделяются следующие этапы:

1. Создание сети

2. Обучение сети

3. Тестирование сети

4. Использование сети для решения потставленной задачи

Создадим двухслойную нейронной сеть прямого распределения (однонаправленную), которую необходимо обучить аппроксимировать исходную функцию в условиях воздействия шума. Шум - случайные искажения, вносимые в значения аппроксимируемой функции в точках ее определения. Заметим, что способность сети аппроксимировать исходную функцию при наличии шума, особенно важна для практики.

Определим число нейронов в каждом слое. На вход сети подаем идеальный (незашумленный) вектор input_param. Его компоненты расположены на отрезке [0; 5] с шагом delta = 0.1, то есть размерность входного вектора N = 51.

Выходной вектор output_param выбираем таким образом, чтобы его компоненты соотетветствовали векторам входа.

В нейрона кете Neural Network Toolbox системы Matlab задание входного и выходного вектора записывается так:

input_param = [0:0.1:5]; - входной вектор

output_param = (input_param.^2).* exp(-input_param).* sin(input_param.^2); - выходной вектор

Число нейронов в скрытом слое определим по формуле:

Кафедра теоретической механики - student2.ru

где n – число входных нейронов (n = 1),

m – число выходных нейронов (m = 1),

N – число элементов обучающей выборки (N = 51)

Lщ — число синаптических весов

Подставив соответствующие значения получим:

Кафедра теоретической механики - student2.ru

Оценив необходимое число весов, рассчитаем число нейронов в скрытом слое:

Кафедра теоретической механики - student2.ru

L решено было выбрать равному среднему значению из отрезка:

Кафедра теоретической механики - student2.ru

Структурная схема нейронной сети.

Кафедра теоретической механики - student2.ru

Рис. 1. Укрупненная структурная схема сети

Кафедра теоретической механики - student2.ru

Рис. 2. Структурная схема сети.

Двухслойная нейронная сеть

Кафедра теоретической механики - student2.ru

Рис.3. Структурная схема сети.

Первый (скрытый) слой сети

Кафедра теоретической механики - student2.ru

Рис.4. Сигналы после линии задержки между входным и первым слоями

Кафедра теоретической механики - student2.ru

Рис. 5. Весовая матрица между входными и скрытым слоями

Кафедра теоретической механики - student2.ru

Рис. 6. Структурная схема сети.

Второй (выходной) слой сети

Кафедра теоретической механики - student2.ru

Рис.7. Сигналы после линии задержки между скрытым и выходным слоями

Кафедра теоретической механики - student2.ru

Рис. 8. Весовая матрица между скрытым и выходным слоями

Обучение созданной сети

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

Выводы

На основе полученных результатов можно сделать следующие выводы:

1. Аппроксимация при зашумленном входном векторе нейронной сетью в представленных результатах лучше, чем полиномами (среднеквадратичное отклонение в 6-7 раз меньше), но это не исключает возможности обратного соотношения при другом показателе шума.

2. Нейронная сеть способна обучаться как при зашумленных, так и при не зашумленных входных параметрах в отличии от других методов аппроксимации функции, в которых в качестве исходного задается не зашумленный вектор.

3. Для исследуемой функции оптимальным количеством нейронов в скрытом слое можно считать L = 34; 41; 47; 48; 49, при которых среднеквадратичное отклонение достаточно мало по сравнению с другими точками (0,01 – 0,015) и количество эпох, за которое обучилась сеть, меньше 100

Использованная литература

1. Ю.В.Виноградова, А.Ф.Ляхов «Аппроксимация функции нейронной сетью», 2009 г.

МЕХАНИКО-МАТЕМАТИЧЕСКИЙ ФАКУЛЬТЕТ

Кафедра теоретической механики

ОТЧЕТ

По работе на тему

«Аппроксимация функции нейронной сетью»

Исполнитель:

студент 656 группы

Кромберг Е.Д.

Преподаватель:

доцент, к.ф.-м.н.

Ляхов А.Ф.

Нижний Новгород

Постановка задачи

1. Создать нейронную сеть и выполнить аппроксимацию функции Кафедра теоретической механики - student2.ru с учетом воздействия шума. Для создания сети использовать пакет Neural Networks Toolbox системы Matlab.

2. Сравнить эффективность аппроксимацию функции с учетом воздействия шума нейронов сетью и полиномами средствами пакета Matlab.

3. Написать программу на m-языке пакета Matlab.

Наши рекомендации