Автоматизированная система прогнозирования оптово-розничных продаж мобильных телефонов на основе нейронных сетей

Нейронные сети как средство анализа процесса продаж мобильных телефонов. Автоматизированные решения на основе технологии нейронных сетей. Разработка программы прогнозирования оптово-розничных продаж мобильных телефонов на основе нейронных сетей.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 22.09.2011
Размер файла 4,6 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

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

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

Тогда

, (5.1)

где - комплексный показатель качества продукта по группе показателей;

n - число рассматриваемых показателей;

Вj - коэффициент весомости j-го показателя в долях единицы, назначаемый в соответствии с потребностями организации - заказчика программного продукта;

Xj - относительный показатель качества, устанавливаемый экспертным путем по выбранной шкале оценивания

В таблице 5.1 представлены результаты расчета балльно-индексным методом при 5-ти балльной шкале оценивания.

Таблица 5.1 - Расчет показателя качества балльно-индексным методом

Показатель качества

Коэффициент значимости, Вj

Базовый вариант

Аналог

1. Удобство работы (пользовательский интерфейс)

0,1

4

0,45

2

0,35

2. Новизна (соответствие современным требованиям)

0,06

4

0,3

3

0,15

3. Соответствие профилю деятельности заказчика

0,15

4

0,6

2

0,3

4. Операционная система (многозадачность, графика)

0,05

4

0,2

4

0,2

5. Надежность (защита данных)

0,13

3

0,4

3

0,4

6. Скорость доступа к данным

0,09

4

0,3

4

0,2

7. Гибкость

0,05

3

0,15

3

0,15

8. Функции обработки информации

0,13

5

0,6

1

0,3

9. Соотношение стоимость/возможности

0,09

4

0,4

2

0,2

10. Время обучения персонала

0,15

4

0,6

2

0,3

Обобщенный показатель качества

=4,00

=2,55

Отношение двух найденных индексов называют коэффициентом технического уровня первого программного продукта по отношению ко второму:

, (5.2)

Так как коэффициент больше 1, то разработка проекта с технической точки зрения оправдана.

5.2 Планирование комплекса работ по разработке темы и оценка трудоемкости

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

Для определения ожидаемой продолжительности работы применяется формула:

, (5.3)

где - кратчайшая продолжительность заданной работы (оптимистическая оценка);

- самая большая продолжительность работы (пессимистическая оценка);

- наиболее вероятная продолжительность работы (реалистическая оценка).

Оценка трудоемкости отдельных видов работ приведена в таблице 5.2

Таблица 5.2 - Оценка трудоемкости отдельных видов работ

Вид работ

tmin, дни

tнв, дни

tмакс, дни

Тож, дни

1

2

3

4

5

Исследование и обоснование разработки

3

4

5

4

Поиск аналогов и прототипов

1

2

3

2

Анализ требований

5

6

7

6

Проектирование программной архитектуры

1

2

3

2

Техническое проектирование компонентов программы

3

4

5

4

Программирование модулей в выбранной среде программирования

5

6

7

6

Тестирование программных модулей

7

9

10

9

Сборка и испытание программы

3

4

6

4

Проведение расчетов показателей БЖД

1

1

2

1

Проведение экономических расчетов

1

2

3

2

Оформление пояснительной записки

2

3

4

3

Для разработки проекта АРМ было задействовано два человека: руководитель проекта и исполнитель (инженер-программист).

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

Выбор комплекса работ по разработке проекта производится в соответствии со стандартом ГОСТ Р ИСО/МЭК 12207-99 Информационная технология. Процессы жизненного цикла программных средств, устанавливающие стадии разработки программных продуктов, приведены в таблице 5.3.

Таблица 5.3 - Комплекс работ по разработке проекта

Содержание работы

Должность исполнителя

Продолжительность,

дни

Загрузка исполнителя,

дни

1

2

3

4

Подготовка процесса разработки и анализ требований

Исследование и обоснование разработки

1.1.1 Постановка задачи

Руководитель

Программист

1

1

1

1.1.2 Сбор исходных данных

Руководитель

Программист

3

3

1.2 Поиск аналогов и прототипов

1.2.1 Анализ существующих методов решения задачи и программных средств

Руководитель

Программист

1

1

1.2.2 Обоснование принципиальной необходимости разработки

Руководитель

Программист

1

1

1.3 Анализ требований

1.3.1 Определение и анализ требований к проектируемой программе

Руководитель

Программист

1

1

1

1.3.2 Определение структуры входных и выходных данных

Руководитель

Программист

2

2

1.3.3 Выбор технических и программных средств реализации

Руководитель

Программист

1

1

1.3.4 Согласование и утверждение технического задания

Руководитель

Программист

2

1

2

Итого по этапу 1

Руководитель

Программист

12

3

12

Программирование

2.1 Проектирование программной архитектуры

Руководитель

Программист

2

2

2.2 Техническое проектирование компонентов программы

Руководитель

Программист

4

4

Итого по этапу 2

Руководитель

Программист

6

6

Программирование и тестирование программных модулей

3.1 Программирование модулей в выбранной среде программирования

Руководитель

Программист

6

6

3.2 Тестирование программных модулей

Руководитель

Программист

9

9

3.3 Сборка и испытание программы

Руководитель

Программист

4

1

4

3.4 Анализ результатов испытаний

Руководитель

Программист

2

1

2

Итого по этапу 3

Руководитель

Программист

21

2

21

Оформление рабочей документации

4.1 Проведение расчетов показателей безопасности жизнедеятельности

Руководитель

Программист

1

1

4.2 Проведение экономических расчетов

Руководитель

Программист

2

2

4.3 Оформление пояснительной записки

Руководитель

Программист

3

1

3

Итого по этапу 4

Руководитель

Программист

6

2

6

Итого по проекту

Руководитель

Программист

45

7

45

На основе данных таблицы 5.3 разработан календарный график выполнения работ (таблица 5.4), показывающий последовательность и взаимосвязь выполнения комплекса работ.

