Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР3 ОТЧЁТ мой.doc
Скачиваний:
4
Добавлен:
19.12.2018
Размер:
220.16 Кб
Скачать

Министерство образования и науки РФ

ФГБОУ ВПО «ИжГТУ»

Кафедра « Мехатронные системы»

Отчет по лабораторной работе № 3

Тема: «Искусственные нейронные сети. Разработка и исследование искусственной нейронной сети»

Выполнил:

студент гр. 7-05-3

Сувырина К.А.

Проверила:

Коренева Е. А.

Ижевск 2011

Содержание

ТЕХНИЧЕСКОЕ ЗАДАНИЕ ………………………………….….……….3

ВВЕДЕНИЕ………………………………………………….......................4

1 РАЗРАБОТКА АЛГОРИТМА…………………………………..……….5

1.1 МАТЕМАТИЧЕСКИЙ АЛГОРИТМ …………………………………5

1.2 РАЗРАБОТКА СХЕМ АЛГОРИТМОВ ……………………………...8

2 РАЗРАБОТКА ПРОГРАММЫ ………………………………..………..9

3 ВЫЧИСЛИТЕЛЬНЫЙ ЭКСПЕРИМЕНТ …………………..………...14

ЗАКЛЮЧЕНИЕ ………………………………………………..…………15

ЛИТЕРАТУРА…………………………………….....................................15

Техническое задание

Разработать двухслойную нейронную сеть с использованием непрерывного искусственного нейрона на n- входов и n- выходов. Обучить сеть распознавать букву Е.

Введение

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

1 Разработка алгоритма

Для дальнейшей работы необходимо построить следующие алгоритмы: алгоритм работы программы в целом, алгоритм обучения нейронной сети.

1.1 Математический алгоритм

Несмотря на большое разнообразие вариантов нейронных сетей, все они имеют общие черты. Так, все они, так же, как и мозг человека, состоят из большого числа связанных между собой однотипных элементов – нейронов, которые имитируют нейроны головного мозга. На рис. 1 показана схема нейрона.

Рисунок 1 – Схема нейрона

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

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

(1)

где n – число входов нейрона;

xi – значение i-го входа нейрона;

wi – вес i-го синапса.

Затем определяется значение аксона нейрона по формуле:

Y = f(S)

(2)

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

(3)

Основное достоинство этой функции в том, что она дифференцируема на всей оси абсцисс и имеет очень простую производную:

(4)

При уменьшении параметра a сигмоид, становится более пологим, вырождаясь в горизонтальную линию на уровне 0,5 при a = 0. При увеличении a, сигмоид приближается к функции единичного скачка.

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

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

Существуют два концептуальных подхода к обучению нейронных сетей: обучение с учителем и обучение без учителя. В данной курсовой работе используется метод обучения с учителем.

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

Алгоритм обратного распространения ошибки:

  1. Инициализировать синаптические веса маленькими случайными значениями.

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

  3. Вычислить выход сети.

  4. Вычислить разность между выходом сети и требуемым выходом (целевым вектором обучающей пары).

  5. Подкорректировать веса сети для минимизации ошибки (как см. ниже).

Повторять шаги с 2 по 5 для каждого вектора обучающего множества до тех пор, пока ошибка на всем множестве не достигнет приемлемого уровня.

Рассмотрим подробней 5 шаг – корректировка весов сети. Здесь следует выделить два нижеописанных случая.

Случай 1. Корректировка синаптических весов выходного слоя.

Определимся, что индексом p будем обозначать нейрон, из которого выходит синаптический вес, а q – нейрон в который входит.

Введем величину δ, которая равна разности между требуемым и реальным выходами, умноженной на производную функции активации:

(5)

Тогда, веса выходного слоя после коррекции будут равны:

(6)

где i – номер текущей итерации обучения;

Wp-q – величина синаптического веса, соединяющего нейрон p с нейроном q;

η – коэффициент «скорости обучения», позволяет управлять средней величиной изменения весов;

OUTp – выход нейрона.

Случай 2. Корректировка синаптических весов скрытого слоя.

(7)

где – сумма от 1 по N, N – количество нейронов выходного слоя.

Тогда, веса скрытого слоя после коррекции будут равны:

(8)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]