Научная статья на тему 'ОБНАРУЖЕНИЕ ДРЕЙФА КОНЦЕПТА ПРИ КЛАССИФИКАЦИИ МОБИЛЬНЫХ ПРИЛОЖЕНИИ С ИСПОЛЬЗОВАНИЕМ АВТОКОДИРОВЩИКОВ'

ОБНАРУЖЕНИЕ ДРЕЙФА КОНЦЕПТА ПРИ КЛАССИФИКАЦИИ МОБИЛЬНЫХ ПРИЛОЖЕНИИ С ИСПОЛЬЗОВАНИЕМ АВТОКОДИРОВЩИКОВ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
10
4
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
алгоритмы классификации / дрейф концепта / поток данных / атрибуты и приложения / метки класса / classification algorithms / concept drift / data stream / attributes and applications / class labels

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Шелухин Олег Иванович, Барков Вячеслав Валерьевич, Симонян Айрапет Генрикович

Введение: Рассматривается задача обнаружения дрейфа концепта в задачах многоклассовой классификации приложений на примере собранного набора данных сетевого трафика в виде IP-пакетов с мобильных устройств под управлением ОС Android с помощью Android VPN API. Цель исследования: разработка и программная реализация алгоритма обнаружения смены концепта в задачах многоклассовой классификации трафика мобильных приложений с использованием ИНС типа автокодировщик (АК). Новизна работы заключается в обнаружении дрейфа одного или нескольких мобильных приложений на основе изменения статистических характеристик одного или нескольких атрибутов без использования истинных меток классов с применением ИНС типа автокодировщик. Результаты: Разработан алгоритм обнаружения дрейфа концепта приложений, основанный на анализе изменений статистических характеристиках атрибутов или заметного снижения качества классификации анализируемых приложений. В качестве базовой модели детектора дрейфа концепта анализируемых приложений использованы автокодировщики. Приводятся основные теоретические положения создания алгоритма. Показано, что если АК обучен только на доброкачественных экземплярах, то он сможет реконструировать нормальные наблюдения, но не может реконструировать аномальные наблюдения (неизвестные понятия). В результате, когда АК фиксирует существенную ошибку реконструкции, это классифицирует данные наблюдения как аномальные. Наличие дрейфа оценивается с помощью оценок ошибок реконструкции анализируемых приложений и превышения пороговых значений. Представленное решение реализовано в программной среде Python.

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Шелухин Олег Иванович, Барков Вячеслав Валерьевич, Симонян Айрапет Генрикович

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

CONCEPT DRIFT DETECTION IN MOBILE APPLICATIONS CLASSIFICATION USING AUTOENCODERS

Intoduction: The study observes the task of concept drift detection in multiclass applications classification tasks on the example of collected data set of network traffic in the form of IP packets from Purpose of the study: development and software implementation of an algorithm for a concept change detection in tasks of multiclass mobile application traffic classification using ANNs of the autoencoder type (AC). Novelty of the study consists in drift detection of one or several mobile applications based on changes in the statistical characteristics of one or several attributes without usage of true class labels implying ANNs of the autoencoder type. Results: The study developed an algorithm for concepts drift of application detection based on the analysis of changes in the statistical characteristics of attributes or a noticeable decrease in the quality of the analyzed applications classification. As for fundamental model of concept drift detector of analyzed applications, the study used autoencoders. The research contains basic theoretical positions of the algorithm creation. The study shows that in case of trained AC only on high-quality prototypes, it will be able to reconstruct normal observations but not abnormal observations (unknown concepts). As a result, when the autoencoder detects a significant reconstruction error, it classifies the observation data as abnormal. Estimation of reconstruction errors of the analyzed applications and excess of threshold value assess the presence of drift. The Python software environment provides the implementation of the presented solution.

Текст научной работы на тему «ОБНАРУЖЕНИЕ ДРЕЙФА КОНЦЕПТА ПРИ КЛАССИФИКАЦИИ МОБИЛЬНЫХ ПРИЛОЖЕНИИ С ИСПОЛЬЗОВАНИЕМ АВТОКОДИРОВЩИКОВ»

doi: 10.36724/2409-5419-2023-15-3-20-29

ОБНАРУЖЕНИЕ ДРЕЙФА КОНЦЕПТА

ПРИ КЛАССИФИКАЦИИ МОБИЛЬНЫХ ПРИЛОЖЕНИЙ

С ИСПОЛЬЗОВАНИЕМ АВТОКОДИРОВЩИКОВ

ШЕЛУХИН Олег Иванович1

БАРКОВ

Вячеслав Валерьевич 2 СИМОНЯН

Айрапет Генрикович 3

Сведения об авторах:

1 д.т.н., профессор, заведующий кафедрой, Московский технический университет связи и информатики, Москва, Россия, sheluhin@mail.ru

АННОТАЦИЯ

Введение: Рассматривается задача обнаружения дрейфа концепта в задачах многоклассовой классификации приложений на примере собранного набора данных сетевого трафика в виде IP-пакетов с мобильных устройств под управлением ОС Android с помощью Android VPN API. Цель исследования: разработка и программная реализация алгоритма обнаружения смены концепта в задачах многоклассовой классификации трафика мобильных приложений с использованием ИНС типа автокодировщик (АК). Новизна работы заключается в обнаружении дрейфа одного или нескольких мобильных приложений на основе изменения статистических характеристик одного или нескольких атрибутов без использования истинных меток классов с применением ИНС типа автокодировщик. Результаты: Разработан алгоритм обнаружения дрейфа концепта приложений, основанный на анализе изменений статистических характеристиках атрибутов или заметного снижения качества классификации анализируемых приложений. В качестве базовой модели детектора дрейфа концепта анализируемых приложений использованы автокодировщики. Приводятся основные теоретические положения создания алгоритма. Показано, что если АК обучен только на доброкачественных экземплярах, то он сможет реконструировать нормальные наблюдения, но не может реконструировать аномальные наблюдения (неизвестные понятия). В результате, когда АК фиксирует существенную ошибку реконструкции, это классифицирует данные наблюдения как аномальные. Наличие дрейфа оценивается с помощью оценок ошибок реконструкции анализируемых приложений и превышения пороговых значений. Представленное решение реализовано в программной среде Python.