Таблица 5.4 - Календарный график выполнения работ

Содержание работы

Должность исполнителя

Длительность, дни

График работ

1. Постановка задачи

Руководитель Программист

1

1

20.01.09-20.01.09 20.01.09-20.01.09

2. Сбор исходных данных

Программист

3

21.01.09-23.01.09

3. Анализ существующих методов решения задачи и программных средств

Программист

1

23.01.09-23.01.09

4. Обоснование принципиальной необходимости разработки

Программист

1

24.01.09-24.01.09

5. Определение и анализ требований к программе

Руководитель Программист

1

1

25.01.09-25.01.09 25.01.09-25.01.09

6. Определение структуры входных и выходных данных

Программист

2

26.01.09-27.01.09

7. Выбор технических средств и программных средств реализации

Программист

1

28.01.09-28.01.09

8. Согласование и утверждение технического задания

Руководитель Программист

1

2

29.01.09-29.01.09 29.01.09-30.01.09

9. Проектирование программной архитектуры

Программист

2

31.01.09-01.02.09

10. Техническое проектирование компонентов программы

Программист

4

02.02.09-05.02.09

11. Программирование модулей в выбранной среде программирования

Программист

6

06.02.09-11.02.09

12. Тестирование программных модулей

Программист

9

12.02.09-20.02.09

13. Сборка и испытание программы

Руководитель Программист

1

4

21.02.09-21.02.09 21.02.09-24.02.09

14. Анализ результатов испытаний

Руководитель Программист

1

2

22.02.09-22.02.09 22.02.09-23.02.09

15. Проведение расчетов показателей безопасности жизнедеятельности

Программист

1

24.02.09-24.02.09

16. Проведение экономических расчетов

Программист

2

25.02.09-26.02.09

17. Оформление пояснительной записки

Руководитель Программист

1

3

27.02.09-27.02.09 27.02.09-01.03.09

На основе этих данных мы можем определить сроки окончания работ по разработке программы для АРМ.

5.3 Расчет затрат на разработку проекта

Капитальные вложения, связанные с автоматизацией обработки информации рассчитываются по формуле:

, (5.4)

где - капитальные вложения на проектирование, руб.;

- капитальные вложения на реализацию проекта, руб.

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

Суммарные затраты на проектирование системы и ее разработку и отладку на компьютере определяются по формуле:

, (5.5)

где m - количество работников, участвующих в разработке проекта;

- затраты на основную заработную плату работника i-й категории, руб.;

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

- коэффициент, учитывающий отчисления на социальные нужды, в долях к сумме основной и дополнительной заработной платы разработчиков (=0,26: страховые взносы в Пенсионный фонд в долях единицы - 0,14, взносы в федеральный бюджет - 0,06, страховые взносы в ФСС - 0,029, страховые взносы в ФОМС - 0,031);

- коэффициент, учитывающий накладные расходы организации, в долях к основной заработной плате разработчиков (принимается по фактическим данным предприятия, = 0,6);

- затраты на материалы;

- затраты на использование машинного времени.

Затраты на основную заработную плату:

, (5.6)

где - среднедневная заработная плата работника i-й категории, руб. /дн.;

- количество дней, отработанных работником i-й категории.

Затраты времени на разработку системы по каждому исполнителю принимаются, исходя из его загрузки по календарному графику выполнения работ (см. таблицу 5.4).

Расчет основной заработной платы разработчиков проекта приведен в таблице 5.5 из расчета, что в месяце в среднем 21 рабочий день.

Таблица 5.5 - Данные по расчету основной заработной платы исполнителей

Должность

Должностной оклад, руб.

Средняя дневная ставка, руб.

Затраты времени на разработку, человеко - дней

ФОТ, руб.

Руководитель Программист

25000,00

18000,00

1190,48

857,14

7

45

8333,36

38571,30

Итого

46904,66

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

, (5.7)

где - машинное время компьютера, необходимое для разработки программного продукта;

= 112 час.;

- стоимость 1 часа машинного времени (устанавливается по данным отчетности предприятия);

=25 руб. /час.;

- коэффициент мультипрограммности;

=1.

Материалы, приобретенные в процессе выполнения работы, и их стоимость приведены в таблице 5.6.

Таблица 5.6 - Затраты на материалы

Материалы

Единица измерения

Требуемое количество

Цена за единицу, руб.

Сумма, руб.

Тетрадь общая

шт.

1

10

10

Компакт-диск CD-RW

шт.

2

15

30

Тонер для лазерного принтера

шт.

1

1000

1000

Бумага офисная

пачка

1

120

120

Итого

1160

Таким образом, капитальные вложения на проектирование равны:

Смета затрат на разработку представлена в таблице 5.7.

Таблица 5.7 - Затраты на разработку

Статьи затрат

Сумма, руб.

Основная заработная плата

46904,66

Дополнительная зарплата

18761,86

Отчисления на социальные нужды

12195,21

Затраты на материалы

1160

Затраты на машинное время

2800

Накладные расходы организации

28142,80

ИТОГО

112764,50

Капитальные вложения на реализацию проекта:

, (5.8)

где Ко - затраты на основное и вспомогательное оборудование, руб.;

Кзд - затраты на строительство, реконструкцию здания и помещений, руб.;

Кпп - затраты на приобретение типовых разработок, пакетов, руб.;

Ксв - затраты на прокладку линий связи, руб.;

Киб - затраты на создание информационной базы, руб.;

Кпк - затраты на подготовку и переподготовку кадров, руб.

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

Таким образом, при внедрении системы, рассматриваемой в данной работе, затраты на его реализацию определяются затратами на оборудование и материалы. В оборудование и материалы входит компьютер. Стоимость компьютера 25000 руб.

Тогда затраты на основное и вспомогательное оборудование составят

, (5.9)

где Cbj - балансовая стоимость j-гo вида оборудования, руб. (22500 руб.);

