1.9 Техническое задание
Данное техническое задание распространяется на разработку системы автоматизированного построения нейронных сетей методом обратного распространения ошибки.[6] Предполагается, что её будут использовать финансисты, экономисты, медики, энергетики, то есть те люди, которые по роду своей деятельности занимаются планированием, прогнозированием, диагностированием либо просто принимают решения, зависящие от большого числа критериев. Данная система предназначена для построения многослойной нейронной сети, обучаемой по алгоритму обратного распространения ошибки. Система может применяться для решения широкого спектра задач, связанных с обработкой структурированных, представленных в виде таблиц, данных, при этом область приложения системы может быть практически любой. Механизмы, реализованные в системе, с успехом применяются на финансовых рынках, в страховании, торговле, телекоммуникациях, промышленности, медицине, в логистических и маркетинговых задачах и множестве других. Для её работы необходимо проделать следующие операции: собрать статистику по процессу, обучить нейросеть на приведенных данных, проверить полученные результаты. В результате обучения нейросеть самостоятельно подберет такие значения коэффициентов и построит такую модель, которая наиболее точно описывает исследуемый процесс. В настоящее время существует несколько подобных очень дорогих систем, выполняющих схожие функции, но они не узко специализированы, следовательно, массивны, более ресурсоемки и медлительны, поэтому мы считаем работу над этим проектом вполне актуальной.
НАЗНАЧЕНИЕ
Основным назначением программы является программное построение многослойной нейронной сети, обучаемой по алгоритму обратного распространения ошибки.
1. ТРЕБОВАНИЯ К ПРОГРАММЕ ИЛИ ПРОГРАМНОМУ ИЗДЕЛИЮ
1.1. Требования к функциональным характеристикам
1.1.1. Система должна обеспечивать возможность выполнения следующих функций:
· Импорт данных
· Обработка данных
· Нормализация данных
· Настройка параметров нейронной сети
· Обучение нейронной сети
· Визуализация данных
· Эксперимент
· Сохранение обученной нейронной сети
· Экспорт данных
4.1.2.Исходные данные:
· Статистические данные
· Параметры нормализации
· Количество слоёв и нейронов
· Параметры обучения нейронной сети
· Условия завершения обучения нейронной сети
· Параметры визуализации данных
· Данные для эксперимента
4.1.3. Результаты:
· Временные параметры обучения сети
· График обучения
· Обученная сеть
· Результаты эксперимента
4.2. Требования к надёжности
4.2.1. Предусмотреть контроль вводимой информации.
4.2.2. Предусмотреть блокировку некорректных действий пользователя при работе с системой.
4.2.3. Обеспечить целостность хранимой информации.
4.3. Требования к составу и параметрам технических средств
4.3.1. Система должна работать на IBM совместимых компьютерах.
4.3.2. Минимальная конфигурация:
· Типпроцессора……………….……..…………..Pentium I и выше;
· Частота процессора………………………………..100Mhz и выше;
· Объём оперативного запоминающего устройства(зависит от количества слоёв и нейронов в сети)………………64 Мб и более;
4.4. Требования к информационной и программной совместимости
Система должна работать под управлением семейства операционных систем Win 32 (Windows 95, Windows 98, Windows Me, Windows 2000, Windows NT, Windows XP).
Глава 2. Проектная часть
2.1 Математическая модель задачи
В наши дни возрастает необходимость в системах, которые способны не только выполнять однажды запрограммированную последовательность действий над заранее определенными данными, но и способны сами анализировать вновь поступающую информацию, находить в ней закономерности, производить прогнозирование и т.д. В этой области приложений самым лучшим образом зарекомендовали себя так называемые нейронные сети - самообучающиеся системы, имитирующие деятельность человеческого мозга. Рассмотрим подробнее структуру искусственных нейронных сетей (НС) и их применение в конкретных задачах.
Искусственный нейрон.
Несмотря на большое разнообразие вариантов нейронных сетей все они имеют общие черты. Так все они, также как и мозг человека, состоят из большого числа однотипных элементов - нейронов, которые имитируют нейроны головного мозга, связанных между собой. [10]
Рис.2.1 Схема нейрона
Из рисунка видно, что искусственный нейрон, так же как и живой, состоит из синапсов, связывающих входы нейрона с ядром, ядра нейрона, которое осуществляет обработку входных сигналов и аксона, который связывает нейрон с нейронами следующего слоя. Каждый синапс имеет вес, который определяет насколько соответствующий вход нейрона влияет на его состояние. Состояние нейрона определяется по формуле
,(1)
Где:
n - число входов нейрона
xi - значение i-го входа нейрона
wi - вес i-го синапса
Затем определяется значение аксона нейрона по формуле
Y = f(S),(2)
Где f - некоторая функция ,которая называется активационной. Наиболее часто в качестве активационной функции используется так называемый сигмоид, который имеет следующий вид:
(3)
Основное достоинство этой функции в том, что она дифференцируема на всей оси абсцисс и имеет очень простую производную:
(4)
При уменьшении параметра ??сигмоид становится более пологим, вырождаясь в горизонтальную линию на уровне 0,5 при ?=0. При увеличении ? сигмоид все больше приближается к функции единичного скачка.
Нейронные сети обратного распространения.
Нейронные сети обратного распространения - это мощнейший инструмент поиска закономерностей, прогнозирования, качественного анализа. Такое название - сети обратного распространения (back propagation) они получили из-за используемого алгоритма обучения, в котором ошибка распространяется от выходного слоя к входному, т.е. в направлении, противоположном направлению распространения сигнала при нормальном функционировании сети.
Нейронная сеть обратного распространения состоит из нескольких слоев нейронов, причем каждый нейрон слоя i связан с каждым нейроном слоя i+1, т.е. речь идет о полносвязной НС.
В общем случае задача обучения НС сводится к нахождению некой функциональной зависимости Y=F(X) где X-вектор входной, а Y -выходной векторы. В общем случае такая задача, при ограниченном наборе входных данных имеет бесконечное множество решений. Для ограничения пространства поиска при обучении ставится задача минимизации целевой функции ошибки НС, которая находится по методу наименьших квадратов:
,(5)
yj - значение j-го выхода нейросети
dj- целевое значение j-го выхода
p - число нейронов в выходном слое
Обучение нейросети производится методом градиентного спуска, т.е. на каждой итерации изменение веса производится по формуле
(6)
где ?- параметр определяющий скорость обучения
,(7)
yj- значение выхода j-го нейрона
1
Повышение эффективности обучения НС обратного распространения
Простейший метод градиентного спуска, рассмотренный выше, очень неэффективен в случае, когда производные по различным весам сильно отличаются. Это соответствует ситуации, когда значение функции S для некоторых нейронов близка по модулю к 1 или когда модуль некоторых весов много больше 1. В этом случае для плавного уменьшения ошибки надо выбирать очень маленькую скорость обучения, но при этом обучение может занять непозволительно много времени.
Простейшим методом усовершенствования градиентного спуска является введение момента ? ,когда влияние градиента на изменение весов изменяется со временем. Тогда формула (13) примет вид
(13.1)
Дополнительным преимуществом от введения момента является способность алгоритма преодолевать мелкие локальные минимумы.
Качественные данные мы можем разделить на две группы: упорядоченные и неупорядоченные. Для рассмотрения способов кодирования этих данных мы рассмотрим задачу о прогнозировании объёма продаж. Примером упорядоченных данных могут, например, являться данные о свойствах дня продаж.
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13