Научная статья на тему 'ПРИМЕНЕНИЕ LSTM-СЕТИ В РЕШЕНИИ ЗАДАЧИ ПРОГНОЗИРОВАНИЯ МНОГОМЕРНЫХ ВРЕМЕННЫХ РЯДОВ'

ПРИМЕНЕНИЕ LSTM-СЕТИ В РЕШЕНИИ ЗАДАЧИ ПРОГНОЗИРОВАНИЯ МНОГОМЕРНЫХ ВРЕМЕННЫХ РЯДОВ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
610
82
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
НЕЙРОННЫЕ СЕТИ / ПРОГНОЗИРОВАНИЕ / ВРЕМЕННЫЕ РЯДЫ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Обрубов Максим Олегович, Кириллова Светлана Юрьевна

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

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

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

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

USING LSTM NETWORK FOR SOLVING THE MULTIDIMENTIONAL TIME SERIES FORECASTING PROBLEM

The article discusses using of the recurrent neural networks technology to the multidimensional time series prediction problem. There is an experimental determination of the neural network architecture and its main hyperparameters carried out to achieve the minimum error. The revealed network structure going to be used further to detect anomalies in multidimensional time series.

Текст научной работы на тему «ПРИМЕНЕНИЕ LSTM-СЕТИ В РЕШЕНИИ ЗАДАЧИ ПРОГНОЗИРОВАНИЯ МНОГОМЕРНЫХ ВРЕМЕННЫХ РЯДОВ»

5) Уберите лишние данные - это может показаться вам странным, но данных подход довольно часто применим. Так, для обучения классификатора для определения профессиональной направленности на данном этапе мне была важна классификация IT профессий. Было правильным решением удалить классы, представленные недостаточной выборкой, и не относящиеся к IT.

6) Создайте синтетические данные - этот процесс относится к расширению выборки, но происходит искусственным путем. Например, если у вас нет возможности получить дополнительных данных, вы можете применить систематические алгоритмы для генерации синтетических образцов. Так, при помощи Weka, вы можете использовать SMOTE контролируемый фильтр. SMOTE - это метод передискретизации, который создает синтетические образцы [3].

Это не единственные способы по решению данной проблемы, но они являются самыми, на мой взгляд, понятными и наиболее применяемыми. Помните, что нет единственно верного подхода для решения проблемы несбалансированности. Все подходы можно применять в комплексе или выбрать один, и избежать проблем. Данная работа

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

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

1. 8 тактик для борьбы с несбалансированными классами в вашем наборе данных машинного обучения - режим доступа: https://www.machinelearningmastery.ru/tactics-to-combat-imbalanced-classes-in-your-machine-learning-dataset/

2. Samir, A. Transfer learning for class imbalance problems with inadequate data / A. Samir, K. R. Chandan // Knowl Inf Syst 48. — 2015. — P. 201-228.

3. Weka Wiki - режим доступа: https ://waikato. github. io/weka-wiki/

4. Махсотова, Ц. В. Исследование методов классификации при несбалансированности классов / Ц. В. Махсотова // Научный журнал. - 2017. - № 5(18). - С. 35-36.

5. Старовойтов В. В. Об оценке результатов классификации несбалансированных данных по матрице ошибок / В. В. Старовойтов, Ю. И. Голуб // Информатика. - 2021. - Т. 18, № 1. - С. 61-71.

ПРИМЕНЕНИЕ LSTM-СЕТИ В РЕШЕНИИ ЗАДАЧИ ПРОГНОЗИРОВАНИЯ МНОГОМЕРНЫХ ВРЕМЕННЫХ РЯДОВ

Обрубов Максим Олегович

Магистрант 2 курса кафедры информационных систем и программной инженерии "Владимирский государственный университет имени Александра Григорьевича и Николая

Григорьевича Столетовых" (ВлГУ), город Владимир Кириллова Светлана Юрьевна кандидат технических наук, профессор "Владимирский государственный университет имени Александра Григорьевича и Николая

Григорьевича Столетовых" (ВлГУ), город Владимир

USING LSTM NETWORK FOR SOLVING THE MULTIDIMENTIONAL TIME SERIES FORECASTING PROBLEM

Obrubov Maxim Olegovich

2nd year master's student of the Department of Information Systems and Software Engineering "Vladimir State University named after Alexander Grigorievich and Nikolai Grigorievich Stoletovs"

(VlSU), Vladimir

Kirillova Svetlana Yurievna

candidate of technical sciences, professor "Vladimir State University named after Alexander Grigorievich and Nikolai Grigorievich Stoletovs"

(VlSU), Vladimir

DOI: 10.31618/nas.2413-5291.2021.2.68.450

АННОТАЦИЯ

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

ABSTRACT

The article discusses using of the recurrent neural networks technology to the multidimensional time series prediction problem. There is an experimental determination of the neural network architecture and its main hyperparameters carried out to achieve the minimum error. The revealed network structure going to be used further to detect anomalies in multidimensional time series.

