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

1.1. Основные теоретические сведения
При изложении теоретических сведений использовались работы [1—4].
Под искусственными нейронными сетями (далее – нейронными сетями) подразумеваются вычислительные структуры, которые моделируют простые биологические процессы, обычно ассоциируемые с процессами человеческого мозга. Они представляют собой распределенные и параллельные системы, способные к адаптивному обучению путем анализа положительных и отрицательных воздействий. Элементарным преобразователем в данных сетях является искусственный нейрон или просто нейрон, названный так по аналогии с биологическим прототипом. К настоящему времени предложено и изучено большое количество моделей нейроподобных элементов и нейронных сетей.
Нейрон является составной частью нейронной сети. На рис. 1.1 показана его общая структура.

Рис. 1.1. Структура искусственного нейрона
Он состоит из элементов трех типов; умножителей (синапсов), сумматора и нелинейного преобразователя. Синапсы осуществляют связь между нейронами, умножают входной сигнал на число, характеризующее силу связи, (вес синапса). Сумматор выполняет сложение сигналов, поступающих по синаптическим связям от других нейронов, и внешних входных сигналов. Нелинейный преобразователь реализует нелинейную функцию одного аргумента – выхода сумматора. Эта функция называется функцией активации или передаточной функцией нейрона. Нейрон в целом реализует скалярную функцию векторного аргумента.
На рис. 1.1 S – результат суммирования (sum); wi – вес (weight) синапса, i=1,2,…,n; х – компонент входного вектора (входной сигнал),i=1,2,…,n; b – значение смещения (bias); n – число входов нейрона; у – выходной сигнал нейрона; f – нелинейное преобразование (функция активации).
В общем случае входной сигнал, весовые коэффициенты и смещение могут принимать действительные значения, а во многих практических задачах – лишь некоторые фиксированные значения. Выход y определяется видом функции активации и может быть как действительным, так и целым.
Синаптические связи с положительными весами называют возбуждающими, с отрицательными весами – тормозящими. Описанный вычислительный элемент можно считать упрощенной математической моделью биологических нейронов. Чтобы подчеркнуть различие нейронов биологических и искусственных, вторые иногда называют нейроноподобными элементами или формальными нейронами.
На входной сигнал S нелинейный преобразователь отвечает выходным сигналом f (S), который представляет собой выход y нейрона. Примеры активационных функций представлены в табл. 1.2.


Рис. 1.2. Примеры функций активации
Основные парадигмы обучения нейронных сетей
Существует три основные парадигмы (формы) обучения нейронных сетей:
– обучение с учителем (supervised learning);
– обучение с подкреплением (reinforcement learning)
– обучение без учителя (unsupervised learning, self-organized).
В первом случае обучение осуществляется под наблюдением внешнего «учителя». Нейронной сети предъявляются значения как входных, так и желательных выходных сигналов, и она по некоторому внутреннему алгоритму подстраивает веса своих синаптических связей.
Во втором случае обучение включает использование «критика», с помощью которого производится обучение на основе метода проб и ошибок.
В третьем случае выходы нейронной сети формируются самостоятельно, а веса и смещения изменяются по алгоритму, учитывающему только входные и производные от них сигналы. Здесь за основу взяты принципы самоорганизации нервных клеток. Для обучения без учителя не нужно знания требуемых ответов на каждый пример обучающей выборки. В этом случае происходит распределение образцов по категориям (кластерам) в соответствии с внутренней структурой данных или степенью корреляции между образцами.
Рассматривают также и смешанное обучение, при котором весовые коэффициенты одной группы нейронов настраиваются посредством обучения с учителем, а другой группы – на основе самообучения.
Основные правила обучения нейронных сетей
Известны четыре основных правила обучения, обусловленные связанными с ними архитектурами сетей: коррекция ошибки, правило Больцмана, правило Хебба и метод соревнования.
Коррекция ошибки
Для каждого входного примера задан требуемый выход, который может не совпадать с реальным. Правило обучения при коррекции по ошибке состоит в использовании разницы для изменения весов, с целью уменьшения ошибки рассогласования. Обучение производится только в случае ошибочного результата. Известны многочисленные модификации этого правила обучения.
Правило Больцмана
Правило Больцмана является стохастическим правилом обучения, обусловленным аналогией с термодинамическими принципами. В результате его выполнения осуществляется настройка весовых коэффициентов нейронов в соответствии с требуемым распределением вероятностей. Обучение правилу Больцмана может рассматриваться как отдельный случай коррекции по ошибке, в котором под ошибкой понимается расхождение корреляций состояний в двух режимах.
Правило Хебба
Правило Хебба является самым известным алгоритмом обучения нейронных сетей, суть которого заключается в следующем: если нейроны с обеих сторон синапса возбуждаются одновременно и регулярно, то сила синаптической связи возрастает. Важной особенностью является то, что изменение синаптического веса зависит только от активности связанных этим синапсом нейронов. Предложено большое количество разновидностей этого правила, различающихся особенностями модификации синаптических весов.
Метод соревнования
В отличие от правила Хебба, в котором множество выходных нейронов могут возбуждаться одновременно, здесь выходные нейроны соревнуются между собой. И выходной нейрон с максимальным значением взвешенной суммы является «победителем» («победитель забирает все»). Выходы же остальных выходных нейронов устанавливаются в неактивное состояние. При обучении модифицируются только веса нейрона-«победителя» в сторону увеличения близости к данному входному примеру.
Бесплатный фрагмент закончился.
Начислим
+1
Покупайте книги и получайте бонусы в Литрес, Читай-городе и Буквоеде.
Участвовать в бонусной программе