Qj - количество единиц j-гo оборудования, руб. (1 шт.);

Yj - коэффициент загрузки j-гo вида оборудования при обработке информации по решению задач предметной области.

Коэффициент загрузки оборудования:

, (5.10)

где Фэфj - эффективный годовой фонд времени работы технического средства j-го вида, час. /год.

, (5.11)

где tkj - трудоемкость однократной обработки информации по к-й задаче на j-м виде технических средств, часов машинного времени (tkj=6);

Uj - частота (периодичность) решения к-й задачи, дней /год (Uj =264).

Затраты на реализацию:

Суммарные затраты на разработку проекта:

К = 114842,62+ 18750 руб. =133592,62 руб.

Суммарные затраты, связанные с внедрением аналога складываются из следующих затрат:

затраты на приобретение программного продукта (40750 руб.)

затраты по оплате услуг на установку и сопровождение продукта (12000 руб.);

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

Итого суммарные затраты, связанные с внедрением аналога составят 61750 руб.

5.4 Расчет эксплуатационных затрат

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

Текущие затраты рассчитываются по формуле

, (5.12)

где Ззп - затраты на зарплату основную и дополнительную с отчислениями во внебюджетные фонды, руб.;

Са - амортизационные отчисления от стоимости оборудования и устройств системы, руб.;

Зэ - затраты на электроэнергию, руб.;

Срем - затраты на текущий ремонт оборудования и устройств системы, руб.;

Зм - затраты на материалы и машинные носители, руб.;

Зн - накладные расходы отдела технического контроля, руб.

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

, (5.13)

где ti - время эксплуатации системы i-м работником, дни;

3i - среднедневная заработная плата i-го работника, руб. /день.

Данные расчета заработной платы специалистов приведены в таблицах 5.8 и 5.9.

Таблица 5.8 - Данные по заработной плате специалистов (для разрабатываемого продукта)

Должность

Должностной оклад, руб.

Средняя дневная ставка, руб. /день

Затраты времени на эксплуатацию, чел. - дней

Фонд заработной платы, руб.

Специалист по складскому учету

15000,00

714,29

14

10000,06

Программист

18000,00

857,14

0,5

428,57

Итого

10428,63

Таблица 5.9 - Данные по заработной плате специалистов (для продукта-аналога)

Должность

Должностной оклад, руб.

Средняя дневная ставка, руб. /день

Затраты времени на эксплуатацию, чел. - дней

Фонд заработной платы, руб.

Специалист по складскому учету

20000,00

952,38

14

13333,32

Программист

18000,00

857,14

14

11999,96

Итого

25333,28

Сумма амортизационных отчислений рассчитывается следующим образом:

, (5.14)

где Cbj - балансовая стоимость j-ro вида оборудования, руб.;

tj - время работы j-ro вида оборудования, час;

Fэфj - эффективный фонд времени работы оборудования в год, час;

aj - норма годовых амортизационных отчислений для j-гo вида оборудования, %;

gj - количество единиц оборудования j-гo вида.

Эффективный фонд времени работы оборудования можно вычислить по формуле

, (5.15)

где Dр - количество рабочих дней в году. Dр = 249;

Нэ - норматив среднесуточной загрузки, час. /день, Нэ = 8.

Таким образом, эффективный фонд времени работы оборудования составит

час.

Данные для расчета:

aj =20%; gj =1;

tj (для проекта) = (14 + 0,5) *8 = 116 час.;

tj (для аналога) = (14 + 14) *8 = 224 час.;

Cbj=25000 руб.

Сумма амортизационных отчислений для проекта составит

Сумма амортизационных отчислений для аналога составит

Затраты на электроэнергию рассчитываются по формуле

, (5.16)

где Nj - установленная мощность j-ro вида технических средств, кВт;

tj - время работы j-ro вида технических средств, час;

gj - коэффициент использования установленной мощности оборудования;

Тэ - тариф на электроэнергию, руб. /кВт ч.

В настоящее время тариф на электроэнергию в Санкт-Петербурге для предприятий составляет 2,10 руб. /кВт*ч, установленная мощность для компьютера равна 0,2 кВт, таким образом затраты на электроэнергию

для проекта составят,

для аналога составят

Затраты на текущий ремонт оборудования рассчитываются по формуле

, (5.17)

где Cpi - норматив затрат на ремонт (Cpi = 0,05).

Затраты на текущий ремонт оборудования составят:

для проекта

для аналога

Затраты на материалы, потребляемые в течение года, составляют 1 % от балансовой стоимости основного оборудования и равны 250 руб.

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

Накладные расходы для проекта:

Накладные расходы для аналога:

Таблица 5.10 - Расчет годовых эксплуатационных затрат для проекта

Статьи затрат

Затраты на проект, руб.

Затраты на аналог, руб.

Основная и дополнительная зарплата с отчислениями во внебюджетные фонды

125143,56

303999,36

Амортизационные отчисления

291,16

562,25

Затраты на электроэнергию

48,72

94,08

Затраты на текущий ремонт

72,79

140,56

Затраты на материалы

250,00

250,00

Накладные расходы

25161,24

61009,26

Итого

150967,50

366055,50

5.5 Расчет показателя экономического эффекта

Оценка экономической эффективности вариантов проектных решений элементов АРМ основывается на расчете показателей сравнительной экономической эффективности капитальных вложений. Годовой экономический эффект от использования разрабатываемой системы определяется по разности приведенных затрат на базовый и новый варианты в расчете на годовой объем выпуска:

, (5.18)

Где , - приведенные затраты на единицу работ, выполняемых с помощью базового и проектируемого вариантов процесса обработки информации, руб.;

