Научная статья на тему 'Применение нейронной сети с функцией активации вида sin(x)/ x и |sin(x)/x| для экстраполяции стохастической функции (на примере продаж компании)'

Применение нейронной сети с функцией активации вида sin(x)/ x и |sin(x)/x| для экстраполяции стохастической функции (на примере продаж компании) Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
761
426
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Литвинов Максим Игоревич

В докладе будет рассматриваться вопрос применения нейронных сетей с функцией активации вида sin(x)/ x и |sin(x)/ x|| для прогнозирования продаж компании, предполагая, что поведение продаж попадает под определение РТХ. Достигнута большая точность прогнозирования, по сравнению с традиционными функциями активации. В источнике [1] исследуется использование НС с функцией активации вида sin(x)/x для прогнозирования выпадения осадков, но в данной работе будет применена также функция активации |sin(x)/x|. Моделирование нейросетевых архитектур будет производиться в среде Matlab.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Литвинов Максим Игоревич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Применение нейронной сети с функцией активации вида sin(x)/ x и |sin(x)/x| для экстраполяции стохастической функции (на примере продаж компании)»

Применение нейронной сети с функцией активации

вида sin( х)/ х и х)/ X для экстраполяции стохастической функции (на примере продаж компании)

Литвинов Максим Игоревич МИЭМ, кафедра ИТАС (promithias@yandex.ru)

В докладе будет рассматриваться вопрос применения нейронных сетей с функцией активации вида sin(х)/х и х)/X для прогнозирования продаж

компании, предполагая, что поведение продаж попадает под определение РТХ. Достигнута большая точность прогнозирования, по сравнению с традиционными функциями активации. В источнике [1] исследуется использование НС с функцией активации вида sin(х)/х для прогнозирования выпадения осадков, но в данной работе будет применена также функция активации х)/х|. Моделирование нейросетевых архитектур будет производиться в среде МайаЪ.

Введение

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

