Методы обучения нейронных сетей
Автор: Fresco • Май 2, 2020 • Курсовая работа • 2,268 Слов (10 Страниц) • 639 Просмотры
Министерство науки и высшего образования Российской Федерации
Федеральное государственное бюджетное образовательное учреждение
высшего образования
«Саратовский государственный технический университет
имени Гагарина Ю.А.»
Кафедра «Техническая механика и мехатроника»
Курсовая работа
на тему
«Методы обучения нейронных сетей»
По дисциплине
«Искусственный интеллект и нейрокомпьютеры
Саратов 2020
Цель работы
Изучить методы обучения нейронных сетей, и реализацию выбора метода обучения нейронной сети в MATLAB.
Провести сравнение эффективности работы нейронной сети в зависимости от изменения таких параметров как:
- Метод обучения нейронной сети;
- Структура нейронной сети;
- Размер обучающей выборки;
Построить графики сравнительного анализа.
Теоретическая часть
Нейронная сеть — это последовательность нейронов, соединенных между собой синапсами. Структура нейронной сети пришла в мир программирования прямиком из биологии. Благодаря такой структуре, машина обретает способность анализировать и даже запоминать различную информацию. Нейронные сети также способны не только анализировать входящую информацию, но и воспроизводить ее из своей памяти.
- С точки зрения машинного обучения, нейронная сеть представляет собой частный случай методов распознавания образов, дискриминантного анализа, методов кластеризации и т. п.
- С математической точки зрения, обучение нейронных сетей — это многопараметрическая задача нелинейной оптимизации.
- С точки зрения кибернетики, нейронная сеть используется в задачах адаптивного управления и как алгоритмы для робототехники.
- С точки зрения развития вычислительной техники и программирования, нейронная сеть — способ решения проблемы эффективного параллелизма.
- С точки зрения искусственного интеллекта, ИНС является основой философского течения коннекционизма и основным направлением в структурном подходе по изучению возможности построения (моделирования) естественного интеллекта с помощью компьютерных алгоритмов.
Для чего нужны нейронные сети?
Нейронные сети используются для решения сложных задач, которые требуют аналитических вычислений подобных тем, что делает человеческий мозг. Самыми распространенными применениями нейронных сетей является:
- Классификация — распределение данных по параметрам.
- Предсказание — возможность предсказывать следующий шаг. Например, рост или падение акций, основываясь на ситуации на фондовом рынке.
- Распознавание — в настоящее время, самое широкое применение нейронных сетей.
Нейронные сети не программируются в привычном смысле этого слова, они обучаются. Возможность обучения — одно из главных преимуществ нейронных сетей перед традиционными алгоритмами. Технически обучение заключается в нахождении коэффициентов связей между нейронами. В процессе обучения нейронная сеть способна выявлять сложные зависимости между входными данными и выходными, а также выполнять обобщение.
Методы обучения нейронных сетей
- ‘Trainlm'
trainlm - это функция обучения сети, которая обновляет значения веса и смещения в соответствии с оптимизацией Левенберга-Марквардта.
trainlm часто является самым быстрым алгоритмом обратного распространения в наборе инструментов и настоятельно рекомендуется в качестве контролируемого алгоритма первого выбора, хотя он требует больше памяти, чем другие алгоритмы.
Эта функция использует для расчетов якобиан, который предполагает, что производительность представляет собой среднее или сумму квадратов ошибок.
Как и квазиньютоновские методы, Алгоритм Левенберга-Марквардта был разработан для приближения к скорости обучения второго порядка без необходимости вычисления матрицы Гессе. Когда функция производительности имеет вид суммы квадратов (как это обычно происходит в обучающих сетях прямой связи), тогда матрица Гессе может быть аппроксимирована как
...