Ak - коэффициент эксплуатационно-технической эквивалентности (Ak = 1,57 (формула (3.2));

N - объем работ, выполняемых с помощью разрабатываемого продукта (примем равным 1).

Приведенные затраты Зi на единицу работ, выполняемых по базовому и разрабатываемому вариантам, рассчитываются по формуле

, (5.19)

где Ci - себестоимость (текущие эксплуатационные затраты единицы работ), руб.;

Ен - нормативный коэффициент экономической эффективности (Ен =0,33);

Ki - суммарные затраты, связанные с внедрением нового проекта.

Затраты на единицу работ по аналогу:

=366055,50+0,33*61750,00=386433,00 руб.

Затраты на единицу работ по проекту:

=150967,50+0,33*133592,62 =195053,06 руб.

Экономический эффект от использования разрабатываемой системы:

Э = 386433,00 *1,57 - 195053,06 = 411646,75 руб.

Расчет экономического эффекта приведен в таблице 5.11.

Таблица 5.11 - Расчет экономического эффекта

Характеристика

Значение

продукт-аналог

разрабатываемый продукт

Себестоимость (текущие эксплуатационные затраты), руб.

366055,50

150967,50

Суммарные затраты, связанные с внедрением проекта, руб.

61750,00

133592,62

Приведенные затраты на единицу работ, руб.

386433,00

195053,06

Экономический эффект от использования разрабатываемой системы, руб.

411646,75

После определения годового экономического эффекта необходимо рассчитать срок окупаемости затрат на разработку продукта по формуле

, (5.20)

Срок окупаемости составит: Ток =133592,62/411646,75 = 0,32года.

Затем рассчитаем фактический коэффициент экономической эффективности разработки (Еф) и сопоставим его с нормативным значением коэффициента эффективности капитальных вложений Ен =0,33:

(5.21)

Фактический коэффициент экономической эффективности разработки получился больше, чем нормативный, поэтому разработка и внедрение разрабатываемого продукта для АРМ является эффективной.

Таким образом, в ходе проделанной работы найдены все необходимые данные, доказывающие целесообразность и эффективность данной разработки. Приведем эти данные в сводной таблице (5.12).

Таблица 5.12 - Сводная таблица экономического обоснования разработки и внедрения проекта АРМ

Характеристика проекта

Значение

Затраты на разработку проекта, руб.

133592,62

Затраты на реализацию проекта, руб.

18750,00

Общие эксплуатационные затраты, руб.

150967,50

Экономический эффект, руб.

411646,75

Коэффициент экономической эффективности

3,13

Срок окупаемости, лет

0,32

Заключение

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

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

Мы выяснили, что нейронные сети - эффективное средство анализа рынка. Они широко используются в универсальных программных продуктах. Их избыточность и высокая стоимость дало нам право на самостоятельную разработку прикладной программы, ориентированной на задачи дипломного проектирования.

Отметим, что нам удалось разработать ПО, полностью соответствующее поставленным задачам.

Мы продемонстрировали, что искусственные нейронные сети способны решать задачу прогнозирования путем сведение ее к распознаванию образов. Выполнили прогнозирование продаж мобильных телефонов в компании "Евросеть" на основе данных о продажах за 2008 год.

Были выполнены также исследования по безопасности жизнедеятельности и оценена экономическая эффективность проекта.

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

1. Бестенс Д., В. Ван ден Берг, Д. Вуд Нейронные сети и финансовые рынки. Принятие решений в торговых операциях. - М. ТВП, 1997.

2. Fayyad, Piatetsky-Shapiro, Smyth, and Uthurusamy. Advances in Knowledge Discovery and Data Mining, (Chapter 1) AAAI/MIT Press 1996

3. Parsaye K. A Characterization of Data Mining Technologies and Processes. The Journal of Data Warehousing. 1998. № 1

4. Иванов О.В. Статистика / Учебный курс для социологов и менеджеров. Часть 1. Описательная статистика. Теоретико-вероятностные основания статистического вывода. - М. 2005.187 с

5. Л.В. Щавелёв. Способы аналитической обработки данных для поддержки принятия решений. СУБД. 1998. № 4-5

6.А.Н. Горбань. Методы нейроинформатики. КГТУ, Красноярск, 1998.205 с

7. http://www.bi-grouplabs.ru/Product/ERP/RS_balance/description.html

8. Чубукова И.А. Data Mining - БИНОМ. Лаборатория знаний, Интернет-университет информационных технологий - ИНТУИТ. ру, 2008

9. Боровиков В.П. Прогнозирование в системе STATISTICA в среде Windows. Основы теории и интенсивная практика на компьютере: Учеб. пособие. - М.: Финансы и статистика, 2000. - 384с.: ил.

10.Ф. Уоссерман Нейрокомпьютерная техника: теория и практика. 1992

11. Minsky M., and Papert S., 1969. Perseptrons. Cambridge, MA: MIT Press. (Русский перевод: Минский М.Л., Пейперт С. Персептроны. - М. Мир. - 1971.)

12. Kohonen T. 1984. Self-organization and associative memory. Series in Information Sciences, vol.8. Berlin: Springer Verlag

13. Hebb D. 1961.organization of behavior. New York: Science Edition.

14.rumelhart D. E., Hinton G. E., Williams R. J. 1986. Learning internal reprentations by error propagation. In Parallel distributed processing, vol.1, pp.318-62. Cambridge, MA: MIT Press.

15. Werbos P. J. 1974. Beyond regression: New tools for prediction and analysis in the behavioral sciences. Masters thesis, Harward University.

16. Wasserman P. D. 1988a.combined backpropagation/Cauchy machine. Proceedings of the International Newral Network Society. New York: Pergamon Press

17.rumelhart D. E., Hinton G. E., Williams R. J. 1986. Learning internal reprentations by error propagation. In Parallel distributed processing, vol.1, pp.318-62. Cambridge, MA: MIT Press.

18. Wasserman P. D. 1988b. Experiments in translating Chinese characters using backpropagation. Proceedings of the Thirty-Third IEEE Computer Society International Conference. Washington, D. C.: Computer Society Press of the IEEE.

19. Parker D. B. 1987. Second order back propagation: Implementing an optimal 0 (n) approximation to Newton's method as an artificial newral network. Manuscript submitted for publication.

20. Stornetta W. S., Huberman B. A. 1987. An improwed three-layer, backpropagation algorithm. In Proceedings of the IEEE First International Conference on Newral Networks, eds. M. Caudill and C. Butler. San Diego, CA: SOS Printing.

21. Pineda F. J. 1988. Generalization of backpropagation to recurrent and higher order networks. In Newral information processing systems, ed. Dana Z. Anderson, pp.602-11. New York: American Institute of Phisycs.

22. Sejnowski T. J., Rosenberg C. R. 1987. Parallel networks that learn to pronounce English text.complex Systems 1: 145-68.

23. Burr D. J. 1987. Experiments with a connecnionlist text reader. In Proceedings of the IEEE First International Conferense on Neural Networks, eds. M. Caudill and C. Butler, vol.4, pp.717-24. San Diego, CA: SOS Printing.

24. Cottrell G. W., Munro P., Zipser D. 1987. Image compression by backpropagation: An example of extensional programming. ICS Report 8702, University of California, San Diego.

25. Кэнту М. Delphi 7 для профессионалов - СПб: Издательство "Питер", 2007. - 1120 с.: ил.

26. Буч Г. Объектно-ориентированное программирование с примерами применения. - Киев: Диалектика, М.: И.В.К., 1992.

27. http://corp. euroset.ru/ru/

Приложение А. Скриншоты работы программы

Рисунок А.1 - Графический пользовательский интерфейс

Рисунок А.2 - Первый прогноз

Рисунок А.3 - Второй прогноз

Рисунок А.4 - Второй прогноз (многошаговое прогнозирование)

Рисунок А.5 - Изменение прогноза

Приложение Б. Листинг программного кода

// текст основной программы

program lab7neuro;

uses

Forms,

lab7 in 'lab7. pas' {Form1}, // модуль формы

bkpropag in 'bkpropag. pas'; // модуль нейросети

{$R *. RES}

begin

Application. Initialize;

Application. CreateForm (TForm1, Form1);

Application.run;

end.

// модуль формы

unit lab7;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

bkpropag, Grids, StdCtrls, Spin, ExtCtrls, TeEngine, Series, TeeProcs,

Chart, Menus;

type

TForm1 = class (TForm) // класс формы

// Элементы управление VCL помещенные на форму

SpinEdit1: TSpinEdit; StringGrid1: TStringGrid; Panel1: TPanel; StringGrid2: TStringGrid; SpinEdit2: TSpinEdit; Label1: TLabel;

Label3: TLabel; Label4: TLabel; Chart1: TChart; Series1: TBarSeries;

Series2: TBarSeries; CheckBox1: TCheckBox; Panel2: TPanel;

Button2: TButton; Button1: TButton; SpinEdit3: TSpinEdit;

SpinEdit4: TSpinEdit; Label2: TLabel; Label5: TLabel;

SpinEdit5: TSpinEdit; Label6: TLabel; Button3: TButton;

Edit1: TEdit; Label7: TLabel; RadioButton1: TRadioButton;

RadioButton2: TRadioButton; CheckBox2: TCheckBox; Edit2: TEdit;

Label8: TLabel; Label9: TLabel;

// меню

PopupMenu1: TPopupMenu; N1: TMenuItem;

RANDOM1: TMenuItem; N21: TMenuItem; N2: TMenuItem;

N3: TMenuItem; N4: TMenuItem; N5: TMenuItem; N6: TMenuItem;

N7: TMenuItem; N8: TMenuItem;

// методы, выполняющие сервисные операции

procedure FormCreate (Sender: TObject);

procedure SpinEdit2Change (Sender: TObject);

procedure SpinEdit1Change (Sender: TObject);

procedure CheckBox1Click (Sender: TObject);

procedure Button1Click (Sender: TObject);

procedure Button3Click (Sender: TObject);

procedure FormDestroy (Sender: TObject);

procedure Button2Click (Sender: TObject);

procedure N1Click (Sender: TObject);

procedure RANDOM1Click (Sender: TObject);

procedure N21Click (Sender: TObject);

procedure N2Click (Sender: TObject);

procedure N3Click (Sender: TObject);

procedure N4Click (Sender: TObject);

procedure N5Click (Sender: TObject);

procedure N6Click (Sender: TObject);

procedure N7Click (Sender: TObject);

procedure N8Click (Sender: TObject);

private

{ обособленные методы }

neuro: TBackPropagation; // объект нейросети

CountNeuro: TVesCountNeuro; // количество нейронов в слоях

trend: TTrend; // временной ряд

normal: double;

end;

var

Form1: TForm1; // создаем форму

implementation

{$R *. DFM}

// действия при создании формы

procedure TForm1. FormCreate (Sender: TObject);

var j: word;

al,da: double;

begin

// инициализация

StringGrid2. ColCount: =SpinEdit2. Value+1;

for j: =1 to SpinEdit2. Value+1 do

StringGrid2. Cells [j,0]: =IntToStr (j);

StringGrid2. Cells [0,1]: ='Ряд';

StringGrid2. Cells [0,2]: ='Прогноз';

// Задание ряда

Randomize;

da: =3*pi/ (SpinEdit2. Value); al: =0;

for j: =1 to SpinEdit2. Value do

begin

StringGrid2. Cells [j,1]: =FloatToStr (sqr (sin (al)));

al: =al+da;

end;

// количество нейронов

StringGrid1. RowCount: =SpinEdit1. Value+1;

for j: =1 to SpinEdit1. Value+1 do

StringGrid1. Cells [0,j]: =IntToStr (j);

StringGrid1. Cells [1,0]: ='Нейронов';

StringGrid1. Cells [1,1]: ='4';

StringGrid1. Cells [1,2]: ='5';

StringGrid1. Cells [1,3]: ='1';

// нормирование

normal: =1;

end; // конец функции

// обработчик изменения количество элементов во временном ряду

procedure TForm1. SpinEdit2Change (Sender: TObject);

var j: word;

begin

StringGrid2. ColCount: =SpinEdit2. Value+1;

for j: =1 to SpinEdit2. Value+1 do

StringGrid2. Cells [j,0]: =IntToStr (j);

StringGrid2. Cells [0,1]: ='Ряд';

StringGrid2. Cells [0,2]: ='Прогноз';

end;

// обработчик изменения количества нейронов

procedure TForm1. SpinEdit1Change (Sender: TObject);

var j: word;

begin

StringGrid1. RowCount: =SpinEdit1. Value+1;

for j: =1 to SpinEdit1. Value+1 do

StringGrid1. Cells [0,j]: =IntToStr (j);

StringGrid1. Cells [1,0]: ='Нейронов';

end;

// подписывать данные в диаграмме

procedure TForm1. CheckBox1Click (Sender: TObject);

var i: integer;

begin

for i: =1 to 2 do

Chart1. Series [i-1]. Marks. Visible: =CheckBox1. Checked;

end;

// изобразить диаграмму

procedure TForm1. Button1Click (Sender: TObject);

var i,j: word;

AValue: double;

begin

for i: =1 to 2 do

begin

Chart1. SeriesList [i-1]. Clear;

for j: =1 to SpinEdit2. Value do

begin

if StringGrid2. Cells [j, i] ='' then AValue: =0 else AValue: =StrToFloat (StringGrid2. Cells [j, i]);

if (j>SpinEdit4. Value) and (i=2) then Chart1. SeriesList [i-1]. Add (AValue,'',rgb (0, 200,0))

else Chart1. SeriesList [i-1]. Add (AValue,'',Chart1. Series [i-1]. SeriesColor);

end;

end;

end;

// создание и обучение нейросети

procedure TForm1. Button3Click (Sender: TObject);

// обучение

var i,j: word;

Save_Cursor: TCursor;

maxn: double;

begin

Save_Cursor: = Screen. Cursor; Screen. Cursor: = crHourglass;

try

neuro. free; neuro: =TBackPropagation. Create; // создали нейросеть

// задаем количество слоев в нейросети и количество нейронов в каждом слое

// а также размер входного окна

for i: =1 to SpinEdit1. Value do CountNeuro [i]: =StrToInt (StringGrid1. Cells [1, i]);

neuro. SetArrayVesCount (SpinEdit1. Value,SpinEdit3. Value,CountNeuro);

// задаем временной ряд

for j: =1 to SpinEdit4. Value do if StringGrid2. Cells [j,1] ='' then trend [j]: =0 else trend [j]: =StrToFloat (StringGrid2. Cells [j,1]);

// выполняем нормализацию временного ряда

maxn: =trend [1];

for j: =2 to SpinEdit4. Value do if trend [j] >maxn then maxn: =trend [j];

if maxn>1 then normal: =1.2*maxn else normal: =1;

if CheckBox2. Checked then for j: =1 to SpinEdit4. Value do trend [j]: =trend [j] /normal;

neuro. SetTrend (SpinEdit4. Value,trend);

neuro.education (StrToFloat (Edit1. text),StrToFloat (Edit2. text)); // обучение

finally

Screen. Cursor: = Save_Cursor; { восстанавливаем форму курсора }

end;

end;

// закрытие формы

procedure TForm1. FormDestroy (Sender: TObject);

begin

neuro. free;

end;

// прогнозирование

procedure TForm1. Button2Click (Sender: TObject);

var X: TTrend; i,j: word;

begin

// прогнозирование

SpinEdit2. Value: =SpinEdit4. Value+SpinEdit5. Value;

StringGrid2. ColCount: =SpinEdit4. Value+SpinEdit5. Value+1;

for i: =1 to StringGrid2. ColCount do StringGrid2. Cells [i,2]: ='';

if RadioButton1. Checked then

begin // одношаговое предсказание

for i: =1 to SpinEdit4. Value+ (SpinEdit5. Value-SpinEdit3. Value) do

begin

for j: =1 to SpinEdit3. Value do

if StringGrid2. Cells [i+j-1,1] ='' then x [j]: =0 else x [j]: =StrToFloat (StringGrid2. Cells [i+j-1,1]) /normal;

StringGrid2. Cells [i+SpinEdit3. Value,2]: =FloatToStr (neuro. doprognoz (x) *normal);

end;

end

else // многошаговое прогнозирование

begin

// переписываем реальные данные в начало

for i: =1 to SpinEdit3. Value do StringGrid2. Cells [SpinEdit4. Value-i,2]: =StringGrid2. Cells [SpinEdit4. Value-i,1];

for i: =SpinEdit4. Value-SpinEdit3. Value to SpinEdit4. Value+SpinEdit5. Value-SpinEdit3. Value do

begin

for j: =1 to SpinEdit3. Value do

if StringGrid2. Cells [i+j-1,2] ='' then x [j]: =0 else x [j]: =StrToFloat (StringGrid2. Cells [i+j-1,2]) /normal;

StringGrid2. Cells [i+SpinEdit3. Value,2]: =FloatToStr (neuro. doprognoz (x) *normal);

end;

end;

end; // procedure

// задание стандартных зависимостей временного ряда

procedure TForm1. N1Click (Sender: TObject);

var da,al: double;

j: word;

begin

da: =pi/ (SpinEdit2. Value); al: =0;

for j: =1 to SpinEdit2. Value do

begin

StringGrid2. Cells [j,1]: =FloatToStr (sqr (sin (al)));

al: =al+da;

end;

Button1Click (sender);

end;

// аналогично работают другие пункты меню

….

procedure TForm1. N8Click (Sender: TObject);

var da,al: double;

j: word;

begin

da: =1/ (SpinEdit2. Value); al: =1;

for j: =1 to SpinEdit2. Value do

begin

StringGrid2. Cells [j,1]: =FloatToStr (1/al);

al: =al+da;

end;

Button1Click (sender);

end;

end. // конец модуля lab7

// модуль bkpropag

{*Модуль реализующий нейросеть обратного распространения *}

unit bkpropag;

interface

const MAXLAYERS=100; // максимальное количество слоев

const MAXVES=300; // максимальное количество нейронов в слое

const MAXINPUT=300; // максимальное количество входов нейросети

const MAXTRAND=300; // количество значений во временном ряду

type

TVesCountNeuro=array [0. MAXLAYERS] of word; // тип количество нейронов в слоях

TVesNeuro=array [1. MAXLAYERS,1. MAXVES,1. MAXVES] of double; // тип значений весов нейросети

TTrend=array [1. MAXTRAND] of double; // временной ряд

TOutPromezh=array [0. MAXLAYERS,1. MAXVES] of double; // промежуточные выходные сигналы

type

TBackPropagation=class // описание класса

private

fCountLayer: word; // количество слоев в нейросети

fArrayVesCount: TVesCountNeuro; // количество нейронов в слоях

fArrayVes: TVesNeuro; // значения весов нейросети

fXCount: word; // количество входных сигналов

fY: double; // выходной сигнал нейросети

fCountTrend: word; // количество чисел во временном ряду

fTrend: TTrend; // временной ряд

fYPromezh: TOutPromezh; // промежуточные выходные сигналы

procedure RandomVes; // задание весов случайным образом

function activation (g: double): double; // функция активации

function activation_diff (g: Double): double; // производная функции активации

public

constructor Create;

function Education (epsilon: double; alpha: double): boolean;

function DoOnePrognoz: double; // выполняет одношаговый прогноз

function DoPrognoz (X: TTrend): double;

// входные данные

// задание количество нейронов в слоях

function SetArrayVesCount (Count: word; XCount: word; AVC: TVesCountNeuro): boolean; // задание количество нейронов в слоях

function GetArrayVesCount (var Count: word; var XCount: word): TVesCountNeuro;

// задать временной ряд

function SetTrend (Count: word; ST: TTrend): boolean; // задать временной ряд

function GetTrend (var Count: word): TTrend;

property CountLayer: word read fCountLayer; // количество слоев

end; // конец описания класса

implementation

uses Forms,Dialogs,SysUtils;

{ TBackPropagation }

procedure TBackPropagation. RandomVes;

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

var i,j,k: word;

begin

for i: =1 to MAXLAYERS do

for j: =1 to MAXVES do

for k: =1 to MAXVES do

fArrayVes [i,j,k]: =Random (800) /1000;

end;

// функция активации

function TBackPropagation. activation (g: double): double;

begin

activation: =1/ (1+Exp (-g));

end;

// производная функции активации

function TBackPropagation. activation_diff (g: Double): double;

begin

activation_diff: =g* (1-g);

end;

constructor TBackPropagation. Create;

// конструктор

begin

// инициализируем все значения

fCountLayer: =0;

fCountTrend: =0;

fXCount: =0;

fY: =0;

Randomize;

RandomVes; // задание весов случайным образом

end;

function TBackPropagation. DoOnePrognoz: double;

// одношаговый прогноз

var i,j,k: word;

s: double;

begin

// задаем входные сигналы - нулевая строка в промежуточных выходах

for i: =1 to fXCount do fYPromezh [0, i]: =fTrend [fCountTrend-fXCount+i];

// выполняем расчет

for i: =1 to fCountLayer do // для каждого слоя

for j: =1 to fArrayVesCount [i] do // для кождого нейрона в слое

begin

s: =0;

for k: =1 to fArrayVesCount [i-1] do // каждый вес

s: =s+fArrayVes [i,j,k] *fYPromezh [i-1,k]; // умножаем на соответствующий выход предыдущего слоя

fYPromezh [i,j]: =activation (s); // функция активации

end;

DoOnePrognoz: =fYPromezh [fCountLayer,1]; // на последнем слое - один нейрон

end;

function TBackPropagation. DoPrognoz (X: TTrend): double;

// прогноз

var i,j,k: word;

s: double;

begin

// задаем входные сигналы - нулевая строка в промежуточных выходах

for i: =1 to fXCount do fYPromezh [0, i]: =X [i];

// выполняем расчет

for i: =1 to fCountLayer do // для каждого слоя

for j: =1 to fArrayVesCount [i] do // для каждого нейрона в слое

begin

s: =0;

for k: =1 to fArrayVesCount [i-1] do // каждый вес

s: =s+fArrayVes [i,j,k] *fYPromezh [i-1,k]; // умножаем на соответствующий выход предыдущего слоя

fYPromezh [i,j]: =activation (s); // функция активации

end;

DoPrognoz: =fYPromezh [fCountLayer,1]; // на последнем слое - один нейрон

end;

function TBackPropagation.education (epsilon: double; alpha: double): boolean;

// обучение

var ArrayDelta: TOutPromezh; // массив дельта-величин

i,j,k,m: word;

s,d,delta: double;

nach: word;

neuro_epsilon,neuro_epsilon2,d_epsilon: double;

kol: longint;

begin

d: =100; nach: =1; neuro_epsilon: =0; d_epsilon: =100;

kol: =0;

while (d_epsilon>epsilon) and (kol<200000000) do

begin {while}

inc (kol);

Application. ProcessMessages;

if nach<=fCountTrend-fXCount then

for i: =1 to fXCount do fYPromezh [0, i]: =fTrend [nach+i-1]

else

begin nach: =1; d_epsilon: =neuro_epsilon; neuro_epsilon: =0; continue; end; // анализируем временной ряд сначала

// выполняем прямой проход

for i: =1 to fCountLayer do // для каждого слоя

for j: =1 to fArrayVesCount [i] do // для каждого нейрона в слое

begin

s: =0;

for k: =1 to fArrayVesCount [i-1] do // каждый вес

s: =s+fArrayVes [i,j,k] *fYPromezh [i-1,k]; // умножаем на соответствующий выход предыдущего слоя

fYPromezh [i,j]: =activation (s); // функция активации

end;

// выполняем обратный проход

// для выходного слоя

for j: =1 to fArrayVesCount [fCountLayer] do // для каждого нейрона последнего слоя

begin

neuro_epsilon2: = (fTrend [nach+fXCount] - fYPromezh [fCountLayer,j]);

delta: =neuro_epsilon2*activation_diff (fYPromezh [fCountLayer,j]); // дельта-величина

ArrayDelta [fCountLayer,j]: =delta;

for k: =1 to fArrayVesCount [fCountLayer-1] do // для каждого веса нейрона последнего слоя

fArrayVes [fCountLayer,j,k]: =fArrayVes [fCountLayer,j,k] +alpha*delta*fYPromezh [fCountLayer-1,k];

end;

neuro_epsilon: =neuro_epsilon+abs (neuro_epsilon2);

// для скрытых слоев

for i: =fCountLayer-1 downto 1 do // для каждого слоя

for j: =1 to fArrayVesCount [i] do // для каждого нейрона в слое

begin // 1

// вычисляем ошибку скрытого слоя i

s: =0;

for m: =1 to fArrayVesCount [i+1] do // для каждого нейрона в следующем слое

s: =s+ArrayDelta [i+1,m] *fArrayVes [i+1,m,j];

// вычисляем дельта величину для слоя i

delta: =activation_diff (fYPromezh [i,j]) *s;

ArrayDelta [i,j]: =delta;

// корректируем веса для нейрона j слоя i

for k: =1 to fArrayVesCount [i-1] do // для каждого веса в нейроне

fArrayVes [i,j,k]: =fArrayVes [i,j,k] +alpha*delta*fYpromezh [i-1,k];

end; // 1

// определяем совокупную ошибку дельта-величины

d: =0;

for i: =1 to fCountLayer do // для каждого слоя

for j: =1 to fArrayVesCount [i] do // для каждого нейрона в слое

d: =d+abs (ArrayDelta [i,j]);

// переходим на следующее окно

inc (nach);

end; {while}

MessageDlg ('Нейросеть обучилась согласно заданным параметрам'#13+

'за '+IntToStr (kol) +' итераций'#13+

'с совокупной погрешностью '+FloatToStr (d_epsilon), mtInformation, [mbOk], 0);

end;

function TBackPropagation. GetArrayVesCount (

var Count: word; var XCount: word): TVesCountNeuro;

begin

// считываем значения

XCount: =fXCount;

Count: =fCountLayer;

GetArrayVesCount: =fArrayVesCount;

end;

// считываем тренд

function TBackPropagation. GetTrend (var Count: word): TTrend;

begin

Count: =fCountTrend;

GetTrend: =fTrend;

end;

// устанавливаем значения

function TBackPropagation. SetArrayVesCount (Count: word; XCount: word;

AVC: TVesCountNeuro): boolean;

begin

fXcount: =XCount;

fCountLayer: =Count;

fArrayVesCount: =AVC;

fArrayVesCount [0]: =fXCount; // количество входных сигналов

SetArrayVesCount: =true;

end;

// устанавливаем тренд

function TBackPropagation. SetTrend (Count: word; ST: TTrend): boolean;

begin

fCountTrend: =Count;

fTrend: =ST;

SetTrend: =true;

end;

end. // конец модуля bkpropag

Размещено на Allbest.ru


Подобные документы

  • Анализ применения нейронных сетей для прогнозирования ситуации и принятия решений на фондовом рынке с помощью программного пакета моделирования нейронных сетей Trajan 3.0. Преобразование первичных данных, таблиц. Эргономическая оценка программы.

    дипломная работа [3,8 M], добавлен 27.06.2011

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

    дипломная работа [955,3 K], добавлен 06.11.2011

  • Описание функционирования магазина мобильных телефонов. Особенности создания базы данных учета товарооборота магазина мобильных телефонов в СУБД Microsoft Access. Концептуальное проектирование системы, инфологическое моделирование предметной области.

    курсовая работа [9,5 M], добавлен 11.08.2012

  • Организация межтабличных связей в MS Excel для автоматического запроса цены и количества проданных телефонов, с использование функции ВПР или ПРОСМОТР. Расчет суммы, полученной от продаж. Составление документа "Ведомость продаж мобильных телефонов".

    контрольная работа [1,4 M], добавлен 10.10.2014

  • Простейшая сеть, состоящая из группы нейронов, образующих слой. Свойства нейрокомпьютеров (компьютеров на основе нейронных сетей), привлекательных с точки зрения их практического использования. Модели нейронных сетей. Персептрон и сеть Кохонена.

    реферат [162,9 K], добавлен 30.09.2013

  • Способы применения технологий нейронных сетей в системах обнаружения вторжений. Экспертные системы обнаружения сетевых атак. Искусственные сети, генетические алгоритмы. Преимущества и недостатки систем обнаружения вторжений на основе нейронных сетей.

    контрольная работа [135,5 K], добавлен 30.11.2015

  • Искусственные нейронные сети как одна из широко известных и используемых моделей машинного обучения. Знакомство с особенностями разработки системы распознавания изображений на основе аппарата искусственных нейронных сетей. Анализ типов машинного обучения.

    дипломная работа [1,8 M], добавлен 08.02.2017

  • Отличительные черты смартфонов и коммуникаторов от обычных мобильных телефонов, их дополнительные возможности. Назначение и конфигурация платформы J2ME, ее функции. Порядок проектирования приложения для мобильного телефона на основе платформы J2ME.

    дипломная работа [3,6 M], добавлен 05.09.2009

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

    презентация [582,1 K], добавлен 25.06.2013

  • Исследование задачи и перспектив использования нейронных сетей на радиально-базисных функциях для прогнозирования основных экономических показателей: валовый внутренний продукт, национальный доход Украины и индекс потребительских цен. Оценка результатов.

    курсовая работа [4,9 M], добавлен 14.12.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.