2 старший преподаватель, Московский технический университет связи и

информатики, Москва, Россия, v.v.barkov@mtuci.ru

3 к.т.н., доцент, доцент, Московский технический университет связи и информатики, Москва, Россия, simonyanag@mail.ru

КЛЮЧЕВЫЕ СЛОВА: алгоритмы классификации, дрейф концепта, поток данных, атрибуты и приложения, метки класса.

Для цитирования: Шелухин О.И., Барков В.В., Симонян А.Г. Обнаружение дрейфа концепта при классификации мобильных приложений с использованием автокодировщиков // Наукоемкие технологии в космических исследованиях Земли. 2023. Т. 15. № 3. С. 20-29. СоИ 10.36724/2409-5419-2023-15-3-20-29

Введение

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

Явление, когда характеристики и распределение данных меняются, приводя к необходимости обновления моделей, лежащих в основе алгоритмов классификации, называется «дрейф концепта», а адаптация модели к новым изменениям - «адаптация дрейфа концепта». Подобная проблема называется «Обнаружение и адаптация дрейфа концепта» [1,2,3].

Термин «дрейф концепта» относится к явлению, когда статистические свойства класса или целевой переменной изменяются со временем случайным образом [4], и впервые был предложен в [5].

Рассмотрим поток данных X , наблюдаемый в момент времени представленный в виде совокупности пар (Х1, у1),

(Хг>Уг) > (ХмУщ) >гДе Хт вектор атрибутов, аут-соответствующая метка. При классификации обычно имеются маркированные прошлые данные, и задача состоит в том, чтобы предсказать метку ум1+1 для вектора Хм^+1, являющуюся одной точкой, или для коллекции точек данных в виде небольшой группы, Хм1+1,Хм1+2,Хм^, наблюдаемых в потоке данных в момент времени t+l. Для этого на имеющихся помеченных данных (хх,у1), (Х2,у2) ,(ХмУм1) обучается

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

Между временем I и t+l может произойти дрейф концепта. В зависимости от источника дрейфа и его влияния на совместное распределение вероятностей атрибутов и метки класса, дрейф концепта может быть виртуальным или реальным [6,7]. В случае если изменение статистических характеристик атрибутов не влияет на принятие решения, то такой дрейф называется виртуальным. В противном случае дрейф называетсяреальным [8, 9,14].

В случае реального дрейфа производительность классификатора ухудшится с точки зрения метрики оценки, и потребуется обновление модели. Изменения в распределении данных могут происходить по разным шаблонам, которые могут влиять на границу принятия решения (реальный или виртуальный дрейф концепта) в сценарии контролируемого обучения. Эти изменения могут быть измерены с помощью некоторых статистических показателей, таких как среднее значение, дисперсия и т.д. Исходя из модели изменения, дрейф концепта можно разделить на «внезапный» (резкий), «инкре-ментный», «постепенный» и «повторяющийся» [1,10].

Одним из современных подходов к обнаружению дрейфа концепта является метод, опирающийся на глубокие автокодировщики (АК), обученные на статистических характеристиках, извлеченных из данных нормального трафика. Показана эффективность технологии глубокого обучения для об-наружениядрейфа [6,7,8,9].

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

Задачу обнаружения дрейфа концепта в задачах многоклассовой классификации мобильных приложений рассмотрим на примере собранного набора данных [10-13]. Сбор необработанных данных сетевого трафика в виде IP-пакетов осуществлялся на мобильных устройствах под управлением ОС Android с помощью Android VPN API. Обработка данных, включающая фильтрация пакетов, содержащих данные протокола TCP, группировку пакетов в TCP сеансы, а также вычисление атрибутов TCP сеансов, характеризующих особенности анализируемых приложений, осуществлялась на сервере всякий раз, когда приходил IP-пакет. Набор вычисляемых атрибутов представлен в таблице 1.

Таблица 1

Описание атрибутов

№ x Название

1 x« Общий объем полезной нагрузки на сетевом уровне от клиента в байтах. Не включает длину заголовка 1Р

2 x® Общий объем полезной нагрузки на сетевом уровне от сервера в байтах. Не включает длину заголовка 1Р

3 x® Общий объем полезной нагрузки на транспортном уровне от клиента в байтах. Не включает длину заго-ловка1РиТСР(иБР)

4 Общий объем полезной нагрузки на транспортном уровне от сервера в байтах. Не включает длину заго-ловка1РиТСР(иБР)

5 x® Средний размер пакета на сетевом уровне со стороны клиента в байтах

6 x® Средний размер пакета на сетевом уровне со стороны сервера.

7 x<7) Средний размер полезной нагрузки на транспортном уровне со стороны клиента.

8 x® Средний размер полезной нагрузки на транспортном уровне со стороны сервера.

9 x^ Стандартное отклонение размера пакета на сетевом уровне со стороны клиента

10 x(10) Стандартное отклонение размера пакета на сетевом уровне со стороны сервера

11 x®) Стандартное отклонение размера полезной нагрузки на транспортном уровне со стороны клиента

12 x<12> Стандартное отклонение размера полезной нагрузки на транспортном уровне со стороны сервера

13 x<13) Среднее число пакетов сетевого уровня для передачи сообщения со стороны клиента

14 x<14) Среднее число пакетов сетевого уровня для передачи сообщения со стороны сервера

15 ¿15) КПД клиента - Количество переданной полезной нагрузки транспортного уровня, делённое на общее количество переданной нагрузки транспортного и сетевого уровня со стороны клиента.

16 x(16) КПД сервера - Количество переданной нагрузки сетевого уровня, делённое на общее количество переданной нагрузки транспортного и сетевого уровня со стороны сервера.

17 x<17) Соотношение байт - во сколько раз клиент передал больше пакетов в байтовом представлении, чем сервер.

18 x(18) Соотношение полезной нагрузки транспортного уровня - во сколько раз клиент передал больше байт полезной нагрузки на транспортном уровне, чем сервер.

