Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

3865

.pdf
Скачиваний:
1
Добавлен:
15.11.2022
Размер:
44.99 Mб
Скачать
«Проекты»;

На участке |АВ|

различие незначительное, оно обусловлено несовершен-

Ускорение

 

 

 

 

 

5

 

 

 

 

 

4

 

 

 

 

 

3

 

 

 

С

Теоретич.

2

 

 

В

Реальное

 

 

 

1

 

А

 

 

 

 

 

 

 

 

0

 

 

 

 

 

1

 

2

3

4

 

Количество процессоров

 

 

 

 

Рис. 2.18. Зависимости изменения ускорения проведения вычислений от количества используемых процессоров

ством используемого программного обеспечения(используется относительно «медленная» среда разработки Delphi). На участке |ВС| различие более существенно, поскольку для реализации глобальных операций параллельных вычислений используется сетевой обмен данными, что существенно замедляет оперативность. Тем не менее прирост в быстродействии при использовании4 процессоров значителен (примерно на 3 порядка по скорости).

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

2.5.2. Программная реализация модифицированного генетического алгоритма распределения инвестиций

Реализация генетического алгоритма распределения финансовых инвестиций представлена в виде программного комплекса[95]. В качестве среды разработки модуля использована объектно-ориентированная среда разработки Delphi 7.0. Обоснование выбора данной среды представлено в [86, 131, 153].

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

Главная экранная форма программы содержит5 закладок: «Исходные данные»; «Результаты»; «Помощь»; «О программе».

После выбора закладки «Проекты» пользователю необходимо пройти процедуры аутентификации и идентификации. В результате появится меню «Проекты», содержащее опции: «создать»; «открыть»; «закрыть»; «сохранить»; «печать»; «свойства»; «выход». Пользователь имеет возможность загружать, редактировать и сохранять готовые проекты или формировать новые. Доступ к проектам обеспечивается в интерактивном режиме, путем выбора соответствующих дис-

91

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

Рис. 2.19. Окно главной экранной формы программы

При выборе закладки «Исходные данные» появляется меню, содержащее две опции: «Настройка ГА» и «Данные по проектам». Выбор опции «Настройка ГА» приводит к появлению соответствующей экранной формы (рис. 2.20).

Рис. 2.20. Экранная форма «Настройка ГА»

92

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

Выбор опции «Данные по проектам» приводит к появлению соответствующей экранной формы (рис. 2.21).

Рис. 2.21. Экранная форма «Данные по проектам»

Для ввода соответствующих значений необходимо нажать кнопку«Применить». После ее нажатия на экране появится экранная форма«Данные по проектам» с внесенными изменениями. После повторного отображения данного окна на нем становится доступной кнопка«Рассчитать». Для дальнейшего проведения расчетов необходимо ее нажатие. Если значения параметров не требуется вводить по каким-либо причинам, нажимается кнопка «Отмена». Кроме того, на данной форме имеются кнопки«Сохранить» и «Закрыть форму», реализующие соответствующие действия.

После проведения расчетов отображается окно с временными затратами

(рис. 2.22).

Рис. 2.22. Экранная форма «Завершение процесса расчета»

93

Результаты работы программы представляются в табличном и графическом видах. На рис. 2.23 приведена экранная форма представления результатов

втабличном виде. Результирующая таблица содержит:

-перечень финансовых инструментов, выбранных пользователем;

-общее распределение суммы по финансовым инструментам;

-помесячное распределение сумм по финансовым инструментам.

Рис. 2.23. Экранная форма «Распределение инвестиций»

На рис. 2.24 приведена гистограмма распределения инвестиций на примере казначейских обязательств.

Рис. 2.24. Гистограмма распределения инвестиций

94

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

Рис. 2.25. Сводная диаграмма распределения инвестиций

95

РАЗДЕЛ 3 ИНФОРМАЦИОННАЯ ПОДСИСТЕМА

НЕЙРОСЕТЕВОГО ПРОГНОЗИРОВАНИЯ ВРЕМЕННЫХ РЯДОВ

Информационная система нейросетевого прогнозирования временных рядов (ИСНПВ) представляет собой совокупность программного обеспечения, технических средств поддержки и труд ЛПР, используемых в интересах исследования нейронных сетей, а также определения «риск-эффектов» для реализации нейромодифицированной модели Шарпа. ИСНПВ может использоваться автономно и в составе СППИР. В последнем случае он принимает статус информационной подсистемы и носит название программного комплекса нейросетевого прогнозирования временных рядов(ПК НПВР). Рассмотрим его характеристику.

3.1. Характеристика программного комплекса нейросетевого прогнозирования временных рядов

