Функциональные возможности программного продукта. Требования к программным и аппаратным средствам. Обоснование выбора наилучшей модели для прогнозирования стоимостных показателей объектов. Разработка пользовательского интерфейса и модулей программы.
Аннотация к работе
Прогнозирование применяется во многих областях человеческой деятельности, таких как наука, управление, экономика, производство и множество других сфер. Прогнозирование является одним из ключевых моментов при принятии решений и направлено на определение тенденций динамики конкретного объекта или события на основе ретроспективных данных, т.е. анализа его состояния в прошлом и настоящем. Необходимость прогноза может быть обусловлена стремлением предугадать значение некоторых показателей в будущем или оценить показатели некоторого объекта, основываясь на известных данных о нем. Точность любого прогноза обусловлена: объемом истинных (верифицированных) исходных данных и периодом их сбора; свойствами системы, объекта, подвергающихся прогнозированию;В данном разделе произведен анализ научно-технической литературы, касающейся искусственных нейронных сетей и их применения для решения задач прогнозирования, осуществлен поиск и обзор существующего программного обеспечения, предназначенного для осуществления прогнозов средствами искусственных нейронных сетей, выделены слабые и сильные стороны каждого из рассмотренных программных продуктов.В статье [3] экспериментально доказывается возможность и эффективность применения нейронной сети прямого распространения сигнала для решения задачи прогнозирования временных рядов с нелинейными зависимостями. Оценка исследований относительно эффективности нейронных сетей в решении задач прогнозирования, описанных в статье [6] показала, что в 19 из 22 (86%) исследованных случаях нейронные сети показали более высокие результаты по сравнению с другими моделями. Тем не менее, в применении искусственных нейронных сетей прямого распространения сигнала и обратного распространения ошибки существует и ряд проблем, например, проблема выбора наилучшей архитектуры сети и проблема переобучения сети при изменении первичных данных [7]. Помимо искусственных нейронных сетей типа «многослойный персептрон» для решения задач прогнозирования используются также и искусственные нейронные сети с радиально-базисными функциями и их подвид «обобщенные регрессионные сети». В разделе, посвященном искусственным нейронным сетям с радиально-базисными функциями книги [11] теоретически обосновывается и доказывается эффективность применения таких сетей для решения различных задач прогнозирования.Несмотря на то, что на сегодняшний день для решения задач прогнозирования существует множество программных продуктов, все они имеют определенные недостатки, которые препятствуют широкому применению нейросетевых программ для решения задач прогнозирования в небольших огранизациях. Программа NEUROPRO v.0.25, хотя и является бесплатной, не поддерживается современными операционными системами, такими как Windows 7, к тому же, имеет сложный для непрофессионального пользователя интерфейс. Программа SNNS, преимуществом которой является ее свободное распространение, оказывается непригодной для использования в небольших организациях по причие сложного неруссифицированного интерфейса, а также по причине того, что наилучшим образом она работает только в Unix-подобных операционных системах.2.2.1 Программный продукт должен включать в себя следующие модули: модуль работы с нейронными сетями, созданными в среде Matlab; модуль работы с нейронными сетями, созданными в программе; Модуль работы с нейронными сетями, созданными в среде Matlab должен предоставлять возможности: загрузка нейронных сетей и проверка совместимости загружаемой сети с программным продуктом; Модуль работы с проектами программы должен предоставлять возможность загрузки и сохранение проекта программы. возможность загрузки нейронных сетей, созданных в программе из файлов типа *.ncnet;Поставлено техническое задание на разработку нейросетевой программы прогнозирования стоимостных показателей объектов, определены основные функциональные возможности программного продукта, обозначены требования к программным и аппаратным средствам, поределены этапы и сроки разработки.В данном разделе проанализирован математический аппарат искусственных нейронных сетей и проведен эксперимент по подбору наилучшей модели для прогнозирования стоимостных показателей объектов.Способность нейронных сетей типа многослойный персептрон решать задачи регрессии и прогнозирования неоднократно подтверждалась различными исследованиями, например [3,4,5], причем ИНС данного типа справляются с решением задач этого класса, как правило, эффективнее, чем модель множественной линейной регрессии благодаря тому, что обладают большей чувствительностью к изменению параметров [3,4,5]. Способность РБФ сетей успешно решать задачи регрессии и прогнозирования также неоднократно доказывалась рядом исследований, например [21,22]. К тому же, в среде Matlab существует даже специальный класс сетей, предназначенных специально для этих целей - обобщенные регрессионные сети (general regression networks), которые, в сущности, являются РБФ сетями. К этой сумме прибавляется смещение b и результат n подается в качестве аргумента активационной
План
Содержание
Введение
1. Обзор научно-технической литературы и анализ состояния проблемы
1.1 Обзор научно-технической литературы и существующих программных продуктов
1.2 Анализ состояния проблемы
2. Техническое задание на разработку нейросетевой программы прогнозирования стоимостных показателей объектов
3. Обоснование выбора наилучшей модели для прогнозирования стоимостных показателей объектов
3.1 Математический аппарат
3.2 Подбор наилучшей модели нейронной сети для прогнозирования стоимостных показателей объектов
4. Разработка программно-алгоритмического обеспечения
4.1 Обоснование выбора средств разработки
4.2 Разработка структуры программы
4.3 Разработка модулей программы
4.4 Разработка пользовательского интерфейса
4.5 Разработка алгоритма загрузки нейронной сети в проект
4.6 Разработка алгоритма работы конструктора создания нейросетевой экспертной системы
4.7 Разработка алгоритма загрузки данных в проект
5. Организационно-экономический раздел
5.1 Экономическое обоснование необходимости разработки программного обеспечения
5.2 Расчет затрат на создание программного обеспечения, цены и прибыли от его реализации
5.3 Расчет затрат, связанных с покупкой, внедрением и использованием программного обеспечения
Заключение
Список сокращений и обозначений
Библиографический список
Приложение А (обязательное). Листинг команд среды Matlab для подбора оптимальной архитектуры ИНС
Приложение Б (обязательное). Схема алгоритма загрузки нейронной сети в проект
Приложение В (обязательное). Схема алгоритма работы мастера создания НЭС
Приложение Г (обязательное). Схема алгоритма загрузки файла Excel в проект
Приложение Д (обязательное). Исходный код программы
Приложение E (обязательное). Авторская справка
Введение
Прогнозирование применяется во многих областях человеческой деятельности, таких как наука, управление, экономика, производство и множество других сфер.
Понятие прогнозирования не имеет четко очерченных границ и активно взаимодействует со смежными задачами анализа данных. Одно из определений прогнозирования было дано Г. Тейлом: «некоторое суждение относительно неизвестных, особенно будущих, событий» [1].
Прогнозирование является одним из ключевых моментов при принятии решений и направлено на определение тенденций динамики конкретного объекта или события на основе ретроспективных данных, т.е. анализа его состояния в прошлом и настоящем.
Необходимость прогноза может быть обусловлена стремлением предугадать значение некоторых показателей в будущем или оценить показатели некоторого объекта, основываясь на известных данных о нем. Точность любого прогноза обусловлена: объемом истинных (верифицированных) исходных данных и периодом их сбора;
объемом неверифицированных исходных данных, периодом их сбора;
свойствами системы, объекта, подвергающихся прогнозированию;
методиками и подходами к прогнозированию.
К основным методам прогнозирования относятся статистические методы;
экспертные оценки (метод Дельфи);
моделирование;
«по объекту-аналогу» и другие [2].
Вариантов практического применения прогноза на сегодняшний день достаточно много: это предсказания на фондовых рынках, предсказание результатов спортивных игр, оценка недвижимости, предсказание экономических показателей и так далее.
Актуальность выбранной темы квалификационной работы обусловлена тем, что в настоящее время большинство организаций, в особенности коммерческих, нуждаются в эффективном прогнозе для принятия управленческих решений, что позволит им повысить эффективность своей деятельности. Как уже было сказано выше, существуют различные методы прогнозирования. Те методы, которые требуют участия высококвалифицированных экспертов, часто оказываются неприменимыми в небольших организациях по причине высокой стоимости услуг профессиональных экспертов.
Для таких организаций наиболее приемлемым методом является приобретение программного обеспечения для осуществления прогнозов.
Программное обеспечение, используемое для осуществления прогнозов, можно условно разделить на два класса: реализующее статистические методы прогнозирования и использующее технологии нейронных сетей.
Рядом научных исследований было доказано, что использование нейронных сетей для прогнозирования дает некоторые преимущества относительно статистических прогнозов, так как нейронные сети являются более чувствительными к параметрам [3,4,5].
Способности нейронной сети к прогнозированию напрямую следуют из ее способности к обобщению и выделению скрытых зависимостей между входными и выходными данными. После обучения сеть способна предсказать будущее значение некой последовательности на основе нескольких предыдущих значений и/или существующих в настоящий момент факторов [6].
Проблема, на решение которой будет направлена квалификационная работа, заключается в необходимости создания простого в использовании, доступного по цене для небольших компаний инструмента для осуществления прогнозов, преимущественно экономического характера.
Целью дипломного проектирования является разработка программы прогнозирования стоимостных показателей объектов с использованием нейронных сетей, предназначенной для использования в небольших коммерческих и некоммерческих организациях.
Вывод
Обзор научно-технической литературы показал, что выбранная предметная область дипломного проекта является актуальной, что подтверждается множеством опубликованных статей. Также было показано, что нейронные сети успешно применяются для прогнозирования различных показателей во многих областях. Произведенный обзор аналогов выявил, что существующие на сегодняшний день решения не лишены недостатков: недостатком большинства коммерческих продуктов является их относительно высокая цена для небольших компаний, а также отсутствие русифицированных версий. Бесплатное же программное обеспечение является либо устаревшим, либо не подходящим для использования специалистами, не знакомыми с технологиями нейронных сетей и сложное в освоении.
2. Техническое задание на разработку нейросетевой программы прогнозирования стоимостных показателей объектов.
2.1 Назначение
Целью дипломного проектирования является создание удобного и простого в использовании инструмента прогнозирования стоимостных показателей объектов, предназначенного для использования в небольших коммерческих и некоммерческих организациях.
Задачей является разработка программного продукта для прогнозирования стоимостных показателей объектов с использованием нейронных сетей.
Разрабатываемая программа предназначена для получения прогнозов на основе обученных искусственных нейронных сетей.
2.2 Функциональные возможности программного продукта
Продукт должен обладать следующими функциональными возможностями.
2.2.1 Программный продукт должен включать в себя следующие модули: модуль работы с нейронными сетями, созданными в среде Matlab;
модуль работы с нейронными сетями, созданными в программе;
модуль работы с проектами программы;
модуль работы с данными;
модуль отображения результатов;
справочный модуль.
Модуль работы с нейронными сетями, созданными в среде Matlab должен предоставлять возможности: загрузка нейронных сетей и проверка совместимости загружаемой сети с программным продуктом;
получение выходных результатов обработки нейронной сетью на основе входных данных.
Модуль работы с проектами программы должен предоставлять возможность загрузки и сохранение проекта программы.
Модуль работы с данными должен предоставлять возможности: загрузка файлов формата Excel и его проверка на совместимость с программным продуктом;
сохранение отредактированных файлов;
нормализация и денормализация обучающей выборки;
проверка загружаемых данных на соответствие требуемому типу.
Модуль работы с данными должен предоставлять возможности: загрузка файлов формата Excel и его проверка на совместимость с программным продуктом;
сохранение отредактированных файлов;
нормализация и денормализация обучающей выборки;
проверка загружаемых данных на соответствие требуемому типу.
Модуль отображения результатов должен выполнять функцию формирования оконных форм для отображения работы с вышеперечисленными модулями программы.
Представление входных данных: возможность загрузки данных из файла типа *.xls;
возможность загрузки нейронных сетей, созданных в среде Matlab из файлов типа *.mat;
возможность загрузки нейронных сетей, созданных в программе из файлов типа *.ncnet;
возможность редактирования и сохранения данных.
Требования к модулю справочной информации
Предусмотреть разработку руководства пользователя по работе с программой.
2.3 Требования к программным и аппаратным средствам
Разрабатываемая программа предназначена для использования на персональной ЭВМ, обладающей следующими минимальными характеристиками, позволяющими работать с программой более эффективно: центральный процессор Intel Pentium 4 - 1,9 ГГЦ или аналогичный и выше;
оперативная память не менее 1 Гб;
монитор с разрешением от 1024*768 пикс;
видеокарта SVGA с объемом памяти не менее 32 Мб;
установленная ОС Microsoft Windows XP/Vista/7 и выше;
установленный Microsoft .NET Framework версии 4.0 (распространяется бесплатно);
установленная среда Matlab Compiler Runtime v.413 32 bit (распространяется бесплатно) для возможности работы с нейронными сетями, созданными в среде Matlab;
манипулятор типа «мышь»;
клавиатура.
2.4 Выбор критериев качества разрабатываемого программного продукта
Разрабатываемый программный продукт должен отвечать показателям качества, которые определены в [27].
Показателем надежности является работоспособность - способность программы функционировать в заданных режимах и объемах обрабатываемой информации в соответствии с программными документами при отсутствии сбоев технических средств.
Показателем удобства применения является доступность эксплуатационных программных документов - понятность, наглядность и полнота описания взаимодействия пользователя с программой в эксплуатационных программных документах.
К показателям корректности относятся: полнота реализации - полнота реализации заданных функций ПС и достаточность их описания в программной документации. согласованность - однозначное, непротиворечивое описание и использование тождественных объектов, функций, терминов, определений, идентификаторов и т.д. в различных частях программных документов и текста программы. логическая корректность - функциональное и программное соответствие процесса обработки данных при выполнении задания общесистемным требованиям. проверенность - полнота проверки возможных маршрутов выполнения программы в процессе тестирования.
2.5 Меню программы
Предусмотреть следующие пункты меню программы: файл: загрузить проект;
сохранить проект как;
сохранить проект;
выход;
режим работы: упрощенный;
продвинутый;
НЭС: мастер создания НЭС;
данные: загрузить данные для обучения;
загрузить данные для тестирования;
нейронная сеть: импортировать из MATLAB;
загрузить готовую нейронную сеть;
создать новую нейронную сеть;
помощь: справка;
о программе.
2.6 Стадии и этапы разработки
Стадии и этапы разработки программного продукта приведены в таблице 2.1.
Таблица 2.1 Этапы разработки приложения
Содержание работы Срок Исполнитель
Исследование подходов к созданию приложений для прогнозирования с использованием нейронных сетей, а также имеющихся на сегодняшний день решений 1-2 недели Неведицин Н.А.
Разработка технического задания 3-я неделя Неведицин Н.А.
Разработка .NET библиотеки в среде Matlab для работы с нейронными сетями 4-я неделя Неведицин Н.А.
Разработка структуры программы (иерархии классов, модулей) 5-6 недели Неведицин Н.А.
Создание интерфейса и модуля для работы с нейронными сетями, импортированными из Matlab 7-я неделя Неведицин Н.А.
Разработка графического интерфейса пользователя для создания инструментов прогнозирования с использованием нейронных сетей, созданных в среде Matlab 8-12 недели Неведицин Н.А.
Объединение разработанных частей в единое приложение 13-я неделя Неведицин Н.А.
Разработка руководства пользователя программы 14-15 недели Неведицин Н.А.
2.7 Порядок контроля и приемки
Испытание представленной программы и контроль качества ее работы провести на базе кафедры ЭВМ факультета автоматики и вычислительной техники ВЯТГУ. Во время испытаний проверить работу системы по следующим позициям: запуск программы;
импорт нейронной сети, созданной в среде Matlab и ее тестирование;
обучение нейронной сети и ее тестирование;
сохранение готового проекта и его загрузка.Поставлено техническое задание на разработку нейросетевой программы прогнозирования стоимостных показателей объектов, определены основные функциональные возможности программного продукта, обозначены требования к программным и аппаратным средствам, поределены этапы и сроки разработки.