№ X Название

19 X19'> Соотношения общего количества пакетов на сетевом уровне - во сколько раз клиент передал больше пакетов на сетевом уровне, чем сервер.

20 X(20) Общее количество переданных датаграмм на сетевом уровне со стороны клиента

21 X(21) Общее количество переданных датаграмм на сетевом уровне со стороны сервера

22 x^ 1Р-адрес источника

23 X(23) 1Р-адрес назначения

Обработанные данные сетевого трафика формируют набор данных, состоящий из экземпляров. Каждый экземпляр набора это TCP сеанс sm е S, представленный в виде

вектора вычисленных атрибутов, Xm = (x^', 1, N) e X перечисленных в таблице 1, характеризующих множество приложений A = |ск; к = 1, Кj Последовательно идущие экземпляры формируют группы экземпляров G^r-1 £ G . Каждая группа экземпляров, кроме последней, содержит одинаковое количество экземпляров.

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

В качестве базовой модели детектора дрейфа для каждого анализируемого приложения будем использовать автокодировщики [14,15]. Автокодировщик - это искусственная нейронная сеть (ИНС), которая обучена восстанавливать свои входные данные после некоторого сжатия.

Если АК обучен на экземплярах только одного приложения, он сможет реконструировать экземпляры только этого приложения, но не сможет реконструировать другие приложения, в том числе неизвестные или искажённые. В результате, когда фиксируется существенная ошибка реконструкции восстановленных данных на выходе АК, данный экземпляр классифицируется как не принадлежащий рассматриваемому приложению. Этот эффект будет заложен в алгоритм обнаружения дрейфа концепта [16,17,18].

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

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

Подготовка исходных данных

Пусть имеется множество IP пакетов P = {pj; j = 1, J}

мощностью J и множество приложений A = {Ск; к = 1, K} мощностью K, которое их генерирует.

С помощью функции фильтрации

f: {P' с P} ^ {P" с P'} из множества P выберем только те пакеты, которые содержат в себе TCP сегменты:

PTCP = f (P)' PTCP с P ■

С помощью функции группировки у : |PC с PTCP } ^ {S'}

преобразуем Ptcp в множество TCP сеансов S = {sm; m = 1,M} мощностью M: S = j (PTCP).

С помощью функции разметки

%: {S 'с S}x [A с A}^ {Sa)} для каждого TCP сеанса определим приложение-источник и сформируем размеченное множество TCP сеансов: SA') = {(s;„,c'm)е S',am e A'};

S(A)=^(S, A).

Пусть также имеется множество функций вычисления атрибутов Ф = {фи : S ^ Ж; n = 1, N} мощностью N, вычисляющих множество атрибутов TCP сеансовХ путём отображения каждого элемента множества TCP сеансов S в элемент множества рациональных чисел Ж.

Путём отображения каждого элемента множества TCP сеансов S в элемент множества рациональных чисел Ж вычислим множество Ф атрибутов TCP сеансов

X : Ф = |фп: S ^ К; n = 1, N j мощностью N.

Введем в рассмотрение функцию кодирования приложения у: A ^ |k; к = 1, к|, вычисляющую метку класса yk £ Y

путём отображения элементов множества приложений A в множество целых чисел к.

Представим множество TCP сеансов S в виде множества векторов атрибутов

X = {xm = (x(mn);n = lTN);m = i:M|xmn} = Фп (sm),Фп e Ф,sm e s} ,

где n-й элемент вектора xm вычисляется функцией фп .

Представим множество приложений А в виде множества меток классов Y = |ук = щ(ск);к = 1,К|ск £ aJ . Тогда размеченное множество S < a>. полученное с помощью функции разметки ^ , можно представить в виде множества пар векторов атрибутов и метки класса X^ ^:

X (Y } = {(Xm , y'm) i m = l^|Xm = ( фп (Sm ) i

n = IN, y'm=v(c'm),(Sm,c'm)eS^) J

Разделим полученное множество XY ^ на два непересекающихся подмножества: обучающее X^ ^ и тестовое х£2от, с помощью функции разделения

а: {x<Y)' сXY>}^{(x(y)' сX<Y)',X^ сX^)} так,

что X(y> = Xg> UXZL;X£>ПXZL =0.

Будем считать для определенности, что обучающее подмножество содержит 85% исходного множества

|х£ >| = 0.85|X(y >|, а тестовое \х%Ц = 0.15|x(Y >|, что

соответствует 15% исходного множества. Такчто

о(XY^ ^j={X<o6) 'XmlmY^ = XoYY UXiaL'■>^ ПXr2Cm =

|x£>| = 0.85|X<Y)|,|= 0.15|XY)|;(X^>,XYL) = «(X<Y>);

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

Алгоритм обнаружения дрейфа концепта в режиме обучения

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

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

Для обучения модели обнаружения дрейфа требуются данные о TCP сеансах приложений. Для обучения поток IP пакетов с метками приложений отфильтровывается с помощью функции фильтрации f : {P 'с ^ P'} таким образом, чтобы в нем остались только IP пакеты с типом протокола TCP PTCP с P .По четырем полям заголовков IP и TCP - IP адресу источника, IP адресу назначения, порту источника и порту назначения - IP пакеты группируются в TCP сеансы. Меткой TCP сеанса является любая метка IP пакета, принадлежащего этому сеансу.

На основе IP пакетов TCP сеанса с помощью функции группировки у: {P?CP с Ptcp } ^ {S'} вычисляется множество

TCP сеансов S = {sm; m = 1,M} из которого формируется размеченное множество TCP сеансов S(A = , A).

Путём отображения каждого элемента множества сеансов S^JA'> в элемент множества рациональных чисел R вычисляется множество атрибутов TCP сеансов Ф = {фи : S ^ Ж; n = 1, N} и функция кодирования приложения у: A ; k = 1, K j, вычисляющую метку класса ук eY .

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

В результате формируется размеченное множество TCP

сеансов, представленных в виде пар векторов атрибутов и меток класса X(Y' = {(xm,y'm)|xm eX,y'meY}, котороеразбива-

етсянаобучающее X^) итестовое X£2m множества.

Обучающее множество X^ ^ используется как для обучения алгоритмов классификации, так и для обучения модели обнаружения дрейфа. Тестовое множество X£2m используется для оценки качества классификации и модели обнаружения дрейфа.

В отсутствии дрейфа концепта задачей классификации является идентификация конкретного вида приложения

{ak; k = 1, K} из источника TCP сеанса. Задача классификации

может быть сформулирована следующим образом:

Пусть имеется конечная множество

X (Y } = {( Xm, y'm )| xm £ X, y'm eY }.

Требуется построить классификатор C с алгоритмом

a: X^) ^ A, способный классифицировать произвольное

приложение ak е A, k = 1, K характеризуемое множеством атрибутов x е X.

Для классификации приложений может использоваться один из известных алгоритмов машинного обучения: Logistic Regression (LR), K-Nearest Neighbors (KNN), Decision Tree (DT), RandomForest (RF) и Gradient Boosting (GB) [12, 13] .

В структуре алгоритма представленного на рисунке 1 предусмотрен алгоритм обнаружения дрейфа того или иного приложения TCP сеанса.

Модель обнаружения дрейфа приложения в потоке Dnpujl

определяется через модель обнаружения дрейфа атрибута в потоке Dampu6 обученного на основе алгоритма авто кодировщика AE(yk > . Множество реконструированных оценок на вы-

V ( yk ~>

ходе автокодировщика X ae позволяет принять решение о необходимости перестроить параметры алгоритма классификации a : X^Y ^ A, при фиксации тренда или оставить их неизменными в случае отсутствия драйфа концепта. Структура алгоритма обнаружения дрейфа концепта будет рассмотрена далее.

Рис 1. Структурная схема алгоритма в режиме обучения

Обнаружение дрейфа концепта в потоке

Реконструкция приложений

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

Обнаружение дрейфа в потоке осуществляется детектором Б отдельно для каждой метки класса ук = ^{ак);

к = 1,К\ак е А . Для этого строятся модели БУк^ обнаружения дрейфа потока с заданной меткой класса ук е 7 .

Дрейф считается обнаруженным, если хотя бы одна модель БУк^ обнаружит дрейф, т.е. обнаружен хотя бы в одном

приложении. Разделение размеченного множества X1,7 ^ на подмножества, содержащие только экземпляры с одинаковыми метками классов, осуществляется с помощью разделяющей функции р. Функция р получает на вход некоторое подмножество X ^7с X ^7^ и разделяет его на не пересекающи-

еся подмножества X

(У)" .

р: {X17с X17>} ^ {{X(Укс X17¡X17с X17>};

у}; к = Щ.

Р( X 7 >') = {X <Ук >'= {хт, т = 1,| X <7 >'||(хт, ук)

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

Обнаружение дрейфа приложения осуществляется детектором БУк ^ с помощью модели обнаружения дрейфа атрибутов приложения БУк ^

атриб •

-)(ук)

Для каждого из анализируемых приложений А = {ак; к = 1, К} , используя функции расчёта потерь при реконструкции, вычисляются три группы пороговых значений: пороги экземпляра приложения к , пороги группы приложения к Т(гк -1 и пороги подсчета приложения к Т^к.

Группы пороговых значений состоят из пороговых значений атрибутов: порог экземпляра приложения к атрибута п

Т™ , порог группы приложения к атрибута п Т^п^ и порог

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

ТЭКЗ = {Т™ = {Т£>;к = ХК}-,п = 1М} : Тгр = Ткк = {ТЦтп ■ к = Щ- п = ЪМ}, Тп = Тк) = {Т^кп); к = п = 1М .

Модель обнаружения дрейфа атрибутов основана

на механизме обнаружения дрейфа в группах экземпляров О ^г^, которое осуществляется с помощью автокодировщика.

АК использует набор весовых коэффициентов распознавания для отображения входных данных в кодирующий вектор на скрытом слое, а затем использует набор генеративных весовых коэффициентов для восстановления закодированного вектора в исходный входной сигнал на выходном слое. Простой АК состоит из входного слоя, одного или нескольких скрытых слоев и выходного слоя того же размера, что и входной слой [19,20,21].

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

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

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

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

значений потерь при восстановлении пакета. Оно принимается как среднее значение +3 (стандартное отклонение) по сравнению со средними значениями ошибки восстановления пакета по всем данным проверки.

Порог подсчета Т^кп приложения к атрибута п вычисляется с использованием средних значений потерь при восстановлении пакета. Оно принимается как среднее значение +3 (стандартное отклонение) по сравнению со средними значениями ошибки восстановления партии для всех партий по всем данным проверки.

Качество обученного автокодировщика АЕ(Ук > оценивается с помощью оценки качества реконструкции экземпляров группы, вычисляемой с помощью функции Q на валидацион-

ной выборке XAE) • Для этого каждый экземпляр тестирующей выборки X<KJУE¡) подаётся на вход автокодировщику

АЕУк ^ и получается множество реконструированных экземпляров Х{Уе ] = АЕ(Ук \X{^E•

Метрика качества Q(eУк) = Q(XAУE \ X{уЕ] обученного

авто-

АЕ,' АЕ,

кодировщика АЕУк ^ позволяет оценить качество реконструкции экземпляров АК. При низком качестве хотя бы одного АК требуется его повторное обучение. После достижения достаточного качества реконструкции можно перейти к расчёту пороговых значений.

В качестве функции потерь реконструкции одного атрибута одного экземпляра воспользуемся функцией квадрата разности. Пусть Ьатриб - функция, вычисляющая потери реконструкции п-ото атрибута х^ экземпляра Хт . Функция Iатриб получает на вход исходный вектор атрибутов Хт из

множества X реконструированный вектор атрибутов Хт из

того же множества X, номер атрибута п, для которого осуществляется вычисление потерь реконструкции, и возвращает квадрат разности п-ых элементов исходного Хт и реконструированного Хт векторов:

Аамриб ■ {Хт 6 X}2 X {п-П = 1Ы} ^ К

I АХ Х п^ = (Х(п) - х(пЬ2 Х(п) е Х Х("} е Х

Пусть Ьатриб гр : {О(г) с X}2 х {и;п = Щ ^ Ж - функция потерь реконструкции п-ого атрибута в группе экземпляров О ^г-1, вычисляющая потери реконструкции одного атрибута для всех экземпляров группы. Функция 1атриб гр получает на

вход исходную группу векторов атрибутов

О <г > с X, являющуюся подмножеством множества X, реконструированную группу векторов атрибутов,

О г) с X , являющуюся подмножеством множества X, номер атрибута п, для которого осуществляется вычисление потерь, и возвращает множество, содержащее потери реконструкции одного атрибута для всех экземпляров группы:

1 атриб (О<~ ^ , О \ п) = {^триб (Хт ' Хт ' п)'

т = 1, |о(г)|: хт е О(г\Хст е О(г)}.

^ 2

Пусть Ьэкз: {Хт е X} ^ Ж - функция вычисления потерь

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

Хт из множества X, реконструированный вектор атрибутов

Хт из того же множества X и возвращает среднюю потерю реконструкции всех атрибутов экземпляра (потерю реконструкции экземпляра)

1 экз (Хт' Хт ) _ N 2и=11'атриб (Хт' Хт'п) •

Функция качества реконструкции одного атрибута экземпляров группы можно вычислить с помощью функции атриб '■ {О(гГ ^ X}2 х {п\п = 1, N} ^ М путём усреднения потери реконструкции этого атрибута для всех экземпляров группы. Функция Qampuб получает на вход исходную группу

векторов атрибутов О (-г'>, которая является подмножеством множества X, реконструированную группу векторов атрибутов О(-г>, являющуюся подмножеством множества X, номер

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

Qampu6 G{Г\ GW, п) =■

1

|g (r

С(О?,&£>,п),О(т) еX,О« eX.

Функция качества реконструкции экземпляров группы можно вычислить с помощью функции Q: {О^ с X}2 ^ Ж путём усреднения потерь реконструкции одного экземпляра. Функция Q получает на вход исходную группу векторов атрибутов О м , являющуюся подмножеством мнoжecтвaX реконструированную группу векторов атрибутов О(-г>, являющуюся подмножеством множества X, возвращает среднее значение потерь реконструкции экземпляров:

QGr\О«) !экз(О«,О«),О« еX,О« еX

G

Пример вычисления ошибок реконструкции экземпляров в группе представлен в табл. 2.

Таблица 2

Вычисление ошибок реконструкции экземпляров в группе

G(r ) G(r > 1 N Результат

xl Lampu6 (xl > xl Д) Lampu6(xl> xl>N) L3K3 (xl> xl )

x|g< r>| Lampu6 (x|G( x| GM|'l) Lompu6 X GM|.N') (x X o«|)

Qampu6 (G(<G('>,1) Qampu6GG(r\ N) qG\&r')

Приведённые функции потерь и функции качества используются для оценки качества обученных АК и вычисления порогов.

Алгоритм обнаружения дрейфа концепта

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

Разделим с помощью описанной выше разделяющей функции р обучающую выборку ^ на k компонент X (Т} - л Х (л)

Х об - Uxlyk>ер(Xf6 >)Х об •

Каждое полученное множество ^ содержит только векторы атрибутов, которые помечены меткой класса yk, то есть представляет собой TCP сеансы, которые принадлежат приложению ak.

Разобьем каждое множество X^k ^ на три непересекающихся множества: обучающее X^E , валидационное X^Ae

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

X

X

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

так

П x<■y'' = 0; X

что

(ур)

X

(Ур) об

=xAер ] и Ге и X

( Ур )

ае,

ае,

л ур) . * ае, '

(Ук) АЕ„

(Ур)

аео6х ^1 аев ^ ' ^аеа6 1 1 аеп ^ ' ^ аев

Будем считать, что обучающая выборка составляет 80% от

об |, валидаци-

п X ^=0■,x(■E П xAEp)

7Лкп) .. гГ(кп)

экз , превышает порог подсчета 1„ . Модель обнаружения дрейфа атрибута в потоке Батриб определяется через модель обнаружения дрейфа атрибута в гРУппе Б!Риб ■

исходной обучающей выборки ^АЕЕ е \ = 7 онная выборка ^АУ^ = 0.051X<0Уyk5%, а выборка для

настройкипороговых значений = 0.151X(^Ук5%.

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

Для обнаружения изменения в данных воспользуемся моделью автокодировщика АЕ: ^^ с X} ^ {Xвых с X}, обучаемой с помощью алгоритма X: {X'|X' с X} ^ АЕ}.

На каждой обучающей выборке X<^AУEk^ автокодировщик

АЕоб

АЕ(Ук> обучается, что может быть описано в виде

АЕ(Ук] =Х(X(yE)б) •

Введём в рассмотрение индикаторную функцию

1, если х истине I (х) = \ ' .

[0, в противном случае

Тогда модель обнаружения дрейфа атрибута в группе

В^трив можетбыть записанаввиде:

Би \ п,Тк \т^1к))=

Ватри6(О,(О,п,Тф'Цк ,т„ >,*) =

(к) Т (к) Т (к) 'Р ' ЭКЗ ' п

Чг ^ п-Ггтпгр со^г) ОО) пТ<к Т<к Т(кЬ1

^дрейф > и ■ [1 1г=гфлф lпampu6 'О 'И'1 гр '1 эю ' Тп ->]

0, в противном случае

> 0.

=I (О^ О\ п > Т^у (Т^^ОК О7 п,Т^) > ТГ),

где О <г > - группа экземпляров, для которой обнаруживается дрейф атрибута, О(г-1 - группа реконструированных с помощью автокодировщика экземпляров, п - номер атрибута, для которого обнаруживается дрейф, Т(гр к - множество порогов

группы для всех атрибутов приложения к, Т^ - множество

порогов экземпляров для всех атрибутов приложения к, Т„к - множество порогов подсчёта для всех атрибутов приложения к, Т^п) е Т7) - порог группы для п-ого атрибута приложения к, Т^> е - порог экземпляра для п-ого атрибута приложения к, Т„1кп) е Ти7к - порог подсчёта для п-ого атрибута приложения к, Тп а1риб гр - функция вычисления количе-

М г )

ства экземпляров группы О , для которых потеря восстановления превышает порог экземпляров Т^ .

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

группы Т^п, а количество экземпляров группы О^гк, для которых потеря восстановления превышает порог экземпляров

где О - исходное множество групп экземпляров, О - множество реконструированных групп экземпляров, п - номер атрибута, для которого обнаруживается дрейф, Т^-1 - множество порогов группы для всех атрибутов, Т^ - множество

порогов экземпляров для всех атрибутов, Т^кк - множество

порогов подсчёта для всех атрибутов, V - количество подряд идущих групп, в которых должен определиться дрейф.

Атрибут п считается дрейфующим в потоке, если в множестве экземпляров О обнаруживается V подряд идущих

групп, для которых модель Б^риб в атрибуте« обнаруживает

дрейф. Модель возвращает номер группы, с которой начался дрейф, либо 0, если дрейф не обнаружен.

Модель обнаружения дрейфа приложения в потоке Бприл

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

Бприл (О, О, Т$\ Т£\ Т(к\ V) = {(п, г)\г =

= Батриб (О,6,п,Т£\Т£\Т<;к\V),г >0,« = т:^},

где О - исходное множество групп экземпляров, О - множество реконструированных групп экземпляров, Т(гр -1 - множество порогов группы для всех атрибутов, Т^ - множество

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

Для каждого атрибута с помощью модели обнаружения дрейфа атрибута Батриб определяется дрейф атрибута. Если

хотя бы в одном атрибуте обнаруживается дрейф, приложение считается дрейфующим. Модель обнаружения дрейфа приложения Бприл возвращает множество пар - номер атрибута п, в котором обнаружен дрейф, и номер группы г, с которой этот дрейф начался. Если в атрибуте п дрейф не обнаружен (г = 0), то он не попадает в результирующее множество. В случае если дрейф не обнаружен ни в одном атрибуте, результирующее множество будет пустым.

Итоговую модель обнаружения дрейфа будет иметь вид:

7, V) = {(Ук,п,г)|(п,г) еБприл(О(УкАЕ(Ук\О(Укк) О(ук} еякX^ук} 6P(X(7)}

где X Y- размеченное множество TCP сеансов, представленное в виде множества пары вектора атрибутов xm е X и метки класса y'me Y , w- количество подряд идущих групп, в

которых должен определиться дрейф, Xyk ^ — размеченное подмножество TCP сеансов, сгенерированное приложением с меткой класса yk.

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

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

Дрейф

АК

Ы

L

MSE Q G

t w J

Рис. 2. Структура алгоритма обнаружения дрейфа

На этапе обучения множество АК обучаются на обычных (не дрейфующих) помеченных данных.

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

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

Обучающее множество ) разделяется на к подмножеств, равное количеству идентифицируемых приложений. Каждое подмножество -1 в свою очередь разделяется на обучающее xAi¡) , валидационное X А' ^

AE.

множества и множе-

ство для настройки порогов приложения X<KAL¡к¡). Обучающее множество приложения используется для обучения

автокодировщика, а валидационное X- для его оценки. Множество для настройки порогов X AE ^ приложения раз-

AEn

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

T<k)

пользуется для вычисления порогов экземпляра , группы Тг(£} и подсчета Т{пk>.

Каждый экземпляр в группе реконструируется (восстанавливается) с помощью обученного АК. Для каждого экземпляра в группах рассчитывается функция потерь. В качестве функции потерь была выбрана среднеквадратичная ошибка

MSE Т^оx - x )2 . Потери атрибутов в каждой

группе усредняются и получаются средние потери атрибута в группе. Усреднив потери атрибутов по группам, получим пороги группы для каждого атрибута T,(гр) = {T^п = 1, N}.

В каждой группе для каждого атрибута также вычисляется 0,99-квантиль ошибки (значение, которое заданная случайная величина атрибута не превышает с фиксированной вероятностью 0,99). Усреднив по первым нескольким группам (G(r);r = 1,R,Rycp < R), получим пороги экземпляра атрибутов = {T^', п = 1, N}. В каждой группе вычисляется

количество экземпляров, превышающее порог экземпляра. Максимальное значение среди групп будут являться порогами подсчёта атрибутов Т^к) = {T^kn); п = 1, N}.

Если при восстановлении текущего вектора признаков среднеквадратическая ошибка превышает порог экземпляра, значит экземпляр не относится к данному классу. В противном случае считается, что экземпляр относится к данному классу.

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

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

Реализация разработанного алгоритма обнаружения дрейфа на примере описанного выше набора данных была реализована в рамках программной среды Python. Значения параметров анализируемого трафика приведены в таблице 3.

Таблица 3

Значения параметров потока анализируемого трафика

Параметр Описание параметра Значение

M Общее количество TCP сеансов 30 ООО

К Общее количество приложений 6

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

N Общее количество атрибутов 21

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

N

X

D

A

D

Т

D

D

D

D

D

T

Т.

Параметры автокодировщиков, реализованных в рамках разработанного алгоритма обнаружения дрейфа концепта представлены в таблица 4.

Таблица 4

Параметры автокодировщика

Тип автокодировщика Vanilla Autoencoder

Количество слоев 3 (Input, Bottleneck, Output)

Размерность входного слоя Количество атрибутов в наборе данных за исключением метки класса (22)

Размерность скрытого слоя Одна третья от размерности входного слоя (7)

Функция активации Sigmoid

Оптимизатор Adam

Функция потерь MSE

Размер группы (д) 32

Заключение

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

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

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

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

Литература

1. Gama J., Zliobaite I., Bifet A., Pechenizkiy M., Bouchachia A. A survey on concept drift adaptation II ACMComputing Surveys. 46(4). 2014. DOI: https://doi.org/10.1145/2523813

2. Schröder T., Schulz M. Monitoring machine learning models: A categorization of challenges and methods. In Data Science and Management. 2022. DOI: https://doi.Org/10.1016/j.dsm.2022.07.004

3. Oladele S. A Comprehensive Guide on How to Monitor Your Models in Production - neptune.ai II Página Oficial Neptune AI. 2021. https://neptune.ai/blog/how-to-monitor-your-models-in-production-guide.

4. Lu N., Zhang G., Lu J. Concept drift detection via competence models II Artificial Intelligence. No. 209(1), pp. 11-28. 2014. DOI:

https://doi.Org/10.1016/j.artint.2014.01.001

5. Schlimmer J. C., Granger R.H. Incremental Learning from Noisy Data II Machine Learning. 1(3), pp. 317-354. 1986. https://doi.Org/10.1023/A:1022810614389

6. Jcworski M., Rutkowski L., Angelov P. Concept Drift Detection Using Autoencoders in Data StreamsProcessing. Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). 2020. LNAI vol.12415, pp. 124-133. DOI: https://doi.org/10.1007/978-3-030-61401-0_12

7. Yong B.X., Fcthy Y., Brintrup A. Bayesian Autoencoders for Drift Detection in Industrial Environments IНОЮ IEEE International Workshop on Metrology for Industry 4.0 and IoT. 2020, pp. 627-631. https://doi.org/10.1109/MetroInd4.0IoT48571.2020.9138306

8. Menon A.G., Gressel G. Concept Drift Detection in Phishing Using Autoencoders// Communications in Computer and Information Science. 2021. Vol. 1366, pp. 208-220. https://doi.org/10.1007/978-981-16-0419-5_17

9. Шелухин О.И., Барков B.B., Секретарев C.A. Алгоритмы обнаружения дрейфа концепта при потоковой классификации трафика мобильных приложений II REDS: Телекоммуникационные устрой-стваи системы. 2020. №3. С.19-27.

10. Sheluhin O.I., Erokhin S.D., Osin A.V., Bcrkov V.V. Experimental Studies of Network Traffic of Mobile Devices with Android OS II Systems of Signals Generating and Processing in the Field of on Board Communications. 2019.

11. Sheluhin O.I., Bcrkov V.V. Influence of Background Traffic on the Effectiveness of Mobile Applications Traffic Classification Using Data Mining Techniques II T-Comm: Телекоммуникации и транспорт. 2018. Vol.12. No.10, pp. 52-57.

12. Шелухин О.И., Ерохин С.Д., Барков B.B. Создание базы данных сетевого трафика для автоматизации классификации мобильных приложений под управлением операционной системы Android //Нейрокомпьютеры: разработка,применение. 2019. №1. С. 40-51.

13. Шелухин О.И., Барков В.В. Экспериментальные исследования и создание базы данных сетевого трафика мобильных устройств под управлением операционной системы Android II Фундаментальные проблемы радиоэлектронного приборостроения: «INTERMATIC-2018». М.: МИРЭА. 2018. Т. 18. №4. С. 1011-1017.

14. Usmcn Ali, Tcriq Mchmood. A Novel Framework for Concept Drift Detection using Autoencoders for Classification Problems in Data Streams. 2022. DOI: https://doi.org/10.32388/ZU17S4

15. Mchmood Yousefi-Azcr, Vijcy Vcrcdhcrcjcn, Len Hcmey, Udcy Tupckulc. Autoencoder-based feature learning for cyber security applications. In Neural Networks (IJCNN) II2017 International Joint Conference on. 2017, pp. 3854-3861. IEEE.

16. Kim Y., Pcrk C.H. An efficient concept drift detection method for streaming data under limited labeling II IEICE Transactions on Information and Systems, Vol. EIOOD(IO). 2017, pp. 2537-2546. https://doi.org/10.1587/transinf.2017EDP7091

17. Lu J., Liu A., Dong F., Gu F., Gcmc J., Zhcng G. Learning under Concept Drift: A Review II IEEE Transactions on Knowledge and Data Engineering. 2019. Vol.31(12), pp. 2346-2363. https://doi.org/10.1109/TKDE.2018.2876857

18. Pincge F., dos Santos E.M., Gcmc J. A drift detection method based on dynamic classifier selection II Data Mining and Knowledge Discovery. 2020. Vol. 34(1), pp. 50-74. https://doi.org/10.1007/sl0618-019-00656-w

19. Soppin S., Rcmcchcndrc M., Chcndrcshekcr B.N. Essentials of Deep Learning and AI: Experience Unsupervised Learning, Autoencoders, Feature Engineering, and Time Series Analysis with TensorFlow, Keras, and scikit-learn (English Edition). 2021.

20. Wcres S., Iscccs J., Elycn E. Data stream mining: methods and challenges for handling concept drift// SN Applied Sciences. 2019. No. 1(11). https://doi.org/10.1007/s42452-019-1433-0.

CONCEPT DRIFT DETECTION IN MOBILE APPLICATIONS CLASSIFICATION USING AUTOENCODERS

OLEG I. SHELUHIN,

Moscow, Russia

VYACHESLAV V. BARKOV,

Moscow, Russia

KEYWORDS: classification algorithms, concept drift, data stream, attributes and applications, class labels.

AIRAPET G. SIMONYAN,

Moscow, Russia

ABSTRACT

Intoduction: The study observes the task of concept drift detection in multiclass applications classification tasks on the example of collected data set of network traffic in the form of IP packets from Purpose of the study: development and software implementation of an algorithm for a concept change detection in tasks of multiclass mobile application traffic classification using ANNs of the autoencoder type (AC). Novelty of the study consists in drift detection of one or several mobile applications based on changes in the statistical characteristics of one or several attributes without usage of true class labels implying ANNs of the autoencoder type. Results: The study developed an algorithm for concepts drift of application detection based on the analysis of changes in the statistical characteristics of

attributes or a noticeable decrease in the quality of the analyzed applications classification. As for fundamental model of concept drift detector of analyzed applications, the study used autoencoders. The research contains basic theoretical positions of the algorithm creation. The study shows that in case of trained AC only on high-quality prototypes, it will be able to reconstruct normal observations but not abnormal observations (unknown concepts). As a result, when the autoencoder detects a significant reconstruction error, it classifies the observation data as abnormal. Estimation of reconstruction errors of the analyzed applications and excess of threshold value assess the presence of drift. The Python software environment provides the implementation of the presented solution.

REFERENCES

1. J. Gama, I. Zliobaite, A. Bifet, M. Pechenizkiy, A. Bouchachia (2014). A survey on concept drift adaptation. ACMComputing Surveys. No. 46(4). DOI: https://doi.org/10.1145/2523813

2. T. Schroder, M. Schulz (2022). Monitoring machine learning models: A categorization of challenges and methods. Data Science and Management. DOI: https://doi.org/10.1016/j.dsm.2022.07.004

3. S. ladele (2021). A Comprehensive Guide on How to Monitor Your Models in Production - neptune.ai. Pagina Oficial Neptune AI. https://neptune.ai/blog/how-to-monitor-your-models-in-production-guide

4. N.Lu, G. Zhang, J. Lu (2014). Concept drift detection via competence models. Artificial Intelligence. No. 209(1), pp. 11-28. DOI: https://doi.org/10.1016/j.artint.2014.01.001

5. J.C. Schlimmer, R.H. Granger (1986). Incremental Learning from Noisy Data. Machine Learning. No. 1(3), pp. 317-354. https://doi.org/10.1023/A:1022810614389

6. M. Jaworski, L. Rutkowski, P. Angelov (2020). Concept Drift Detection Using Autoencoders in Data StreamsProcessing. Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). LNAI Vol.12415, pp. 124-133. DOI: https://doi.org/10.1007/978-3-030-61401-0_12

7. B.X. Yong, Y. Fathy, A. Brintrup (2020). Bayesian Autoencoders for Drift Detection in Industrial Environments. 2020 IEEE International Workshop on Metrology for Industry 4.0 and IoT, pp. 627-631. https://doi.org/10.1109/MetroInd4.0IoT48571.2020.9138306

8. A.G. Menon, G. Gressel (2021). Concept Drift Detection in Phishing Using Autoencoders. Communications in Computer and Information Science. Vol. 1366, pp. 208-220. https://doi.org/10.1007/978-981-16-0419-5_17

9. O.I.Sheluhin, V.V. Barkov, S.A. Sekretarev (2020). Concept drift detection algorithms in streaming classification of mobile application traffic. REDS: Telecommunication devices and systems. No.3, pp.19-27. (In Rus)

10. O.I. Sheluhin, S.D. Erokhin, A.V. Osin, V.V. Barkov Experimental Studies of Network Traffic of Mobile Devices with Android OS (2019). Systems of Signals Generating and Processing in the Field of on Board

INFORMATION ABOUT AUTHORS:

Communications.

11. O.I. Sheluhin, V.V. Barkov (2018). Influence of Background Traffic on the Effectiveness of Mobile Applications Traffic Classification Using Data Mining Techniques. T-Comm. Vol.12. No.10, pp. 52-57.

12. O.I. Sheluhin, S.D. Erokhin, V.V. Network (2019). Barkov traffic database creation for automation of android mobile applications classification. Neurocomputers. No.1, pp. 40-51. (In Rus)

13. O.I. Sheluhin, V.V. Barkov (2018). Experimental studies and network traffic database creation of mobile devices with Android OS. Fundamental'nyye problemy radioelektronnogo priborostroyeniya: "INTERMATIC-2018" [Fundamental problems of radio-electronic instrumentation: "INTERMATIC-2018"]. Vol. 18. No.4, pp. 1011-1017. (In Rus)

14. Ali Usman, Mahmood Tariq (2022). A Novel Framework for Concept Drift Detection using Autoencoders for Classification Problems in Data Streams. DOI: https://doi.org/10.32388/ZU17S4

15. Mahmood Yousefi-Azar, Vijay Varadharajan, Len Hamey and Uday Tupakula (2017). Autoencoder-based feature learning for cyber security applications. Neural Networks (IJCNN). 2017 International Joint Conference, pp. 3854-3861. IEEE.

16. Y. Kim, C.H.Park (2017). An efficient concept drift detection method for streaming data under limited labeling. IEICE Transactions on Information and Systems. Vol. E100D(10), pp. 2537-2546. https://doi.org/10.1587/transinf.2017EDP7091

17. J. Lu, A Liu, F Dong, F Gu, J.Gama, G. Zhang (2019). Learning under Concept Drift: A Review. IEEE Transactions on Knowledge and Data Engineering. Vol. 31(12), pp. 2346-2363. https://doi.org/10.1109/TKDE.2018.2876857

18. F Pinage, E.M. dos Santos, J. Gama (2020). A drift detection method based on dynamic classifier selection. Data Mining and Knowledge Discovery. Vol. 34(1), pp. 50-74. https://doi.org/10.1007/s10618-019-00656-w

19. S. Soppin, M. Ramachandra, B.N. Chandrashekar (2021). Essentials of Deep Learning and AI: Experience Unsupervised Learning, Autoencoders, Feature Engineering, and Time Series Analysis with TensorFlow, Keras, and scikit-learn (English Edition).

20. S. Wares, J. Isaacs, E. Elyan (2019). Data stream mining: methods and challenges for handling concept drift. SN Applied Sciences. No. 1(11). https://doi.org/10.1007/s42452-019-1433-0.

Oleg I. Sheluhin, PhD, Full Professor, Professor Moscow Technical University of Communications and Informatics, Moscow, Russia

Vyacheslav V. Barkov, Senior lecturer Moscow Technical University of Communications and Informatics, Moscow, Russia

Airapet G. Simonyan, PhD, Docent, Assistant Professor Moscow Technical University of Communications and Informatics, Moscow, Russia

For citation: Sheluhin O. I., Barkov V.V., Simonyan A.G. Concept drift detection in mobile applications classification using autoencoders. H&ES Reserch. 2023. Vol. 15. No. 3. P. 20-29. doi: 10.36724/2409-5419-2023-15-3-20-29 (In Rus)

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