Мегаобучалка Главная | О нас | Обратная связь


Библиографический список



2018-07-06 387 Обсуждений (0)
Библиографический список 0.00 из 5.00 0 оценок




З А Д А Н И Е

На курсовой проект

студент Ставинский Дмитрий Александрович

дисциплина «Распределенные ПИС»

1. Тема проекта: Моделирование нейронной сети прямого распространения в среде R

2. Сроки сдачи законченного проекта «____»____________________20 г

 

3. Исходные данные к проекту:

а) Кабаков, Р.И. R в действии. Анализ и визуализация данных в программе R / пер. с

англ. Полины А. Волковой. – М.: ДМК Пресс, 2014. – 588 с.

б) Паклин, Н. Б. Бизнес - аналитика: от данных к знаниям (+СО): Учебное пособие /
Н. Б. Паклин, В. И. Орешков. - СПб.: Питер, 2013. - 704 с.

 

4. Перечень вопросов, подлежащих к разработке:

а) предобработка массива сырых данных

б) разработка программы R обучения ИНС в R

в) обработка и интерпретация результатов обучения ИНС

 

5. Перечень иллюстрированного материала:

а) графическая иллюстрация исходного массива данных

б скриншоты процесса обучения ИНС в R

в) интерпретация обработка и интерпретация результатов обучения ИНС

 

6. Дата выдачи задания «____»____________________20 г.

 

Научный руководитель_________________________/__________________/

(подпись) (Ф.И.О.)

Задание принял к исполнению______________________________________

(подпись студента)

 

ТОЛЬЯТТИ 2018 г.


минобрнауки россии

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

"ПОВОЛЖСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ сервиса"

(фгбоу впо "пвгус")

 

 

Кафедра "Информационный и электронный сервис"

 

Исполнитель

___________/_____________/

"____"_____________ 201 _г.

 

 

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовому проекту

 

 

Допущен к защите Защищен

Руководитель проекта с оценкой ____________

_________ /_______________/ _________ /________________/

"____"_____________ 201 __ г. "____"_____________ 201 __ г.

 



Содержание

Введение………………………………………………………………………………………5

1. Аналитический раздел………………………………………………………………..6

1.1. Цели и задачи работы.. 6

2. Технологический раздел……………………………………………………………...8

2.1. Анализ задачи. м8

2.2. Минимизация кода. 8

2.3. Firewall 11

2.4. Кеширование. 13

Заключение…………………………………………………………………………………..19

Библиографический список………………………………………………………………...20

 

 


Введение

В рамках данного курсового проекта необходимо смоделировать нейронную сеть
(далее НС) прямого распространения в среде R.

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

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

Моделирование будет происходить в среде R. R – одно из наиболее популярных современных программных средств для анализа данных и их визуализации. Это бесплатная программа с открытым кодом, предназначенная для операционных систем Windows, Mac OS X и Linux. Благодаря этой книге вы приобретете навыки, необходимые для того, чтобы овладеть этой многофункциональной программой и эффективно использовать ее для обработки ваших собственных данных.

R – это язык программирования и среда для статистических вычислений и графического анализа, сходный с языком S, первоначально разработанным в Белл Лабз (Bell Labs). Это программа для анализа данных с открытым кодом, которая поддерживается большим и активным исследовательским сообществом по всему миру. Однако существует много распространенных программ для статистической и графической обработки данных (таких как Microsoft Excel, SAS, IBM SPSS, Stata и Minitab).

У R есть много особенностей, которые позволяют рекомендовать именно его:

· R – это бесплатная программа;

· R – это мощная статистическая программа, в которой реализованы все способы анализа данных;

· R имеет современные графические возможности. Если вам нужно визуализировать сложные данные, то учтите, что в R реализованы самые разнообразные и мощные методы анализа данных из доступных;

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

· R представляет собой не имеющую аналогов платформу для простого написания программ, реализующих новые статистические методы;

· в R реализованы сложные статистические процедуры, еще недоступные в других программах. В R новые функции становятся доступными для скачивания еженедельно;

· если вы не хотите учить новый язык, существует множество графических пользовательских интерфейсов, в которых мощь R реализована в форме меню и диалогов;

· R работает на разных операционных системах, включая Windows, Unix и Mac OS X.

 

 


1. Аналитический раздел

1.1. Цели и задачи работы

Задачи курсовой осмотреть смоделировать НС прямого распространения в среде R.

Требуется смоделировать НС прямого распространения.

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

Структура НС прямого распространения показана на рисунке 1.

Рис. 1. Структура нейронной сети прямого распространения с десятью нейронами

На рисунке 1 представлены I1-I2 – входы сети, H1-H10 – скрытый слой нейронов, O1-O3 – выходы сети, B1-B2 - смещения.

Нейроны в сетях такого типа делятся на группы – слои, при этом на каждый нейрон первого слоя подаются все элементы входного сигнала, а все выходы нейронов q-го слоя подаются на каждый нейрон слоя (q+1).

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

 

Выходные функции нейронной сети, приведенной на рис.1, имеют вид:

а общее число ее весовых коэффициентов равно

где – функции активации нейронов скрытого и выходного слоев соответственно;
xi – входы; hi – нейроны скрытого слоя; yi – выходы; wij, αh, αk – весовые коэффициенты и смещения нейронов; nx, ny – число входов и выходов; nh – число нейронов в скрытом слое.

Требуется cмоделировать в среде R.

R – это язык программирования и среда для статистических вычислений и графического анализа, сходный с языком S, первоначально разработанным в Белл Лабз (Bell Labs). Это программа для анализа данных с открытым кодом, которая поддерживается большим и активным исследовательским сообществом по всему миру. Однако существует много распространенных программ для статистической и графической обработки данных (таких как Microsoft Excel, SAS, IBM SPSS, Stata и Minitab).

R – это чувствительный к регистру клавиатуры интерпретируемый язык программирования. Команды можно вводить в окне команд по одной в ответ на приглашение на ввод команды (>), либо запускать набор команд из загруженного файла сценария. Типы данных очень разнообразны: векторы, матрицы, таблицы данных и списки (совокупность нескольких объектов) и др.

Для удобства работы с R разработан ряд графических интерфейсов, в том числе RStudio, JGR, RKWard, SciViews-R, Statistical Lab, R Commander, Rattle.

Решено использовать следующее программное обеспечение:

CRAN (Comprehensive R Archive Network) — комплект разработчика приложений на языке R, включающий в себя компилятор R и дополнительные пакеты.

RStudio — свободная среда разработки программного обеспечения с открытым исходным кодом для языка программирования R, который предназначен для статистической обработки данных и работы с графикой.

 

 


2. Технологический раздел

2.1. Анализ задачи

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

Для достижения поставленной цели нужно решить следующие задачи:

Обучить нейронную сеть на множестве учебных образцов и удостовериться в качественности процесса обучения.

Классифицировать неизвестные образцы обученной НС и интерпретировать результаты классификации.

Инсталляция программы R включает небольшой пакет расширения nnet для моделирования НС прямого распространения с одним скрытым слоем, реализующий функции class.ind(), multinom(), nnet(), nnetHess(), predict.nnet(), which.is.max(), который позволяет создать и обучить НС с заданным числом нейронов в скрытом слое, а затем, пользуясь функцией predict(), протестировать качество обучения и применить обученную НС для классификации неизвестных образцов.

Работоспособность пакета nnet поддерживается файлом nnet.dll библиотеки динамической компоновки Windows. В частности, функция nnet() экспортирует из файла nnet.dll функции VR_set_net, VR_dovm, VR_nntest, VR_unset_net, а функция predict.nnet() - функции VR_set_net, VR_nntest, VR_unset_net, которые собственно и реализуют алгоритмы создания и обучения нейронной сети, а также классификацию ею неизвестных образцов.

В программе моделирования и визуализации результатов классификации данных НС nnet используется выборка Фишера из цветков ириса (пакет datasets базовой инсталляции R). Выборка содержит по 50 цветков ирисов классов setosa, vensicolor и virginica, характеризуемых четырьмя атрибутами: длина SL и ширина SW чашелистника, длина PL и ширина PW лепестка. Частое использование этой выборки специалистами по НС обусловлено рядом ее особенностей:

1) два главных компонента этой выборки объясняют 95% дисперсии,

2) класс setosa линейно отделен в 4-мерном входном пространстве от классов vensicolor и virginica,

3) классы vensicolor и virginica частично перекрываются.

Идея создаваемой компьютерной модели состоит в следующем. НС прямого распространения с neu нейронами в скрытом слое обучается двумерной выборкой данных ir. Затем генерируется случайная выборка неизвестных образцов путем добавления к координатам n учебных образцов аддитивной случайной добавки небольшой амплитуды. Естественно, что чем меньше амплитуда этой случайной добавки, тем больше фоновые образцы будут «похожи» на порождающие их исходные образцы, и наоборот. Неизвестные образцы подаются на вход обученной нейронной сети и классифицируются ею.

 

2.2. Разработка программы

Исходя из поставленной выше задачи, нам необходимо подключить библиотеку nnet. Это делается следующей командой: library(nnet).

В данной библиотеке существует классификация данных НС под названием iris. Данная выборка содержит строчки 1-50 для цветков ириса setosa, 51-100 для цветков ириса vensicolor и 101-150 для цветков ириса virginica. Каждый цветок определен 4 характеристиками: Sepal.Length (длина чашелистника), Sepal.Width (ширина чашелистника), Petal.Length (длина лепестка), Petal.Width(ширина лепестка).

Рис. 2. Выборка iris

Функции head() позволяет быстро просмотреть несколько первых значений каждой переменной, входящей в состав таблицы данных. Для просмотра несколько последних используется tail().

Из данной выборки оставим только 2 характеристики: Petal.Length (длина лепестка), Petal.Width(ширина лепестка). Для этого создаем выборку ir и присваиваем выборку 3-5 столбцов. Получим следующую команду ir <- iris[,3:5].

Определим количество полученных учебных образцов с помощью команды dim(ir)[1].

Получим число 150, как и предполагалось. Теперь сохраним значение в переменную n.

n <- dim(ir)[1]

Зададим число нейронов в скрытом слое в количестве 15 с помощью команды neu <- 15.

В переменную lim мы сохраним уровень опознавания НС равную 0.7.

Переменные n, neu и lim нам понадобятся в будущем, поэтому мы запомнили в виде единичного вектора. Будем считать их константами.

Приступим к построению графика с помощью функции plot().

plot(ir[1:50,1],ir[1:50,2],cex=1.0,pch=17,xlab="PL",ylab="PW",xlim=c(0,8),ylim=c(0,3),col=rgb(0,0,0))

Функция plot() – главная "рабочая лошадка", используемая для построения графиков в R. Поведение этой функции высокого уровня определяется классом объектов, указываемых в качестве ее аргументов. Соответственно, с помощью plot() можно создать очень большой набор разнотипных графиков.

Первые два параметра определяют значения для x и y.

Параметр cex задает размер маркеров. По умолчанию равен 1. Уменьшение или увеличение этого параметра приводит к соответствующим пропорциональным изменениям размера символов.

Параметр pch позволяет изменить тип символов, используемых для отображения наблюдений. В стандартных случаях этот аргумент принимает численные значения от 1 до 25. Таблица представлена на рисунке 3.

Рис. 3. Таблица стандартных маркеров и соответствующие им численные коды

 

Набор стандартных маркеров может быть значительно расширен в случае, когда аргумент pch используется в комбинации с другим аргументом – font, задающим шрифт символов. Параметр pch может при этом принимать любое целое число от 1 до 128 и от 160 до 254.

Параметры xlab и ylab служат для изменения названий осей X и Y соответственно.

Параметры xlim и ylim контролируют размах значений на каждой из осей графика.

Параметр col позволяет задать цвет любого графического объекта. Параметр может быть задан несколькими способами:

1) по названию цвета, например: col = "red". Всего в R имеется 675 стандартных цветов. Их названия доступны по команде colors();

2) путем непосредственного указания красного, зеленого и синего компонентов RGB спектра, например: "#RRGGBB" или rgb(0,0,0);

3) по численному коду, например: col = 1 (черный), col = 2 (красный), col = 3 (зеленый).

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

points(ir[51:100,1],ir[51:100,2],cex=1.0,pch=17,col=rgb(0,0.5,0))

points(ir[101:150,1],ir[101:150,2],cex=1.0,pch=17,col=rgb(1,0,0))

Функция points() – дочерняя функция от plot(). Данная функция использует существующий график и добавляет в него свои элементы, а именно точки распределения.

Определим количество

targets <- class.ind(c(rep("setosa", 50),rep("versicolor",50), rep("virginica",50)))

Функция class.ind генерирует функцию индикатора класса из заданного множителя, затем сохраняем в переменную с именем targets. Результат выполнения функции представлен на рисунке 4.

Рис. 4. Результат функции class.ind

 

Теперь приступим к обучению самой нейронной сети. Так как нам необходимо смоделировать НС прямого распространения – нам необходимо использовать функцию nnet.

Функция nnet – функция для нейронная сеть с одним скрытым слоем или другими словами: нейронная сеть прямого распределения.

learn <- nnet(ir[,1:2], targets, size = neu, rang=0.4, decay=0.001, maxit=2000)

Первое это значение X.

Далее идет формула, а именно индикатор класса заданного множителя.

Переменная size – это число нейронов в скрытом слое. Мы заранее ее определили в количестве 15.

Переменная rang – максимальный разброс вправо или влево.

Переменная decay – погрешность.

Переменная maxit – максимальное количество итераций.

 

 

Заключение

В рамках данного курсового проекта необходимо было разработать клиент-серверного приложение с сервером приложений на платформе Java.

Для проверки методов по сокращению нагрузки на сеть у клиент-серверного приложения был использован веб-калькулятор. Он написан на языке Java и размещается на TomCat-е.

Для увеличения скорости загрузки страницы применяются методы: уменьшение размера кода (минимизация кода) После проведения минимизации скорость сборки и прогрузки страницы увеличилась, из минусов можно вынести, что при таком методе читать код становится проблематично; Уменьшение количество файлов (картинки, видео, таблицы); Использование HTTP Firewall, он необходим для обеспечения безопасности, как со стороны сервера, так и со стороны клиента. Для сокращения на сеть нужно выключить ненужные порты и перекрыть выход в интернет программам, которые в нем не нуждаются, так же такой способ и обезопасит систему от проникновения вирусов и взлома; И для быстрого возвращения на предыдущие страницы использовать кэш, более менее статичные данные неоходимо кэшировать для ускорения работы. Динамические данные которые постоянно изменяются вопрос с кэшированием становится сложнее так как все зависит от условий, если данные постоянно обновляются то данные кэша будут считать устаревшими и ресурсы системы будут тратиться в пустую, так что подходить к этому вопросу с динамическими данными нужно очень серьезно.

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

 


Библиографический список

1. Любецкий, П. Б. Стратегическое управление развитием предприятия с использованием систем искусственного интеллекта [Текст] / П. Б. Любецкий // Менеджмент в России и за рубежом. - 2016. - № 5. - С. 16-25.

2. Романов, В. П. Интеллектуальные информационные системы в экономике [Текст]: учеб. пособие для вузов по специальности "Приклад. информатика" / В. П. Романов; под ред. Н. П. Тихомирова; Рос. экон. акад. им. Г. В. Плеханова. - М.: Экзамен. - 2003. - 494 с.

3. Боровиков, В. П.Нейронные сети. STATISTICA Neural Networks: Методология и технологии современного анализа данных [Текст]: [справ. изд.] / под ред. В. П. Боровикова. - 2-е изд., перераб. и доп. - М.: Горячая линия - Телеком. - 2008. - 392 с.

4. Редько В.Эволюция. Нейронные сети. Интеллект. Модели и концепции эволюционной кибернетики [Текст] /. В. Редько. - Едиториал УРСС - Телеком. - 2017. - 224 с.

5. Рамиль Л. Нейронные сети [Текст] / Л. Рамиль. - LAP Lambert Academic Publishing - 2012. - 64 с.

6. ТарховД.Нейросетевые модели и алгоритмы.[Текст] / Д.Тархов- Радиотехника - 2014. - 352 с.

7. Редько В. Г. Подходы к моделированию мышления [Текст] / В. Г. Редько. - Ленанд - 2016. - 385 с.

8. Singh S. B. Neural Network Analysis of Steel Plate Processing [Текст] / S. B. Singh - Ironmaking and Steelmaking, Vol. 25,- 1998. - 365с.

9. Sourmail T. Neural network model of creep strength of austenitic stainless steels [Текст] / T. Sourmail - Materials Science and Technology Vol. 18- 2002. - 663с.

10. Yescas M. A. Prediction of the Vickers Hardness in Austempered Ductile Irons using Neural Networks [Текст] / M. A. Yescas - International Journal of Cast Metals Research Vol. 15- 2003. - 521с.

 

 



2018-07-06 387 Обсуждений (0)
Библиографический список 0.00 из 5.00 0 оценок









Обсуждение в статье: Библиографический список

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас...
Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы...
Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (387)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.01 сек.)