русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2014-11-28; просмотров: 4166; Нарушение авторских прав


 

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

 

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

 

Варианты заданий

Значения , – одинаковые для всех вариантов.

 

Таблица 3.1

i Значение
№1 №2 №3 №4 №5 №6 №7 №8 №9 №10
2.05 1.94 1.92 1.87 1.77 1.88 1.71 1.60 1.56 1.40 1.50 1.26 0.99 0.97 0.91 0.71 0.43 0.54 0.19 0.01 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 4.89 5.06 5.63 5.91 2.02 1.98 1.67 1.65 1.57 1.42 1.37 1.07 0.85 0.48 0.35 -0.30 -0.61 -1.20 -1.39 -1.76 -2.28 -2.81 -3.57 -4.06 1.99 2.03 2.20 2.39 2.19 2.61 2.35 2.60 2.55 2.49 2.50 2.52 2.44 2.35 2.26 2.19 2.24 2.34 1.96 2.19 2.23 2.29 2.27 2.62 2.72 2.82 3.13 3.49 3.82 3.95 4.22 4.48 5.06 5.50 5.68 6.19 6.42 7.04 7.57 8.10 2.07 2.17 2.21 2.31 2.10 2.09 2.12 1.63 1.78 1.52 1.16 1.07 0.85 0.56 0.10 -0.25 -0.65 -1.06 -1.66 -2.01 2.18 2.43 2.40 2.43 2.65 2.75 2.67 2.66 2.63 2.75 2.41 2.24 2.12 1.74 1.57 1.17 0.96 0.63 0.25 -0.01 -0.10 -0.21 0.01 0.05 -0.13 -0.23 -0.21 -0.43 -0.57 -0.44 -0.44 -0.83 -0.78 -0.81 -1.06 -1.41 -1.40 -1.70 -1.96 -1.91 -0.16 0.01 0.10 0.16 0.05 0.35 0.19 0.50 0.74 1.03 1.06 1.49 1.79 2.03 2.22 2.50 2.88 3.21 3.63 3.90 2.09 2.31 2.72 2.77 2.78 2.97 3.00 3.51 3.43 3.58 3.58 3.54 3.82 3.90 3.77 3.81 4.00 3.97 4.08 4.08

 



 

Пример выполнения:

 

Задача.В среде MATLAB необходимо построить и обучить нейронную сеть для аппроксимации таблично заданной функции =[2.07 2.17 2.21 2.31 2.10 2.09 2.12 1.63 1.78 1.52 1.16 1.07 0.85 0.56 0.10 -0.25 -0.65 -1.06 -1.66 -2.01]T, .

В математической среде MATLAB создаем новый M-File, в котором записываем код программы создания и обучения нейронной сети с использованием встроенных функций пакета нейронных сетей Neural Networks Toolbox:

 

P = zeros(1,20);% создание массива

for i = 1:20

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

End

T=[2.07 2.17 2.21 2.31 2.10 2.09 2.12 1.63 1.78 1.52 1.16 1.07 0.85 0.56 0.10 -0.25 -0.65 -1.06 -1.66 -2.01]% входные данные (значение функции)

net = newff([0.1 2],[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;

 

Результаты работы созданной нейронной сети представлены на рис. 6.1.

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

Выводы (пример):

 

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

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

1. Дайте определение «нейрона».

2. Что Вы понимаете под обучением нейронной сети?

3. Что такое «Обучающее множество»?

4. Объясните смысл алгоритма обучения с учителем.

5. Что называют аппроксимацией функции?

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

 



<== предыдущая лекция | следующая лекция ==>
Область кластеризации | Использование инструмента NNTool для построения нейронной сети


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.578 сек.