Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


Аппроксимация функции с использованием нейронных сетей

Тип Реферат
Предмет Информатика и программирование
Просмотров
906
Размер файла
373 б
Поделиться

Ознакомительный фрагмент работы:

Аппроксимация функции с использованием нейронных сетей

Министерство образования и науки Российской Федерации Федеральное агентство по образованию

Амурский гуманитарно-педагогический государственный университет

Физико-математический факультет

ЛАБОРАТОРНАЯ РАБОТА №1

по дисциплине «Искусственные нейронные сети» на тему «Аппроксимация функции с использованием нейронных сетей»

2007


Содержание

Введение

1Теоретические сведения

2Методика выполнения лабораторной работы

3Контрольные вопросы

Заключение

Список использованных источников


Введение

Цель лабораторной работы:

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

Задание: В среде Matlab необходимо построить и обучить нейронную сеть для аппроксимации таблично заданной функции , i=1,20. Разработать программу, которая реализует нейросетевой алгоритм аппроксимации и выводит результаты аппроксимации в виде графиков.


1 Теоретические сведения

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

Нейрон является составной частью нейронной сети. Общая структура:

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

Математическая модель нейрона:

где S – результат суммирования (sum); ω(i) – вес (weight) синапса, i=1,n; x – компонент входного вектора (входной сигнал), i=1,n; b – значение смещения (bias); n – число входов нейрона; у – выходной сигнал нейрона; f – нелинейное преобразование (функция активации).

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

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

На входной сигнал S нелинейный преобразователь отвечает выходным сигналом f(S), который представляет собой выход у нейрона.

Примеры активационных функций:

Примеры активационных функций:

а) функция единичного скачка; б) линейный порог (гистерезис); в) сигмоид (логистическая функция); г) сигмоид (гиперболический тангенс).

Одной из наиболее распространенных является нелинейная функция активации, так называемая логистическая функция, или сигмоид (функция S – образного вида):

При уменьшении а сигмоид становится более пологим, в пределе при а=0 вырождаясь в горизонтальную линию на уровне 0,5, при увеличении а сигмоид приближается к виду единичного скачка с порогом θ. Очевидно, что выходное значение нейрона лежит в диапазоне (0,1). Одно из ценных свойств сигмоидальной функции – простое выражение ее производной:

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

2 Методика выполнения лабораторной работы

Задача. В среде Matlab необходимо построить и обучить нейронную сеть для аппроксимации таблично заданной функции yi=f(xi)=[2.09 2.05 2.19 2.18 2.17 2.27 2.58 2.73 2.82 3.04 3.03 3.45 3.62 3.85 4.19 4.45 489 5.06 5.63 5.91], i=1,20.

В математической среде Matlab создаем новый M-File, в котором записываем код программы создания и обучения нейронной сети с использованием встроенных функций пакета сетей NeuralNetwworksToolbox.

Для решения воспользуемся функцией newff(.) – создание «классической» многослойной НС с обучением по методу обратного распространения ошибки.

P = zeros(1,20);

fori = 1:20 %создание массива

P(i) = i*0.1; %входные данные (аргумент)

end

T=[2.09 2.05 2.19 2.18 2.17 2.27 2.58 2.73 2.82 3.04 3.03 3.45 3.62 3.85 4.19 4.45 489 5.06 5.63 5.91]; %входные данные (значение функции)

net = newff([-1 2.09],[5 1],{'tansig' 'purelin'}); %создание нейронной сети

net.trainParam.epochs = 100; %задание числа эпох обучения

net=train(net,P,T); %обучениесети

y = sim(net,P); %опрос обученной сети

figure (1);

hold on;

xlabel ('P');

ylabel ('T');

plot(P,T,P,y,'o'),grid; %прорисовка графика исходных данных и функции, сформированной нейронной сетью

Результат работы нейронной сети:

3 Контрольные вопросы

1. Дайте определение «нейрона». Нейрон – базовый элемент нейронных сетей. Имеет входы, снабженные весами, смещение, симулирующий элемент и входную активационную функцию. Является аналогом биологического нейрона. Нейрон выполняет функцию адаптивного сумматора с варьируемыми входными весовыми коэффициентами, суммарный вход, сигнал которого подвергается линейной или нелинейной обработке, образуя итоговый входной сигнал.

Нейрон является составной частью нейронной сети. На рис. показан вариант представления его структуры.

2 Что Вы понимаете под обучением нейронной сети? Очевидно, что процесс функционирования НС, то есть сущность действий, которые она способна выполнять, зависит от величин синаптических связей, поэтому, задавшись определенной структурой НС, отвечающей какой-либо задаче, разработчик сети должен найти оптимальные значения всех переменных весовых коэффициентов (некоторые синаптические связи могут быть постоянными).

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