Ключевые слова: нейронные сети; прогнозирование; временные ряды.

Keywords: neural network; prediction; multidimensional time series.

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

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

Иными словами, существует временной ряд X = (хи, х2, ..., хь}, где х - это вектор признаков о заявке, Ь - длина временного ряда. Необходимо найти такую матрицу X/ (спрогнозированные будущие значения) чтобы ошибка между X/ (реальными будущими значениями) и X/ была минимальной.

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

Реализация выполняется на языке Python с использованием фреймворка Keras, с Tensorflow в качестве бэкенда. Для выполнения вспомогательных операций используются пакеты numpy и pandas.

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

1. выгружаются из хранилища данных при помощи подготовленных запросов;

2. очищаются от предварительно выявленных аномалий;

3. группируются в равномерный временной ряд, в котором временные отметки находятся на равных расстояниях (в 15 секунд), а к значениям ряда применяются агрегатные функции;

4. нормализуются в интервал [0, 1], чтобы иметь естественную форму для нейронных сетей;

5. делятся на тренировочную и проверочную выборки в соотношении 70/30.

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

4000 6000 8000 10000 12000 14000

Рисунок 1. Исходные данные

Начнём с минимальной архитектуры: 1 слой с 10 LSTM модулями, 1 полносвязный слой с 3 нейронами (на каждый признак). Эксперименты с усложнением архитектуры не привели к

улучшению результатов. Базовые гиперпараметры: оптимизатор - adam, количество эпох обучения -20, размер пакета - 5, временной лаг - 4, прогнозируемых значений - 1. В качестве функции

потерь используется среднеквадратичная ошибка (М5Е), так как она чувствительна к большим

отклонениям, что необходимо в задаче определения аномалий:

где п - количество наблюдений,

- реальное значение ряда, Л - прогнозное значение ряда.

Все эксперименты выполняются многократно (10 раз), в сводных таблицах приводится усредненная ошибка по всем попыткам.

Для начала определимся с функцией-оптимизатором. Оптимизатор определяет скорость и качество обучения модели. С его непосредственным участием модель в правильном направлении корректирует свои веса. В таблице 1

представлен список основных оптимизаторов, входящих в состав КегаБ.

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

Таблица 1.

Оптимизатор Ошибка

Количество заявок Размер запроса Размер ответа

adadelta 1.047 146.597 403.508

adagrad 0.774 98.443 836.599

adam 0.425 61.332 250.652

adamax 0.461 65.199 268.231

nadam 0.423 61.358 232.017

тБргор 0.414 61.424 249.774

sgd 0.725 83.588 407.229

Далее определимся со структурой нейронной сети. Так как усложнение архитектуры сети не привело к улучшениям, то будем экспериментировать с количеством модулей Ь8ТМ (таблица 2).

Из эксперимента видно, что оптимальный размер - 20 модулей. При меньшем количестве сеть недообучается, а при большем - переобучается. Для дальнейших исследований будем использовать 20 модулей Ь8ТМ.

Таблица 2.

Выбор количества LSTM модулей

Кол-во Ь8ТМ модулей Ошибка

Количество заявок Размер запроса Размер ответа

10 0.426 61.274 266.215

20 0.425 60.364 220.144

30 0.430 60.880 230.181

40 0.432 61.087 232.616

50 0.438 61.071 263.565

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

таблице 3, что, как и в случае с количеством переобучаться. Выберем 50 эпох, как компромисс

модулей Ь8ТМ, сначала наблюдается снижение между ошибкой и временем обучения. ошибки, а после 75 эпох - заметный рост. С

Таблица 3.

Выбор количества эпох обучения_

Количество эпох обучения Ошибка

Количество заявок Размер запроса Размер ответа

20 0.452 63.138 315.273

30 0.423 61.358 232.017

40 0.421 60.814 221.899

50 0.418 60.349 216.582

75 0.411 60.675 207.078

100 0.415 60.866 260.664

200 0.425 61.169 228.096

В рекуррентные сети данные на вход подаются пакетами, чтобы учитывать порядок следования [2]. Для оптимизации нужно также выбрать этот параметр.

Оптимальным является размер пакета - 10 (таблица 4). Такая ситуация возникла потому что с

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

Таблица 4.

Размер пакета Ошибка

Количество заявок Размер запроса Размер ответа

5 0.418 60.349 216.582

10 0.420 60.597 207.884

20 0.430 60.778 205.438

50 0.430 61.052 200.920

100 0.441 61.837 218.675

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

диапазонов по диапазонам. Здесь г - размер диапазона входных данных, или иначе называемый временной лаг, а / - размер прогнозируемого диапазона.

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

Входные данные прогноз

Рисунок 2. Процесс прогнозирования диапазонов по диапазонам

