Использование нейронных сетей в системе Matlab
Способы применения нейронных сетей для решения различных математических и логических задач. Принципы архитектуры их построения и цели работы программных комплексов. Основные достоинства и недостатки каждой из них. Пример рекуррентной сети Элмана.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 26.02.2015 |
Размер файла | 377,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА К КУРСОВОЙ РАБОТЕ
ИСПОЛЬЗОВАНИЕ НЕЙРОННЫХ СЕТЕЙ В СИСТЕМЕ MATLAB
по дисциплине: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ
Оглавление
Введение
1. Применение нейронных сетей
1.1 Распознавание образов и классификация
1.2 Принятие решений и управление
1.3 Кластеризация
1.4 Прогнозирование
1.5 Апроксимация
1.6 Сжатие данных и ассоциативная память
2. Линейные сети
3. Самоорганизующиеся нейронные сети
3.1 Нейронная сеть (Кохонена)
3.2 LVQ сети
4. Радиальные базисные сети
5. Рекуррентные сети
5.1 Нейронная сеть (Элмана)
5.2 Нейронная сеть (Хопфилда)
6. Код программы
Заключение
Используемая литература
Введение
Теория нейронных сетей возникла из исследований в области искусственного интеллекта, а именно из попыток воспроизвести способность нервных биологических систем обучаться и исправлять ошибки, моделируя низкоуровневую структуру мозга. Основой исследований по искусственному интеллекту в 60-80-е гг. были экспертные системы. Такие системы основывались на высокоуровневом моделировании процесса мышления (в частности, на представлении, что процесс нашего мышления построен на манипуляциях с символами).
Теория нейронных сетей включают широкий круг вопросов из разных областей науки: биофизики, математики, информатики, схемотехники и технологии. Поэтому понятие "нейронные сети" детально определить сложно.
Искусственные нейронные сети (НС) -- совокупность моделей биологических нейронных сетей.
Представляют собой сеть элементов -- искусственных нейронов -- связанных между собой синоптическими соединениями. Сеть обрабатывает входную информацию и в процессе изменения своего состояния во времени формирует совокупность выходных сигналов. Работа сети состоит в преобразовании входных сигналов во времени, в результате чего меняется внутреннее состояние сети и формируются выходные воздействия. Обычно НС оперирует цифровыми, а не символьными величинами.
1. Применение нейронных сетей:
1.1 Распознавание образов и классификация
В качестве образов могут выступать различные по своей природе объекты: символы текста, изображения, образцы звуков и т. д. При обучении сети предлагаются различные образцы образов с указанием того, к какому классу они относятся. Образец, как правило, представляется как вектор значений признаков. При этом совокупность всех признаков должна однозначно определять класс, к которому относится образец. В случае, если признаков недостаточно, сеть может соотнести один и тот же образец с несколькими классами, что неверно. По окончании обучения сети ей можно предъявлять неизвестные ранее образы и получать ответ о принадлежности к определённому классу.
Топология такой сети характеризуется тем, что количество нейронов в выходном слое, как правило, равно количеству определяемых классов. При этом устанавливается соответствие между выходом нейронной сети и классом, который он представляет. Когда сети предъявляется некий образ, на одном из её выходов должен появиться признак того, что образ принадлежит этому классу. В то же время на других выходах должен быть признак того, что образ данному классу не принадлежит. Если на двух или более выходах есть признак принадлежности к классу, считается, что сеть «не уверена» в своём ответе.
1.2 Принятие решений и управление
Эта задача близка к задаче классификации. Классификации подлежат ситуации, характеристики которых поступают на вход нейронной сети. На выходе сети при этом должен появиться признак решения, которое она приняла. При этом в качестве входных сигналов используются различные критерии описания состояния управляемой системы.
1.3 Кластеризация
Под кластеризацией понимается разбиение множества входных сигналов на классы, при том, что ни количество, ни признаки классов заранее не известны. После обучения такая сеть способна определять, к какому классу относится входной сигнал. Сеть также может сигнализировать о том, что входной сигнал не относится ни к одному из выделенных классов -- это является признаком новых, отсутствующих в обучающей выборке, данных. Таким образом, подобная сеть может выявлять новые, неизвестные ранее классы сигналов. Соответствие между классами, выделенными сетью, и классами, существующими в предметной области, устанавливается человеком. Кластеризацию осуществляют например, нейронные сети Кохонена.
1.4 Прогнозирование
Способности нейронной сети к прогнозированию напрямую следуют из ее способности к обобщению и выделению скрытых зависимостей между входными и выходными данными. После обучения сеть способна предсказать будущее значение некой последовательности на основе нескольких предыдущих значений и/или каких-то существующих в настоящий момент факторов. Следует отметить, что прогнозирование возможно только тогда, когда предыдущие изменения действительно в какой-то степени предопределяют будущие. Например, прогнозирование котировок акций на основе котировок за прошлую неделю может оказаться успешным (а может и не оказаться), тогда как прогнозирование результатов завтрашней лотереи на основе данных за последние 50 лет почти наверняка не даст никаких результатов.
1.6 Аппроксимация
Нейронные сети могут аппроксимировать непрерывные функции. Доказана обобщённая аппроксимационная теорема: с помощью линейных операций и каскадного соединения можно из произвольного нелинейного элемента получить устройство, вычисляющее любую непрерывную функцию с некоторой наперёд заданной точностью. Это означает, что нелинейная характеристика нейрона может быть произвольной: от сигмоидальной до произвольного волнового пакета или вейвлета, синуса или многочлена. От выбора нелинейной функции может зависеть сложность конкретной сети, но с любой нелинейностью сеть остаётся универсальным аппроксиматором и при правильном выборе структуры может достаточно точно аппроксимировать функционирование любого непрерывного автомата.
1.6 Сжатие данных и ассоциативная память
Способность нейросетей к выявлению взаимосвязей между различными параметрами дает возможность выразить данные большой размерности более компактно, если данные тесно взаимосвязаны друг с другом. Обратный процесс -- восстановление исходного набора данных из части информации -- называется (авто)ассоциативной памятью. Ассоциативная память позволяет также восстанавливать исходный сигнал/образ из зашумленных/поврежденных входных данных. Решение задачи гетероассоциативной памяти позволяет реализовать память, адресуемую по содержимому.
Neural Network Toolbox - это пакет расширения MATLAB, содержащий средства для проектирования, моделирования, разработки и визуализации нейронных сетей.
Нейросетевые технологии позволяют решать такие задачи, решение которых классическими формальными методами затруднено или не возможно. Пакет обеспечивает всестороннюю поддержку типовых нейросетевых парадигм и имеет открытую модульную архитектуру. Пакет содержит функции командной строки и графический интерфейс пользователя для быстрого пошагового создания нейросетей.
2. Линейные сети
Линейные нейронные сети по своей структуре аналогичны персептрону и отличаются лишь функцией активации, которая является линейной. Выход линейной сети может принимать любое значение, в то время как выход персептрона ограничен значениями 0 или 1. Линейные сети, как и персептроны, способны решать только линейно отделимые задачи классификации, однако в них используется другое правило обучения, основанное на методе наименьших квадратов, которое является более мощным, чем правило обучения персептрона. Настройка параметров выполняется таким образом, чтобы обеспечить минимум ошибки. Поверхность ошибки как функция входов имеет единственный минимум, и определение этого минимума не вызывает трудностей. В отличие от персептрона настройка линейной сети может быть выполнена с помощью как процедуры адаптации, так и процедуры обучения.
Архитектура сети
Рис. 1
Линейная сеть в Matlab
По команде help linnet можно получить следующую информацию об М-функциях, входящих в состав ППП Neural Network Toolbox и относящихся к построению линейных нейронных сетей:
Таблица 1
Linear networks |
Линейные сети |
|
New networks |
Формирование нейронной сети |
|
newlind |
Формирование линейного слоя |
|
newlin |
Формирование адаптируемого линейного слоя |
|
Using networks |
Работа с нейронной сетью |
|
sim |
Моделирование сети |
|
init |
Инициализация сети |
|
adapt |
Процедура адаптации |
|
train |
Процедура обучения |
|
Weight functions |
Функции взвешивания |
|
dotprod |
Скалярное произведение |
|
Net input functions |
Функции накопления |
|
netsum |
Сумма взвешенных входов |
|
Transfer functions |
Функции активации |
|
purelin |
Линейная |
|
Initialization functions |
Функции инициализации |
|
initlay |
Послойная инициализация |
|
initwb |
Инициализация весов и смещений |
|
initzero |
Инициализация нулевых весов и смещений |
|
Performance |
Функции оценки качества сети |
|
mse |
Среднеквадратичная погрешность |
|
Learning |
Функции настройки параметров персептрона |
|
learnwh |
Правило настройки WH |
|
Adaption |
Функции адаптации |
|
adaptwb |
Функция адаптации весов и смещений |
|
Training |
Функции обучения |
|
trainwb |
Функция обучения весов и смещений |
|
Analysis functions |
Функции анализа |
|
maxlinlr |
Оценка максимального значения параметра настройки |
|
Demonstrations and applications |
Демонстрационные примеры |
|
demolin1 |
Пример функционирования линейной сети |
|
demolin2 |
Обучение линейного нейрона |
|
demolin3 |
Обучение линейного слоя |
|
demolin4 |
Задача линейной аппроксимации |
|
demolin5 |
Задача с неполными данными |
|
demolin6 |
Задача с линейно зависимыми данными |
|
demolin7 |
Оценка влияния параметра скорости настройки |
|
demolin8 |
Адаптируемый линейный слой |
|
applin1 |
Задача предсказания |
|
applin2 |
Задача адаптивного предсказания |
|
applin3 |
Идентификация линейной системы |
|
applin4 |
Адаптивная идентификация линейной системы |
3. Самоорганизующиеся нейронные сети
В процессе анализа больших информационных массивов данных неизменно возникают задачи, связанные с исследованием топологической структуры данных, их объединением в группы (кластеры), распределением по классам и т. п. Это могут быть экономические, финансовые, научно-технические, медицинские и другие приложения, где требуется решение таких практических задач, как сжатие данных, их хранение и поиск, определение характеристик объекта по ограниченному набору признаков. Такие задачи могут быть успешно решены с применением специального класса самоорганизующихся нейронных сетей.
3.1 Нейронная сеть (Кохонена)
Нейронные сети Кохонена -- класс нейронных сетей, основным элементом которых является слой Кохонена. Слой Кохонена состоит из адаптивных линейных сумматоров («линейных формальных нейронов»). Как правило, выходные сигналы слоя Кохонена обрабатываются по правилу «победитель забирает всё»: наибольший сигнал превращается в единичный, остальные обращаются в ноль.
По способам настройки входных весов сумматоров и по решаемым задачам различают много разновидностей сетей Кохонена. Наиболее известные из них:
· Сети векторного квантования сигналов, тесно связанные с простейшим базовым алгоритмом кластерного анализа (метод динамических ядер или K-средних)
· Самоорганизующиеся карты Кохонена (Self-Organising Maps, SOM)
· Сети векторного квантования, обучаемые с учителем (Learning Vector Quantization)
Архитектура сети
Рис. 2
Где: p -евклидово расстояние (начальное значение), IW11 - матрица весов, n1 - вход функции активации, b - расстояние вектора смещения, a1 -вектор выхода слоя.
Нейронная сеть Кохонена в Matlab.
Для создания самоорганизующихся нейронных сетей, являющихся слоем или картой Кохонена, предназначены М-функции newc и newsom соответственно.
По команде help selforg можно получить следующую информацию об М-функциях, входящих в состав ППП Neural Network Toolbox и относящихся к построению сетей Кохонена:
Таблица 2
Self-organizing networks |
Самоорганизующиеся сети |
|
New networks |
Формирование сети |
|
Newc newsom |
Создание слоя Кохонена Создание карты Кохонена |
|
Using networks |
Работа с сетью |
|
Siminitadapttrain |
МоделированиеИнициализацияАдаптацияОбучение |
|
Weight functions |
Функции расстояния и взвешивания |
|
negdist |
Отрицательное евклидово расстояние |
|
Net input functions |
Функции накопления |
|
netsum |
Сумма взвешенных входов |
|
Transfer functions |
Функции активации |
|
compet |
Конкурирующая функция активации |
|
Topology functions |
Функции описания топологии сети |
|
gridtophextoprandtop |
Прямоугольная сеткаГексагональная сеткаСетка со случайно распределенными узлами |
|
Distance functions |
Функции расстояния |
|
distboxdistmandistlinkdist |
Евклидово расстояниеРасстояние максимального координатного смещенияРасстояние суммарного координатного смещенияРасстояние связи |
|
Initialization functions |
Функции инициализации сети |
|
initlayinitwbinitconmidpoint |
Послойная инициализацияИнициализация весов и смещенийИнициализация смещений с учетом чувствительности нейроновИнициализация весов по правилу средней точки |
|
Learning functions |
Функции настройки параметров |
|
learnklearnconlearnsom |
Правило настройки весов для слоя Кохонена Правило настройки смещений для слоя Кохонена Правило настройки весов карты Кохонена |
|
Adapt functions |
Функции адаптации |
|
adaptwb |
Адаптация весов и смещений |
|
Training functions |
Функции обучения |
|
trainwb1 |
Повекторное обучение весов и смещений |
|
Demonstrations |
Демонстрационные примеры |
|
democ1demosm1demosm2 |
Настройка слоя КохоненаОдномерная карта КохоненаДвумерная карта Кохонена |
3.2 LVQ-сети
Сети для классификации входных векторов, или LVQ (Learning Vector Quantization)-сети. Как правило, они выполняют и кластеризацию и классификацию векторов входа. Эти сети являются развитием самоорганизующихся сетей Кохонена.
LVQ-cеть имеет 2 слоя: конкурирующий и линейный. Конкурирующий слой выполняет кластеризацию векторов, а линейный слой соотносит кластеры с целевыми классами, заданными пользователем
Архитектура сети
Рис. 3
Нейронная сеть LVQ в Matlab.
По команде help lvq можно получить следующую информацию об М-функциях, входящих в состав ППП Neural Network Toolbox и относящихся к построению LVQ-сетей:
Таблица 3
Learning Vector Quantization |
Сети для классификации векторов |
|
New networks |
Формирование сети |
|
newlvq |
Создание сети для классификации входных векторов |
|
Using networks |
Работа с сетью |
|
sim init adapt train |
Моделирование Инициализация Адаптация Обучение |
|
Weight functions |
Операции с весовой функцией |
|
negdist dotprod |
Функция отрицательного расстояния Скалярное произведение |
|
Net input functions |
Операции над входами |
|
netsum |
Суммирование |
|
Transfer functions |
Функции активации |
|
compet purelin |
Конкурирующая Линейная |
|
Performance functions |
Функции погрешности обучения |
|
mse |
Среднеквадратичная ошибка обучения |
|
Initialization functions |
Функции инициализации сети |
|
initlay initwb midpoint |
Послойная инициализация Инициализация весов и смещений Инициализация весов по правилу средней точки |
|
Learning functions |
Функции настройки параметров |
|
learnlv1 learnlv2 |
Функция настройки lv1 Функция настройки lv2 |
|
Adapt functions |
Функции адаптации |
|
adapt |
Адаптация весов и смещений |
|
Training functions |
Функции обучения |
|
trainr |
Повекторное обучение весов и смещений |
|
Demonstrations |
Демонстрационные примеры |
|
demolvq1 |
Пример классификации векторов |
4. Радиальные базисные сети
Радиальные базисные нейронные сети состоят из большего количества нейронов, чем стандартные сети с прямой передачей сигналов и обучением методом обратного распространения ошибки, но на их создание требуется значительно меньше времени. Эти сети особенно эффективны, когда доступно большое количество обучающих векторов.
Архитектура сети
Рис. 4
Радиальная базисная сеть в Matlab.
По команде help radbasis можно получить следующую информацию об М-функциях, входящих в состав ППП Neural Network Toolbox и относящихся к построению радиальных базисных сетей:
Таблица 4
Radial basis networks |
Радиальные базисные сети |
|
New networks |
Формирование сети |
|
newrb |
Создание радиальной базисной сети |
|
newrbe |
Создание радиальной базисной сети с нулевой ошибкой |
|
newgrnn |
Создание обобщенной регрессионной сети |
|
newpnn |
Создание вероятностной сети |
|
Using networks |
Работа с сетью |
|
sim |
Моделирование сети |
|
Weight functions |
Функции взвешивания |
|
dist |
Евклидово расстояние |
|
dotprod |
Скалярное произведение |
|
normprod |
Нормированное скалярное произведение |
|
Net input functions |
Функции накопления |
|
netprod |
Произведение взвешенных входов |
|
netsum |
Сумма взвешенных входов |
|
Transfer functions |
Функции активации |
|
compet |
Конкурирующая функция активации |
|
purelin |
Функция активации с жесткими ограничениями |
|
radbas |
Радиальная базисная функция активации |
|
Performance |
Функции оценки качества сети |
|
mse |
Среднеквадратичная погрешность |
|
Signals |
Преобразование данных |
|
ind2vec |
Преобразование индексного вектора в матрицу связности |
|
vec2ind |
Преобразование матрицы связности в индексный вектор |
|
Demonstrations |
Демонстрационные примеры |
|
demorb1 |
Радиальные базисные сети |
|
demorb3 |
Пример неперекрывающихся функций активации |
|
demorb4 |
Пример перекрывающихся функций активации |
|
demogrn1 |
Сеть GRNN и аппроксимация функций |
|
demopnn1 |
Сеть PNN и классификация векторов |
нейронный сеть рекуррентный элман
5. Рекуррентные сети
Бывают 2 типа рекуррентных нейронных сетей, представляющих наибольший интерес для пользователей, - это класс сетей Элмана (Elman) и класс сетей Хопфилда (Hopfield). Характерной особенностью архитектуры рекуррентной сети является наличие блоков динамической задержки и обратных связей. Это позволяет таким сетям обрабатывать динамические модели.
5.1 Нейронная сеть (Элмана)
Нейронная сеть Элмана -- один из видов рекуррентной сети, состоящая из двух слоев в которой скрытый слой охвачен динамической обратной связью получаемого из многослойного перцептрона введением обратных связей, только связи идут не от выхода сети, а от выходов внутренних нейронов. Это позволяет учесть предысторию наблюдаемых процессов и накопить информацию для выработки правильной стратегии управления. Эти сети могут применяться в системах управления движущимися объектами, так как их главной особенностью является запоминание последовательностей.
На основе сети Элмана строится нейронная сеть класса RAAM, которая по своей структуре повторяет элмановскую. RAAM (Рекурсивная авто-ассоциативная память) -- это двойная сеть Элмана вида 2N-N-2N, которую используют для сжатия и шифрования информации. На вход сети подаётся битовый сигнал из 2N битов. Обычно сеть имеет размер 20-10-20, первые 10 бит называются «левыми», вторые 10 бит -- «правыми». В самом начале на левую матрицу подаётся нулевой вектор бит (0000000000), а на правую -- код символа или предложения (например, 0010000000="А"). То же самое подаётся на выходные матрицы. Методом обратного распространения ошибки сеть обучается. Затем 10 бит из скрытого слоя передаются на левую входную матрицу, а на правую поступает очередной символ. В процессе такого рекурсивного обучения информация сжимается и шифруется, что было применено на практике французским профессором Томасом Вёгтленом в 2002 году в работе «Neural Networks and Self-Reference».
Архитектура сети
Рис. 5
Нейронная сеть Элмана в Matlab.
По команде help elman можно получить следующую информацию об М-функциях, входящих в состав ППП Neural Network Toolbox и относящихся к построению сетей Элмана:
Таблица 5
Elman recurrent networks |
Рекуррентные сети Элмана |
|
New networks |
Формирование сети |
|
newelm |
Создание сети Элмана |
|
Using networks |
Работа с сетью |
|
sim init adapt train |
Моделирование Инициализация Адаптация Обучение |
|
Weight functions |
Функции взвешивания |
|
dotprod ddotprod |
Скалярное произведение Производная скалярного произведения |
|
Net input functions |
Функции накопления |
|
netsum dnetsum |
Сумма взвешенных входов Производная суммы взвешенных входов |
|
Transfer functions |
Функции активации |
|
purelin tansig logsig dpurelin dtansig dlogsig |
Линейная Гиперболический тангенс Логистическая Производная линейной функции Производная гиперболического тангенса Производная логистической функции |
|
Performance functions |
Функции оценки качества сети |
|
mse msereg dmse dmsereg |
Среднеквадратичная ошибка обучения Среднеквадратичная ошибка обучения при применении регуляризации Производная среднеквадратичной ошибки обучения Производная среднеквадратичной ошибки обучения при применении регуляризации |
|
Initialization functions |
Функции инициализации сети |
|
initlay initnw |
Послойная инициализация Функция NW (Nguyen - Widrow) |
|
Learning functions |
Функции настройки параметров |
|
learngd learngdm |
Функция настройки методом градиентного спуска Функция настройки методом градиентного спуска с возмущением |
|
Adapt functions |
Функции адаптации |
|
adapt |
Адаптация весов и смещений |
|
Training functions |
Функции обучения |
|
traingd traingdm traingda |
Градиентный спуск по правилу обратного распространения ошибки Градиентный спуск с возмущением Градиентный спуск с адаптацией параметра скорости настройки |
|
Demonstrations |
Демонстрационные примеры |
|
appelm1 |
Пример рекуррентной сети Элмана |
5.2 Нейронная сеть (Хопфилда)
Нейромнная сеть Хопфилда -- полносвязная нейронная сеть с симметричной матрицей связей. В процессе работы динамика таких сетей сходится (конвергирует) к одному из положений равновесия. Эти положения равновесия являются локальными минимумами функционала, называемого энергией сети (в простейшем случае -- локальными минимумами отрицательно определённой квадратичной формы на n-мерном кубе). Такая сеть может быть использована как автоассоциативная память, как фильтр, а также для решения некоторых задач оптимизации. В отличие от многих нейронных сетей, работающих до получения ответа через определённое количество тактов, сети Хопфилда работают до достижения равновесия, когда следующее состояние сети в точности равно предыдущему: начальное состояние является входным образом, а при равновесии получают выходной образ.
Архитектура сети
Рис. 6
Нейронная сеть Хопфилда в Matlab.
По команде help hopfield можно получить следующую информацию об М-функциях, входящих в состав ППП Neural Network Toolbox и относящихся к построению модифицированных сетей Хопфилда:
Таблица 6
Hopfield recurrent networks |
Рекуррентная модифицированная сеть Хопфилда |
|
New networks |
Формирование сети |
|
newhop |
Создание модифицированной сети Хопфилда |
|
Weight functions |
Операции с весовой функцией |
|
dotprod |
Скалярное произведение |
|
Net input functions |
Операции над входами |
|
netsum |
Суммирование |
|
Transfer functions |
Функции активации |
|
satlins |
Симметричная линейная функция с ограничениями |
|
Demonstrations |
Демонстрационные примеры |
|
demohop1 demohop2 demohop3 demohop4 |
Пример двумерной модифицированной сети Хопфилда Пример неустойчивой точки равновесия Пример трехмерной модифицированной сети Хопфилда Пример устойчивых паразитных точек равновесия |
Цель программы
Сеть Элмана. Исследуется на примере такой задачи детектирования амплитуды гармонического сигнала. Пусть известно, что на вход нейронной сети поступают выборки из некоторого набора синусоид. Требуется выделить значения амплитуд этих синусоид.
6. Код программы
%Требуется выделить значения амплитуд этих синусоид.
%Далее рассматриваются выборки из набора двух синусоид с амплитудами 1.0 и 2.0:
p1 = sin(1:20);
p2 = sin(1:20)*2;
%Целевые выходы сети являются векторы
t1 = ones(1,20);
t2 = ones(1,20)*2;
%Сформированный набор векторов входа и целевых выходов
p = [p1 p2 p1 p2];
t = [t1 t2 t1 t2];
%Сформирование обучающих последовательностей в виде массивов ячеек:
Pseq = con2seq(p);
Tseq = con2seq(t);
R = 1; % Число элементов входа
S2 = 1;% Число нейронов выходного слоя
S1 = 10; % Число нейронов рекуррентного слоя
net = newelm([-2 2],[S1 S2],{'tansig','purelin'},'traingdx');
%Обучение сети
net.trainParam.epochs = 1000; %Максимальное количество эпох тренировки;
net.trainParam.show = 25; %Количество эпох между графиками;
net.trainParam.goal = 0.01; %Условие остановки по отклонению от эталона;
[net,tr] = train(net,Pseq,Tseq); % Pseq и Tseq входные элементы
%Проверка сети
%1 тестирование
figure(2)
a = sim(net,Pseq);
time = 1:length(p);
plot(time, t, '--', time, cat(2,a{:}))
axis([1 80 0.8 2.2]) % график 1
%2 тестирование
p3 = sin(1:20)*1.6;
t3 = ones(1,20)*1.6;
p4 = sin(1:20)*1.2;
t4 = ones(1,20)*1.2;
pg = [p3 p4 p3 p4];
tg = [t3 t4 t3 t4];
pgseq = con2seq(pg);
figure(3)
a = sim(net,pgseq);
ime = 1:length(pg);
plot(time, tg, '--', time, cat(2,a{:}))
axis([1 80 0.8 2.2]) % график 2
Тестирование программы
Рис. 7
Рис. 8
Рис. 9
Рис. 10 График 1
Рис. 11 График 2
Итоги программы
Как следует из анализа графика 1, сеть справляется с решением задачи детектирования амплитуды на наборах обучающего множества. Однако неясно, как она будет вести себя на других наборах входа, поэтому мы подадим на сеть набор сигналов, составленный из двух синусоид с амплитудами 1.6 и 1.2 соответственно. Потом посмотрим, обладает ли построенная сеть Элмана свойством обобщения.
На графике 2 мы видим, что сеть хуже справляется с задачей. Сеть стремится детектировать значение амплитуды, но делает это не очень точно. Улучшенное обобщение могло быть получено, обучая сеть на большее количество амплитуд, чем только на значения 1.0 и 2.0. Использование трех или четырех гармонических сигналов с различными амплитудами может привести к намного лучшему датчику амплитуд.
Заключение
Развитие нейронных сетей вызвало немало энтузиазма и критики. Некоторые сравнительные исследования оказались оптимистичными, другие - пессимистичными. Для многих задач, таких как распознавание образов, пока не создано доминирующих подходов. Нужно пытаться понять возможности, предпосылки и область применения различных подходов и максимально использовать их дополнительные преимущества для дальнейшего развития интеллектуальных систем. Множество надежд в отношении нейронных сетей сегодня связывают именно с аппаратными реализациями, но пока время их массового выхода на рынок, видимо, еще не пришло. Они или выпускаются в составе специализированных устройств, или достаточно дороги, а зачастую и то и другое. На их разработку тратится значительное время, за которое программные реализации на самых последних компьютерах оказываются лишь на порядок менее производительными, что делает использование нейропроцессоров нерентабельным. Но все это только вопрос времени -- нейронным сетям предстоит пройти тот же путь, по которому еще совсем недавно развивались компьютеры, увеличивая свои возможности и производительность, захватывая новые сферы применения по мере возникновения новых задач и развития технической основы для их разработки.
Сегодня нейронные сети используются для работы в относительно узких областях, и неизвестно, доверят ли им когда-нибудь решение вопросов, которые требуют понимания социального контекста. Между тем нейронные сети уверенно продолжают проникать в нашу жизнь, и примеров тому немало.
Список используемой литературы
1) Медведев В.С. Нейронные сети. MATLAB 6 / В.С. Медведев, В.Г. Потёмкин // М: Диалог-МИФИ. - 2008
2) Хайкин С. Нейронные сети - полный курс 2006
3) Уоссермен Ф. - Нейрокомпьютерная техника. Теория и практика
4) Круглов, Борисов - Искусственные нейронные сети. Теория и практика, 2012
5) Гольдштейн Б.С. - Интеллектуальные сети, 2010
6) Смоленцев - Основы теории вейвлетов в MatLab
Размещено на Allbest.ru
Подобные документы
Способы применения технологий нейронных сетей в системах обнаружения вторжений. Экспертные системы обнаружения сетевых атак. Искусственные сети, генетические алгоритмы. Преимущества и недостатки систем обнаружения вторжений на основе нейронных сетей.
контрольная работа [135,5 K], добавлен 30.11.2015Технологии решения задач с использованием нейронных сетей в пакетах расширения Neural Networks Toolbox и Simulink. Создание этого вида сети, анализ сценария формирования и степени достоверности результатов вычислений на тестовом массиве входных векторов.
лабораторная работа [352,2 K], добавлен 20.05.2013Особенности нейронных сетей как параллельных вычислительных структур, ассоциируемых с работой человеческого мозга. История искусственных нейронных сетей как универсального инструмента для решения широкого класса задач. Программное обеспечение их работы.
презентация [582,1 K], добавлен 25.06.2013Рост активности в области теории и технической реализации искусственных нейронных сетей. Основные архитектуры нейронных сетей, их общие и функциональные свойства и наиболее распространенные алгоритмы обучения. Решение проблемы мертвых нейронов.
реферат [347,6 K], добавлен 17.12.2011Преимущества и недостатки нейронных сетей с радиальными базисными функциями (РБФ). Функции newrbe и newrb для построения РБФ общего вида и автоматической настройки весов и смещений. Пример построения нейронной сети с РБФ в математической среде Matlab.
лабораторная работа [238,7 K], добавлен 05.10.2010Описание технологического процесса напуска бумаги. Конструкция бумагоделательной машины. Обоснование применения нейронных сетей в управлении формованием бумажного полотна. Математическая модель нейрона. Моделирование двух структур нейронных сетей.
курсовая работа [1,5 M], добавлен 15.10.2012Понятие и свойства искусственных нейронных сетей, их функциональное сходство с человеческим мозгом, принцип их работы, области использования. Экспертная система и надежность нейронных сетей. Модель искусственного нейрона с активационной функцией.
реферат [158,2 K], добавлен 16.03.2011Анализ применения нейронных сетей для прогнозирования ситуации и принятия решений на фондовом рынке с помощью программного пакета моделирования нейронных сетей Trajan 3.0. Преобразование первичных данных, таблиц. Эргономическая оценка программы.
дипломная работа [3,8 M], добавлен 27.06.2011Общие сведения о принципах построения нейронных сетей. Искусственные нейронные системы. Математическая модель нейрона. Классификация нейронных сетей. Правила обучения Хэбба, Розенблатта и Видроу-Хоффа. Алгоритм обратного распространения ошибки.
дипломная работа [814,6 K], добавлен 29.09.2014Понятие искусственного нейрона и искусственных нейронных сетей. Сущность процесса обучения нейронной сети и аппроксимации функции. Смысл алгоритма обучения с учителем. Построение и обучение нейронной сети для аппроксимации функции в среде Matlab.
лабораторная работа [1,1 M], добавлен 05.10.2010