3. Что такое «обучающее множество»? Работа сети протекает в два этапа. На первом из них происходит ее обучение. Для этого с помощью экспериментов или их программныхимитаторов формируется обучающее множество {Vin; Vout} котороепредставляет собой набор пар входного и соответствующего выходного векторов. Размер обучающего множества (количество пар) зависит от сложности анализируемого отображения и общего числа слоев и нейронов на них. Входные вектора включают непосредственно наблюдаемые величины(показания приборов или их комбинации), а выходные – физические характеристики процесса, которые требуется определить в результате анализа (типы частиц, их заряды, скорости и т.д.). В начале обучения значения w НС инициируются небольшими случайными значениями и на ее вход по очереди подаются значения входных векторов из обучающего множества. Порядок следования векторов определяется случайным образом, чтобы предотвратить "привыкания" сети к их фиксированной последовательности. С помощью нелинейного преобразования значений uj каждого из нейронов входного слоя и величин wji формируются значения ui

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

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

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

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

Второй этап представляет собой непосредственную работу обученной НС по анализу физической информации.

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

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

Рассмотрим алгоритм обучения с учителем.


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

Рассмотрим более подробно алгоритм обучения НС с учителем для однослойной нейронной сети, примером которой является однослойный перестрой.

1)Проинициализировать элементы весовой матрицы (обычно небольшими случайными значениями).

2)Подать на входы один из входных векторов, которые сеть должна научиться различать, и вычислить ее выход.

3)Если выход правильный, перейти на шаг 4.

Иначе вычислить разницу между идеальным уци полученным у значениями выхода:

Модифицировать веса в соответствии с формулой


где t и t+1 - номера соответственно текущей и следующей итераций; η - коэффициент скорости обучения, 0< η <1; i- номер входа; j - номер нейрона в слое.

Очевидно, что, если уц > у , весовые коэффициенты будут увеличены и тем самым уменьшат ошибку. В противном случае они будут уменьшены, и у тоже уменьшится, приближаясь к уц.

4) Цикл с шага 2, пока сеть не перестанет ошибаться.

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

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

5. Что такое аппроксимация функции? Аппроксимация заключается в том, что используя имеющуюся информацию по f(x) можно рассмотреть другую функцию ?(x) близкую в некотором смысле к f(x), позволяющую выполнить над ней соответствующие операции и получить оценку погрешность такой замены.

?(х)- аппроксимирующая функция.

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

Результат аппроксимации может не проходить через узловые точки. Напротив, задача интерполяции — найти данные в окрестности узловых точек. Для этого используются подходящие функции, значения которых в узловых точках совпадают с координатами этих точек.

6. Какие функции в среде МаtLab используются для создания нейронной сети? Функции создания новой сети.

* network - создание нейронной сети пользователя.

Запись:

net=network

net==nehvork(numlnputs, nutnLayers, biasConncct, inputCormect, layerConnect, outputConnect, targetConnect)

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

numlnputs– количество входов (0)

numLayers– количество слоев (0),

biasConnect- булевский вектор с числом элементов, равным количеству слоев (нули),

inputConnect– булевская матрица с числом строк, равным количеству слоев и числом строк, равным количеству входов (нули),

layerConnect– булевская матрица с числом строк и столбцов, равным количеству слоев (нули),

outputConnect– булевский вектор – строка с числом элементов, равным количеству слоев (нули),

targetConnectвектор – строка, такая же как предыдущая.

* newc– создание конкурентного слоя

net=newc(PR, S, KLR, CLR) функция создания слоя Кохонена.

Аргументы функции:

PR – Rx 2 матрица минимальных и максимальных значений для Rвходных элементов,

Sчисло нейронов,

KLRкоэффициент обучения Кохонена (по умолчанию 0.01)

CLRкоэффициент «справедливости» (по умолчанию 0.001).

* newcf- создание каскадной направленной сети

net=newcf(PR, [SIS2...SNI], {TF1 TF2...TFNI}, BTF, BLF, PF) – функция создания разновидности многослойной нейронной сети с обратным распространением ошибки – так называемой каскадной нейронной сети. Такая сеть содержит скрытых NIслоев, использует входные функции типа dotprodи netsum, инициализация сети осуществляется функциейinitnw.

Аргументы функции:

PR - Rx2 матрица минимальных и максимальных значений для R входных элементов,

Si– размер i – го скрытого слоя, для N1 слоев,

TFi– функция активации нейронов i – го слоя, по умолчанию 'tansig',

BTF– функция обучения сети, по умолчанию'trained',

BLF– функция настройки весов и смещения, по умолчанию 'learngdm',