Основное целевое назначение ПК НПВР– обеспечить формирование и обучение ИНС в интересах прогнозирования значений«риск–эффектов» для НМШ. Достижение данной достаточно узкой цели оказалось невозможным без решения более широкой задачи– исследования ИНС. Процесс исследования ИНС заключается в поиске их оптимальных структур и рациональных обучающих методов и алгоритмов. Разработанный комплекс обеспечивает реализацию данного процесса.

Структурно-функциональная схема ПК НПВР приведена на рис. 3.1.

 

Модуль

 

Модуль

 

 

Модуль

 

 

«Алгоритм

 

«Алгоритм

«Многослойный

 

обратного

 

имитации

персептрон»

 

распространения

 

отжига»

 

 

 

ошибки»

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Модули

 

 

Вых.

 

 

 

 

 

 

рез.

 

 

управления и визуализации

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Модуль

 

Модуль

 

Модуль

 

«Адаптация

 

«Эвристическая

«Генетический

 

архитектуры

 

оптимизация»

алгоритм»

 

нейронной

 

 

 

 

сети»

 

 

 

 

 

 

 

Рис. 3.1. Структурно-функциональная схема ПК НПВР

96

Как следует из рисунка, ПК НПВР включает следующие программные модули: управления и визуализации; «Многослойный персептрон»; «Алгоритм обратного распространения ошибки»; «Алгоритм имитации отжига»; «Генетический алгоритм»; «Адаптация архитектуры нейронной сети»; «Эвристическая оптимизация».

Модули управления и визуализации реализуют интерфейс взаимодействия пользователя с подсистемами, общее проведение расчетов, взаимообмен информацией между модулями и визуальное моделирование ИНС.

Модуль «Многослойный персептрон» реализует генерацию структур ИНС определенного класса и заданной архитектуры, включающей число слоев, количество нейронов в слое и др.

Модуль «Алгоритм обратного распространения ошибки» предназначен для обучения многослойного персептрона вышеназванным методом в интересах повышения его точностных характеристик.

Модуль «Эвристическая оптимизация» обеспечивает оптимизацию выбора ряда параметров действующих алгоритмов формирования и обучения ИНС эмпирическим путем.

Модуль «Генетический алгоритм» реализует случайный поиск экстремума функции для нескольких аргументов. Он представляет собой симбиоз переборного и градиентного методов.

Модуль «Адаптация архитектуры нейронной сети» обеспечивает рациональный выбор количества слоев сети, числа нейронов в каждом слое и количество необходимых связей между слоями адекватно поставленной задаче.

Модуль «Эвристическая оптимизация» обеспечивает оптимизацию выбора ряда параметров действующих алгоритмов формирования и обучения ИНС эмпирическим путем.

Рассмотрим детализацию некоторых функций ПК НПВР.

3.2. Формирование ИНС

Практические возможности формирования ИНС базируются на основных теоретических положениях, разработанных исследователями в данной предметной области.

В теоретическом плане на примере модели простейшего персептрона(рис. 3.2) доказана принципиальная возможность корректной настройки персептрона. Последнее выражается в существовании и сходимости алгоритма обучения [174]. На данном рисунке показано, что структура простейшего персептрона состоит из единственного нейрона, который, в свою очередь, представляется линейным сумматором и ограничителем. Сумматор вычисляет линейную комбинацию входных сигналов, поступающих на синапсы с учетом внешнего возмущения (порога). Полученная сумма (так называемое индуцированное локальное поле) передается на узел ограничителя. Ограничитель реализован в виде пороговой функции, определяющей знак. Выход нейрона принимает значение +1, если сигнал на выходе сумматора положителен, и -1, если отрицателен.

97

 

 

 

 

 

 

 

Порог, b

 

 

 

x1

 

 

 

 

 

 

 

 

 

w1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j(n )

Выход

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

Входы

 

 

 

 

 

 

 

 

 

.

 

w2

y

 

 

 

 

 

 

 

Ограничитель

 

 

 

 

 

 

.

wm

 

 

 

.

 

 

 

 

 

Линейный

сумматор

xm

Рис. 3.2. Модель простейшего персептрона

В данной модели синаптические веса персептрона обозначеныw1, w2,…, wm,; сигналы, поступающие на вход персептрона, обозначены х1,x2, …, хт; пороговое значение - b. Входной сигнал ограничителя (т.е. индуцированное локальное поле) нейрона определяется выражением

m

 

v = åwi xi + b .

(3.1)

i =1

Целью функционирования простейшего персептрона является корректное отнесение множества входных сигналов (входных образов) х1,x2, …, хт к одному из двух классов: С1 или С2. Решающее правило такой классификации заключа-

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

1

+1, и к классу С2 - в противном случае (если выход равен -1).

В данном случае в m-мерном пространстве сигналов, определяемом переменными х1,x2, …, хт, имеются всего две области решения (рис. 3.3).

х2

Класс С1

Класс С2

x1

0

Граница решений w1x1+ w2x2+b=0

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

Они разделены гиперплоскостью, определяемой формулой

m

 

å wi xi + b = 0 .

(3.2)

i =1

98

Для случая двух переменных, х1 и х2, когда разделяющая гиперплоскость вырождается в прямую, точки (x1,x2), лежащие выше этой прямой, относятся к классу С1, а точки, расположенные ниже прямой, принадлежат классу С2. Пороговое значение определяет смещение разделяющей поверхности по отношению к началу координат.

Синаптические веса персептрона w1, w2,…, wm можно адаптировать итеративным методом. В частности, для настройки весовых коэффициентов можно использовать алгоритм, основанный на коррекции ошибок и получивший название алгоритма сходимости персептрона.

Для определения алгоритма обучения персептрона, основанного на коррекции ошибок, построим модифицированный гpаф передачи сигнала (рис. 3.4).

Фиксированный

 

 

 

 

 

 

 

 

 

 

 

 

вход

x0= +1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w0= b

 

 

 

 

 

 

 

 

x1

 

 

 

 

 

 

 

 

 

 

 

 

w1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x2

 

 

 

 

 

 

 

 

 

 

 

Выход

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j(n )

 

Входы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

w2

 

 

 

 

 

 

y

 

 

 

 

 

 

 

 

 

 

 

 

 

Жесткое

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

wm

 

 

 

 

 

 

.

 

 

 

 

ограничение

 

Линейный xm сумматор

Рис. 3.4. Эквивалентный граф передачи сигнала для персептрона

Данный граф эквивалентен модели нейрона, показанной на рис. 3.2. При этом порог b(n) рассматривается как синаптический вес связи с фиксированным входным сигналом + 1.

Это можно описать следующим входным вектором размерности (m + 1):

x(n) = [+1, x1(n), x2 (n),...,xm (n)]T ,

(3.3)

где n - номер итерации алгоритма.

Аналоrично можно определить (m + l)-мерный вектор весовых коэффициентов

w(n) = [b(n), w1(n), w2 (n),...,wm (n)]T .

(3.4)

Следовательно, выход линейного сумматора можно записать в более

компактной форме

 

m

 

v(n) = åwi (n)xi (n) = wˆ T (n)x(n) ,

(3.5)

i=0

где wo(n) - пороговое значение b(n). При фиксированном значении n урав-

нение wˆ T (n) = 0 в m-мepном пространстве с координатами х1,x2, …, хт определяет гиперплоскость (для нeкoтopoгo предопределенногo значения порога), которая является поверхностью решений для двух классов входных сигналов.

99

Чтобы персептрон функционировал корректно, два класса, С1 и С2, должны быть линейно разделимыми. Это, в свою очередь, означает, что для правильной классификации образы должны быть отдалены друг от друга, чтобы поверхность решений могла представлять собой гиперплоскость. Это требование проиллюстрировано на рис. 3.5 для случая двумерного персептрона.

 

Граница

Класс

решений

 

С1

Класс

 

 

С2

Рис. 3.5. Пара линейно разделимых образов

Из рисунка видно, что два класса С1 и С2 удалены друг от друга, и их можно разделить гиперплоскостью (в данном случае прямой). Предположим, что входные переменные персептрона принадлежат двум линейно разделимым классам. Пусть Х1 - подмножество векторов обучения хl(l), xl(2), ..., которое принадлежит классу C1 , а Х2 - подмножество векторов обучения хl(l), xl(2), ..., относящееся к классу С2. Объединение подмножеств Х1 и Х2 составляет все обучающее множество Х. Использование подмножеств Х1 и Х2 для обучения классификатора позволит настроить вектор весовw таким образом, что два класса, С1 и С2,будут линейно разделимыми. Это значит, что существует такой вектор весовых коэффициентов w, для котoрoгo истинно следующее утверждение:

wTх > 0 для любогo входноrо вектора х, принадлежащего классу С1,

wTх <= 0 для любого входноro вектора х, принадлежащего классу С2. (3.6)

Во второй строке утверждения(3.6) указано, что при paвeнстве wTх =0 входной вектор х принадлежит именно классу С2. При определенных таким образом подмножествах Х1 и Х2 задача обучения элементарного персептрона сводится к нахождению тaкoгo вектора весов w, для котopoгo выполняются оба неравенства (3.6).

Алгоритм адаптации вектора весовых коэффициентов элементарноrо персептрона можно сформулировать следующим образом.

Если n-й элемент х(n) обучающего множества корректно классифицирован с помощью весовых коэффициентовw(n), вычисленных на n-м шагe алгoритма, то вектор весов не корректируется. Т.е. действует следующее правило:

w(n+1)= w(n), если wTх(n) > 0 и х(n) ÎC1 ,

 

w(n+1)= w(n), если wTх(n) <= 0 и х(n) ÎC2.

(3.7)

В противном случае вектор весов персептрона подвергается коррекции в соответствии со следующим правилом:

100

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]