При решении задач прогнозирования роль нейронной сети состоит в предсказании будущей реакции системы по её предшествующему поведению. Обладая информацией о значении переменной с в моменты, предшествующие прогнозированию с(к ~ 1), X(к ~ 2), X(к сеть вырабатывает решение, каким будет наиболее вероятное значение последовательности с(к) в текущий момент к. Для адаптации весовых коэффициентов сети используются фактическая погрешность

прогнозирования e = %(k) - %(k) и значения этой погрешности в

предыдущие моменты времени.

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

и и 1 гр и

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

Распределения, в которых влиянием хвоста нельзя пренебречь называют распределением с тяжёлыми хвостами (РТХ); другими словами, имеют место достаточно крупные, но редкие события.

(fat tail, heavy tail) если математическое E(х) ожидание равно бесконечности.

F (х) - функция распределения; f (х) - плотность распределения; 1 - F (х) - хвост распределения; Е(х) - математическое ожидание. Более полное математическое определение приводится в [3,6,7].

Функции sin( х)/ х и sin( х)/ х должны лучше описывать явления, происходящие

на концах распределения. Кроме того, в работах [3] и [6] указывается, что в геологии, экономике, сетевом трафике имеет место быть процессы, влиянием хвостов, которых нельзя пренебречь. Хотя вид распределения случайного процесса, как правило, не известно в данном докладе будет показано, что функции активации sin( х)/ х и

sin(х)/х не ухудшат ситуацию.

Постановка задачи и архитектура нейронных сетей

По имеющимся данным продаж для 7 регионов некоторой компании (далее по тексту «Фирма») за год составить прогноз продаж на последующие 6 месяцев. При прогнозировании продаж на каждый последующий месяц будет использоваться информация по предыдущим 6 месяцам. Формула имеет следующий вид:

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

% (k) = G(% (k -1), % (k - 2), % (k - 3), % (k - 4), % (k - 5), % (k - 6))

Функции G(%(...)) будет получена после обучения нейронных сетей, но не в явной аналитической форме.

В распоряжении имеются продажи «Фирмы» за 18 месяцев, таким образом, обучающая выборка будет содержать 6 эталонов, по оставшимися 6-ти будет производится оценка качества прогнозирования выбранной нейросетевой архитектуры. Для получения последующих прогнозов, будут использоваться значения предыдущих прогнозов данной нейронной сетью. Согласно рекомендациям в гл. 12 источника [2], исходные данные рекомендуется нормировать в интервале [0,05...0,95], чтобы избежать попадания в экстремум функции активации. Последнее замечание особенно актуально для функции sin( х)/ х, которая имеет разрыв в точке х = 0.

Оценка качества работы нейронной сети будет производится по критерию MSE (mean square error - средняя квадратичная ошибка).

1 Q 1 Q

mse = - £ e(l)2 = - £ (t(l) - a(l))2

Q i=1 Q i=1

Q - количество элементов; e(l)2- квадрат ошибки для l- того элемента; t(l)-требуемое значение; a(l) - выходное значение нейронной сети.

Создание нейросетевых моделей производится в среде Matlab 6.5, в которой есть все необходимые средства для создания многослойного персептрона и других видов сетей. Кроме того, в Matlab есть возможность применения собственной функции активации.

Сетевые архитектуры для данной задачи прогнозирования продаж имеют следующую архитектуру: 6 нейронов во входном слое; 13 нейронов в первом скрытом

ЛП и Л и u и

слое; 27 нейронов во втором скрытом слое;1 нейрон на выходе нейронной сети. Количество нейронов в скрытом слое выбирается согласно теореме Колмогорова: при N входных нейронах будет достаточно использовать для реализации заданной функции скрытый слой с (2*N +1) нейронами. С помощью теоремы Колмогорова также доказывается, что для аппроксимации функции максимальное количество скрытых слоёв, достаточных для аппроксимации заданного преобразования, не превышает двух. Более подробно о подборе архитектуры нейронной сети можно прочитать в источнике [4].

Нейронные сети будут обучаться с использованием алгоритма Левенберга-Марквардта для адаптации синаптических весов. В источнике [4] приводится теоретическое обоснование этого алгоритма, а в источнике [5] приводятся результаты, показывающие, что метод Левенберга-Марквардта наиболее оптимален для применения в Matlab. Любой, из ныне разработанных, алгоритмов обучения не даёт гарантии достижения глобального оптимума, который в случае поставленной задачи, означает, что прогнозирование будет осуществляться с точностью равной ошибке обучения. При оценке нейронных сетей будет использоваться статистическая обработка результатов: при проведении большого числа экспериментов получится наиболее ожидаемый результат, который может выдавать данная нейросетевая архитектура. Формула выглядит следующим образом:

X(к) = £ 0(х(...))

I=1

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

Выбор функция активации

Традиционно в различных нейросетевых архитектурах используются вариации экспоненциальных функций, например: логистическая, гиперболический тангенс. Такие функции хорошо выступают в качестве усилителей сигнала или хорошо описывают нормальные распределения, математический аппарат которых, хорошо разработан. Для описания РТХ распределений, которые, по-видимому, больше приближены к природным явлениям лучше подходят функции активации sin( х)/ х и

х)/ х , чему и посвящена данная публикация. В Таблице 1 приведены основные функции активации, которые использовались в данном эксперименте.

Таблица 1

Функция 1

1-— (логистическая)

Непрерывная да Область значений (0,1) Производная е

х\ 2

(1 + е -х )

Функция ех - е-х

- х . -х

е + е

( гиперболический тангенс)

Непрерывная да Область значений (-1,1)

Производная (ех - е-х)

1 - (ех + е "х )

Функция sin( х)

х

Непрерывная нет, разрыв в точке х = 0 Область значений (-0.23,1)

Производная cos(x) sin( х)

х х 2

Функция sin( х)

х

Непрерывная нет, разрыв в точке х = 0 Область значений (0,1)

Производная ( sin( х) V cos(x) sin( х)

Практические результаты

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

Краткие пояснения к графикам: «Исход» - исходные продажи;

«1о§81§» - экстраполяция логистической функцией активации;

«1о§81§+ригеНп» - экстраполяция логистической функцией активации с линейной на выходе;

<«тх/х» - экстраполяция функцией активации вида х)/ х;

«аЪ8(8тх/х)» - экстраполяция функцией активации вида Бт(х)/ х ;

«1аш1§+ро81т» - экстраполяция нейронной сетью на основе гиперболического тангенса с линейной на выходном слое;

«1аш1§» - экстраполяция нейронной сетью на основе только гиперболического тангенса.

на выходе, предсказывая точное значения в точке 17. Практически сопоставимые результаты показывают чисто нейронная сеть с только логистической функцией активации, х)/хи Бт(х)/х|. Экстраполяции сетями на основе гиперболического тангенса далеки от реальных значений.

Наилучшим результатом при экстраполяции продаж «Региона 2» оказалась сеть на основе гиперболического тангенса. Нейронная сеть только с гиперболическим

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

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

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