В таблице 5 отражен выбор временного лага. Наилучшие и примерно равные показатели имеют значения равные 4 и 6. Для значений выше 8 показатели ошибки резко возрастают. В таблице 6 отображен выбор размера прогнозируемого диапазона, там аналогично выбрано два значения -4 и 6. Значения выше 6 во внимание не берем, так как по требованиям процесса, диапазоны более 90

секунд являются слишком большими. Чтобы выбрать единственный лучший результат выполним перекрестное сравнение сетей с этими показателями (таблица 7). В таблице видно, что наилучшие результаты показывают варианты с размером прогнозируемого диапазона равным 6. Выберем вариант 6-6, так как ограничений по временному лагу процесс не ставит.

Таблица 5.

Временной лаг Ошибка

Количество заявок Размер запроса Размер ответа

2 0.440 65.128 222.932

4 0.420 60.597 207.884

6 0.407 60.743 225.981

8 0.425 62.233 243.772

Таблица 6.

Выбор размера прогнозируемого диапазона_

Размер прогнозируемого диапазона Ошибка

Количество заявок Размер запроса Размер ответа

1 0.420 60.597 207.884

2 0.419 61.255 207.072

3 0.428 60.744 219.996

4 0.422 61.127 185.808

6 0.405 58.802 180.376

Таблица 7.

Совмещенный выбор размера диапазонов_

Временной лаг Размер прогнозируемого диапазона Ошибка

Количество заявок Размер запроса Размер ответа

4 4 0.422 61.127 185.808

4 6 0.405 58.802 180.376

6 4 0.431 61.682 187.447

6 6 0.385 57.575 184.988

В итоге, оптимальными для данного процесса и исходных данных являются следующие гиперпараметры:

• оптимизатор - nadam;

• количество LSTM модулей - 20;

• количество эпох обучения - 50;

• размер пакета - 10;

• временной лаг - 6;

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

10 20 30 40

Рисунок 3 - Потери во время обучения

10

I I

- опд ргес!

Ц_

П'_(

эа1

2000

4000 6000 8000 10000 12000 14000

1000 500 0

40000 20000 О

I I

- опд

ргес!

пес

а

I

:а1

2000 4000 6000 3000 10000 12000 14000

- сшд гезиИ:;- ргес! |

1 1 1 1 1 1 1 1 % 1 1 1 1 II II | | 1| | | || 1

О 2000 4000 6000 8000 10000 12000 14000 Рисунок 4 - Итоговый прогноз оптимизированной моделью В результате построенная сеть достаточно качественно выполняет прогноз и удовлетворяет

требованиям задачи.

Список литературы: Annual Reviews in Control. — 2019. — Vol. 14. — P.

1. Dozat, T. Incorporating Nesterov Momentum 200-230.

into Adam / T. Dozat // ICLR Workshop. — 2016. 3. Kingma, D. Adam: A Method for Stochastic

2. Dupond, S. A thorough review on the current Optimization / D. Kingma, J. Ba // ICLR. — 2014. advance of neural network structures / S. Dupond //

КЛАССИФИКАЦИЯ ПОЛЬЗОВАТЕЛЕЙ СОЦИАЛЬНЫХ СЕТЕЙ ПО ПРОФЕССИОНАЛЬНОЙ ОРИЕНТАЦИИ

Обрубова Василиса Денисовна

Магистрант 2 курса кафедры информационных систем и программной инженерии "Владимирский государственный университет имени Александра Григорьевича и Николая

Григорьевича Столетовых" (ВлГУ), город Владимир Озерова Марина Игоревна кандидат технических наук, доцент "Владимирский государственный университет имени Александра Григорьевича и Николая

Григорьевича Столетовых" (ВлГУ), город Владимир

SOCIAL NETWORKS USER CLASSIFICATION FOR PROFESSIONAL ORIENTATION

Obrubova Vasilisa Denisovna

2nd year master's student of the Department of Information Systems and Software Engineering "Vladimir State University named after Alexander Grigorievich and Nikolai Grigorievich Stoletovs"

(VlSU), Vladimir

Ozerova Marina Igorevna

candidate of technical sciences, associate professor "Vladimir State University named after Alexander Grigorievich and Nikolai Grigorievich Stoletovs"

(VlSU), Vladimir

DOI: 10.31618/nas.2413-5291.2021.2.68.451

АННОТАЦИЯ

В статье рассматривается комплексная постановка темы классификации пользователей социальных сетей для определения профессиональной ориентации.

ABSTRACT

The article deals with a complex formulation of the topic social networks users classification to determine professional orientation.

Ключевые слова: классификация; алгоритмы классификации; профориентология; социальные сети. Keywords: classification; classification algorithms; vocational guidance; social networks.

Предметная область по данной теме находится профориентология. Второе направление - это

на стыке трех направлений (рисунок 1). Первое исследование социальных сетей. И третье

направление - это профессиональное направление - это сам подход по решению, а

ориентирование или так называемая наука именно машинное обучение.

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