Дмитрий Магола - Практическое использование нейронных сетей в Среде Matlab
© Дмитрий Степанович Магола, 2025
ISBN 978-5-0065-7322-2
Создано в интеллектуальной издательской системе Ridero
ВВЕДЕНИЕ
В учебном пособии предложены примеры практического применения активно используемого инструмента по направлению искусственного интеллекта: искусственным нейронным сетям.
Необычайно высокий интерес к нейронным сетям, проявляемый специалистами из разных областей деятельности, объясняется, прежде всего, очень широким диапазоном решаемых с их помощью задач, а также рядом преимуществ перед другими методами.
Анализ работ, связанных с использованием нейронных сетей для решения физико-математических задач, показывает, что нейросетевой и нечеткий подходы имеют преимущества перед традиционными математическими методами в трех случаях.
Во-первых, когда рассматриваемая задача в силу конкретных особенностей не поддается адекватной формализации, поскольку содержит элементы неопределенности, не формализуемые традиционными математическими методами.
Во-вторых, когда рассматриваемая задача формализуема, но на настоящее время отсутствует аппарат для ее решения.
В-третьих, когда для рассматриваемой, хорошо формализуемой задачи существует соответствующий математический аппарат, но реализация вычислений с его помощью на базе имеющихся вычислительных систем не удовлетворяет требованиям получения решений по времени, энергопотреблению и др. В такой ситуации приходится либо производить упрощение алгоритмов, что снижает качество решений, либо применять соответствующие нейросетевой подход при условии, что он обеспечит нужное качество выполнения задачи.
В пособии приведены примеры в системе MATLAB с использованием пакета нейронных сетей Neural Networks Toolbox. Предложены решения с помощью нейронных сетей практических задач регрессии, классификации, кластеризации, распознавания образов.
Практическая работа 1. Использование нейронных сетей для решения задач регрессии
Цель работы: научиться использовать нейронные сети для решения задач аппроксимации и прогнозирования.
Задание 1: В среде MATLAB необходимо построить и обучить многослойную нейронную сеть для аппроксимации таблично заданной функции y>i=f (x>i), i=1,2,…,20. Разработать программу, которая реализует нейросетевой алгоритм аппроксимации и выводит результаты аппроксимации в виде графиков. Варианты задания представлены в табл. 1.1.
Задание 2: Используя инструмент NNTool решить задачу прогнозирования на основе следующих данных: имеется 100 входных значений х от 0.1 до 10 с шагом 0.1 и соответствующие им значения выходной переменной y. Зависимость y от x следующая:,y (x) =x>2—2x+1 но исследователю данная зависимость неизвестна, а известны лишь числовые значения y>i, i=1,2,…,100. Требуется найти значение y от x> 10.
Задание 3: В среде MATLAB необходимо построить и обучить нейронную сеть радиально-базисных функций для аппроксимации заданной функции y>i=f (x>i) =sin (x>i) -cos (x>i), x=0, 0.5,…,10, i=1,2,…,21.
Варианты заданий
Значения x>i=i*0.1, i=1,2,…,20 одинаковые для всех вариантов
1.1. Основные теоретические сведения
При изложении теоретических сведений использовались работы [1—4].
Под искусственными нейронными сетями (далее – нейронными сетями) подразумеваются вычислительные структуры, которые моделируют простые биологические процессы, обычно ассоциируемые с процессами человеческого мозга. Они представляют собой распределенные и параллельные системы, способные к адаптивному обучению путем анализа положительных и отрицательных воздействий. Элементарным преобразователем в данных сетях является искусственный нейрон или просто нейрон, названный так по аналогии с биологическим прототипом. К настоящему времени предложено и изучено большое количество моделей нейроподобных элементов и нейронных сетей.
Нейрон является составной частью нейронной сети. На рис. 1.1 показана его общая структура.
Рис. 1.1. Структура искусственного нейрона