и 1 и и и

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

отвлеченный от реальности прогноз. Остальные нейронные сети показывают сопоставимые результаты. Диаграмма 6

С задачей прогноза справились лишь только сети на основе вт(х)/хи вт(х)/х|. Причём, наилучший результат с СКО 0.0063 дала сеть Бт( х)/ х, что очень близко к реальным продажам. Диаграмма 7

1.4000 1.2000 1.0000 0.8000 0.6000 0.4000 0.2000 0.0000

— Исход logsig

— logsig+purelin sinx/x

— abs(sinx/x) tansig+poslin

—tansig

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

Не смогли проявить себя вариации сетей на основе гиперболического тангенса. Сети с функциями Бт( х)/ х и Бт( х)/ х выдали наиболее близкие результаты, причём, последняя сеть наиболее точно отразила поведение продаж.

Выводы

В таблице 2 приведены СКО для каждой нейронной сети и каждого региона. В строке «Ср. Итог» вычислен средняя итоговая СКО для каждой нейросетевой архитектуры. Наименьшая средняя квадратическая ошибка при экстраполяции у нейронной сети на основе логистической функции активации, но как видно из анализа диаграмм, прогнозы зачастую выдают некое среднее значение и не отражают динамики поведения продаж. Второе место по качеству прогнозирования у нейронной сети Бт( х)/х, которая за исключением результатов для «Региона 1» и «Региона 2» выдаёт вполне стабильный результат прогноза, превосходящий показатели

Регион 7

логистической функции. Кроме того, экстраполяции сетью Бт( х)/ х отражают динамику поведения и амплитуду, результат для Региона 5 с СКО 0.0063, по мнению автора, вполне закономерный результат. Вероятно, резкое ухудшение результата прогноза вызвано наличием точки разрыва у функции активации. Третье место занимает нейронная сеть на основе функции Бт( х)/ х ,

которая также выдаёт стабильный результат прогноза с отражением характера поведения процесса. Наличие плохой экстраполяции для «Региона 2», по-видимому, связано с наличием точки разрыва. Последнее место занимают нейронные сети на основе «гиперболического тангенса», которые выдают сильно оторванные от действительности результаты. Возможно, для таких нейросетевых архитектур нужно нормировать данные в другом диапазоне. На основе анализа «Таблицы 2» можно сделать вывод, что нейронная сеть на основе выдает Бт( х)/ х выдаёт сопоставимые результаты с логистической функцией активации, превосходя даже по нескольким показателям. Наложение дополнительных ограничений на точку разрыва и применение других алгоритмов обучения, вероятно, позволит улучшить результат экстраполяции по всем показателям для сетей на основе Бт( х)/ х и Бт( х)/ х .

Таблица 2

СКО purelin Sinx/x abs(Sinx/x) tansig poslin tansig

Регион 1 0.1146 0.0342 0.1023 0.0776 0.0490 0.6418

Регион 2 0.0417 0.1176 0.3014 0.5247 0.0299 0.4113

Регион 3 0.0450 0.0056 0.0532 0.0330 0.0153 0.6381

Регион 4 0.0311 0.2324 0.0235 0.0411 0.4188 0.2107

Регион 5 0.0124 0.2241 0.0063 0.0221 0.3232 0.2934

Регион 6 0.2381 0.2299 0.0324 0.0562 0.4116 0.3055

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Регион 7 0.0236 0.1533 0.0450 0.0450 0.5998 0.0928

Ср. Итог 0.0724 0.1425 0.0806 0.1142 0.2639 0.3705

Список литературы:

1. Ming Zhang, «A DATA SIMULATION SYSTEM USING CSINC POLYNOMIAL HIGHER ORDER NEURAL NETWORKS», 2006.

2. Bigus J.P., «Data mining with neural networks», 1996.

3. О.И. Шелухин, А.М. Тенякшев, А.В. Осин «Фрактальные процессы в телекоммуникациях», 2003.

4. С. Осовский, «Нейронные сети для обработки информации», 2004.

5. Howard Demuth, Mark Beale, «Neural network toolbox for use with matlab», 2001.

6. М.В. Родкин, «Теория экстремальных значений, распределение вероятностей для хвоста распределения для основных типов распределений, вопросы применения».

7. Беврани Х., Аничкин К., «Оценка параметров распределения с тяжёлыми хвостами с помощью эмпирического распределения», 2005.

i Надоели баннеры? Вы всегда можете отключить рекламу.