PF– функция ошибки, по умолчанию 'mse'.

* newclm– создания сети обратного распространения Элмана (Elman)

net=neweIm(PR, [SIS2...SNI], {TFITF2...TFN1}, BTF, BLF, PF) – функция создания сети Элмана. Аргументы такие же, как и у предыдущей функции.

* newff– создание однонаправленной сети

net=newff(PR, [SIS2...SNI], {TFITF2...TFNI}, BTF, BLF, PF) – функция создания «классической» многослойной нейронной сети с обучением по методу обратного распространения ошибки.

* newfftd– создание однонаправленной сети с входными задержками

net=newfftd(PR, ID, [SIS2...SNI], {TFITF2...TFNI}, BTF, BLF,PF) – то же, что и предыдущая функция, но с наличием задержек по входам. Дополнительный аргумент ID – вектор входных задержек.


Заключение

В ходе выполнения данной лабораторной работы я построила и обучила нейронную сеть для аппроксимации таблично заданной функции , i=1,20 в среде Matlab. Разработала программу, которая реализует нейросетевой алгоритм аппроксимации и выводит результаты аппроксимации в виде графиков.

Для решения использовала функцию newff(.) – создание «классической» многослойной НС с обучением по методу обратного распространения ошибки.


Список использованных источников

1. О.С. Амосов

2. О.С. Амосов «Интеллектуальные информационные системы. Нейронные сети и нечеткие системы»: Учеб. Пособие. - Комсомольск-на-Амуре: ГОУВПО «КнАГТУ», 2004. -104 с.


Нет нужной работы в каталоге?

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

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован

avatar
Математика
История
Экономика
icon
159599
рейтинг
icon
3275
работ сдано
icon
1404
отзывов
avatar
Математика
Физика
История
icon
156450
рейтинг
icon
6068
работ сдано
icon
2737
отзывов
avatar
Химия
Экономика
Биология
icon
105734
рейтинг
icon
2110
работ сдано
icon
1318
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
63 457 оценок star star star star star
среднее 4.9 из 5
Тгу им. Г. Р. Державина
Реферат сделан досрочно, преподавателю понравилось, я тоже в восторге. Спасибо Татьяне за ...
star star star star star
РЭУ им.Плеханово
Альберт хороший исполнитель, сделал реферат очень быстро, вечером заказала, утром уже все ...
star star star star star
ФЭК
Маринаааа, спасибо вам огромное! Вы профессионал своего дела! Рекомендую всем ✌🏽😎
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

решить 6 практических

Решение задач, Спортивные сооружения

Срок сдачи к 17 дек.

только что

Задание в microsoft project

Лабораторная, Программирование

Срок сдачи к 14 дек.

только что

Решить две задачи №13 и №23

Решение задач, Теоретические основы электротехники

Срок сдачи к 15 дек.

только что

Решить 4задачи

Решение задач, Прикладная механика

Срок сдачи к 31 дек.

только что

Выполнить 2 задачи

Контрольная, Конституционное право

Срок сдачи к 12 дек.

2 минуты назад

6 заданий

Контрольная, Ветеринарная вирусология и иммунология

Срок сдачи к 6 дек.

4 минуты назад

Требуется разобрать ст. 135 Налогового кодекса по составу напогового...

Решение задач, Налоговое право

Срок сдачи к 5 дек.

4 минуты назад

ТЭД, теории кислот и оснований

Решение задач, Химия

Срок сдачи к 5 дек.

5 минут назад

Решить задание в эксель

Решение задач, Эконометрика

Срок сдачи к 6 дек.

5 минут назад

Нужно проходить тесты на сайте

Тест дистанционно, Детская психология

Срок сдачи к 31 янв.

6 минут назад

Решить 7 лабораторных

Решение задач, визуализация данных в экономике

Срок сдачи к 6 дек.

7 минут назад

Вариационные ряды

Другое, Статистика

Срок сдачи к 9 дек.

8 минут назад

Школьный кабинет химии и его роль в химико-образовательном процессе

Курсовая, Методика преподавания химии

Срок сдачи к 26 дек.

8 минут назад

Вариант 9

Решение задач, Теоретическая механика

Срок сдачи к 7 дек.

8 минут назад

9 задач по тех меху ,к 16:20

Решение задач, Техническая механика

Срок сдачи к 5 дек.

9 минут назад
9 минут назад
10 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

Размещенные на сайт контрольные, курсовые и иные категории работ (далее — Работы) и их содержимое предназначены исключительно для ознакомления, без целей коммерческого использования. Все права в отношении Работ и их содержимого принадлежат их законным правообладателям. Любое их использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие в связи с использованием Работ и их содержимого.

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно