Дипломная (вкр): Нейросетевой механизм

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Таким образом netapproximation.dao содержит класс для взаимодействия с источниками хранения информации. В моём случае в качестве таковых выступают файлы. Класс называется CommonDao. Все его методы статические. Они реализуют помещение списков, множеств и хеш-таблиц в файл, а также извлечение списков и хеш-таблиц из файлов.

netapproximation.domain - цель этого пакета - содержать в себе классы представляющие объекты рассматриваемой предметной области. Содержит один класс Coordinates, соответствующий объекту «географические координаты».

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

try {

// код разбора JSON объекта

} catch (ParseException e) {

throw new JSONParseError("Ошибка разбора JSON объекта: " + e.toString(), e);

}

Вместо достаточно общего ParseException будет получено JSONParseError, что может облегчить поиск и устранение неполадок.

netapproximation.log - отвечает за логирование. Содержит класс Log.

netapproximation.service - этот пакет обладает основной функциональностью пакета. Содержит 4 класса:

GetDataService

NormalizeMinMaxService

NormalizeMxDxService

TeachService

GetDataService - содержит методы для получения данных с сервиса OpenWeatherMap и их обработку.

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

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

.4.3 Описание проекта WebWeatherView

JavaServer Faces проект реализующий веб представление температурных данных.

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

Также с использованием JSF компонент, организована возможность поиска температуры в конкретном городе или по конкретным координатам. После введения данных и нажатия кнопки «Поиск» происходит обращение к серверу за температурой. Получив данные программа отрисовывает маркер используя Leaflet API.

4 ГРАФИЧЕСКИЙ ИНТЕРФЕЙС ПОЛЬЗОВАТЕЛЯ

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


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

нажатия мышкой на карте

указания интересующего города

указания интересующих координат

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

ЗАКЛЮЧЕНИЕ

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

Также были изучены и применены такие технологии как формат представления данных JSON, библиотека для работы с этим форматом в Java, API погодного сервиса OpenWeatherMap. Для разработки программной системы был успешно применён объектно-ориентированный язык Java, изученный ранее. Также в ходе работы был получен опыт разработки веб приложений.

Была разработана нейронная сеть. В дипломной работе сеть применялась для аппроксимации температурных данных и показала достаточно неплохие результаты - ошибка всего около 1.4 градуса Цельсия.

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

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1.     Саймон Хайкин Нейронные сети: полный курс, 2-е издание. Пер. с англ. - М.: Издательский дом «Вильямс», 2006. - 1104 с.: ил.

2.      Круглов В.В., Борисов В. В. Искусственные нейронные сети. Теория и практика. - 2-е изд., стереотип. - М.: Горячая линия - Телеком, 2002. - 382 с.: ил.

.        Яхъяева Г.Э. Нечёткие множества и нейронные сети: Учебное пособие. М.: Интернет-Университет Информационных Технологий; БИНОМ. Лаборатория знаний, 2006. - 316с.: ил.

4.      Эрмитова интерполяция [Электронный ресурс] / Статья - Электрон. дан. <http://dic.academic.ru/dic.nsf/ruwiki/1896283> - Режим доступа: свободный - Загл. с экрана - Яз. рус. (дата обращения 18.05.2014)

5.     Хортсманн К.С., Корнелл Г. Библиотека профессионала. Java 2.

Том 1. Основы.: Пер. с англ. - М.: Издательский дом "Вильямc", 2003. - 848 с: ил.

6.     Гери Д. М., Хортсманн К.С. JavaServer Faces. Библиотека профессионала, 3-е изд.: Пер. с англ. - М.: ООО «И,Д, Вильямс», 2011. - 544 c.: ил. - Парал. тит. англ.

7.      OpenWeatherMap - как энтузиасты делают погоду [Электронный ресурс] / Статья - Электрон. дан. <http://habrahabr.ru/post/164045/> - Режим доступа: свободный - Загл. с экрана - Яз. рус. (дата обращения 15.02.2014)

.        Т.В. Филатова Применение нейронных сетей для аппроксимации данных API [Электронный ресурс] / Статья - Электрон. Дан. <http://sun.tsu.ru/mminfo/000063105/284/image/284_121-125.pdf> - Режим доступа: свободный - Загл. с экрана - Яз. рус. (дата обращения 20.03.2014)

.        OpenWeatherMap API [Электронный ресурс] / Статья - Электрон. дан. <http://openweathermap.org/API> - Режим доступа: свободный - Загл. с экрана - Яз. англ. (дата обращения 18.02.2014)

.        JSON.simple example - Read and write JSON [Электронный ресурс] / Статья - Электрон. Дан. <http://www.mkyong.com/java/json-simple-example-read-and-write-json/> - Режим доступа: свободный - Загл. с экрана - Яз. англ. (дата обращения 02.03.2014)

.        Leaflet Quick Start Guide [Электронный ресурс] / Статья - Электрон. дан. http://leafletjs.com/examples/quick-start.html#leaflet-quick-start-guide <http://leafletjs.com/examples/quick-start.html> - Режим доступа: свободный - Загл. с экрана - Яз. англ. (дата обращения 25.03.2014)

Источник: https://www.bibliofond.ru/detail.aspx?id=785954