Научная статья на тему 'АНАЛИЗ ВЛИЯНИЯ ПАРАМЕТРОВ АЛГОРИТМОВ MACHINE LEARNING НА РЕЗУЛЬТАТЫ КЛАССИФИКАЦИИ ТРАФИКА В РЕЖИМЕ РЕАЛЬНОГО ВРЕМЕНИ'

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

CC BY
226
40
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МАШИННОЕ ОБУЧЕНИЕ / RANDOM FOREST / XGBOOST / QOS / КЛАССИФИКАЦИЯ ТРАФИКА / НАСТРОЙКА ПАРАМЕТРОВ / ПЕРЕОБУЧЕНИЕ

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

В статье анализируется влияние настройки параметров алгоритмов машинного обучения на результаты классификации трафика в режиме реального времени. Рассматриваются алгоритм Random Forest и XGBoost. Дается краткое описание работы обоих методов и способов оценки результатов классификации. Экспериментальные исследования проводятся на базе данных, полученных на реальной сети, отдельно для TCP и UDP - потоков. Для того чтобы результаты исследования использовались в режиме реального времени, создается специальная матрица признаков, основанная на первых 15 пакетах потока. В качестве основных параметров алгоритма Random Forest (RF) для настройки выбраны количество деревьев, используемый критерий разбиения, максимальное число признаков для построения функции разделения, глубина дерева, минимальное число выборок в узле и в листе. Для XGBoost взяты количество деревьев, глубина дерева, минимальное число выборок в листе, доля признаков и доля выборки, необходимые для построения дерева. Как известно, увеличение числа деревьев приводит к увеличению точности до определенного значения, но как показано в статье, важно следить за тем, чтобы модель не оказалась переобученной. Для борьбы с переобучением используются остальные параметры деревьев. В исследуемом наборе данных за счет устранения переобучения удалось добиться повышения точности классификации для отдельных приложений на 11-12% для Random Forest и на 12-19% для XGBoost. Результаты работы показывают, что настройка параметров является очень важным этапом при построении модели классификации трафика, т.к. помогает бороться с переобучением и значительно повышает точность предсказаний алгоритма. Помимо этого было показано, что при правильной настройке параметров, мало популярный в работах по классификации трафика XGBoost, становится конкурентоспособным алгоритмом и показывает лучшие результаты по сравнению с широко распространенным Random Forest.

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

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

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

ANALYSIS OF THE INFLUENCE OF MACHINE LEARNING ALGORITHM PARAMETERS ON THE RESULTS OF TRAFFIC CLASSIFICATION IN REAL TIME

The paper analyzes the impact of setting the parameters of Machine Learning algorithms on the results of traffic classification in realtime. The Random Forest and XGBoost algorithms are considered. A brief description of the work of both methods and methods for evaluating the results of classification is given. Experimental studies are conducted on a database obtained on a real network, separately for TCP and UDP flows. In order for the results of the study to be used in real time, a special feature matrix is created based on the first 15 packets of the flow. The main parameters of the Random Forest (RF) algorithm for configuration are the number of trees, the partition criterion used, the maximum number of features for constructing the partition function, the depth of the tree, and the minimum number of samples in the node and in the leaf. For XGBoost, the number of trees, the depth of the tree, the minimum number of samples in the leaf, for features, and the percentage of samples needed to build the tree are taken. Increasing the number of trees leads to an increase in accuracy to a certain value, but as shown in the article, it is important to make sure that the model is not overfitted. To combat overfitting, the remaining parameters of the trees are used. In the data set under study, by eliminating overfitting, it was possible to achieve an increase in classification accuracy for individual applications by 11-12% for Random Forest and by 12-19% for XGBoost. The results show that setting the parameters is a very important step in building a traffic classification model, because it helps to combat overfitting and significantly increases the accuracy of the algorithm's predictions. In addition, it was shown that if the parameters are properly configured, XGBoost, which is not very popular in traffic classification works, becomes a competitive algorithm and shows better results compared to the widespread Random Forest.

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

АНАЛИЗ ВЛИЯНИЯ ПАРАМЕТРОВ АЛГОРИТМОВ MACHINE LEARNING НА РЕЗУЛЬТАТЫ КЛАССИФИКАЦИИ ТРАФИКА В РЕЖИМЕ РЕАЛЬНОГО ВРЕМЕНИ

DOI: 10.36724/2072-8735-2021-15-9-24-35

Manuscript received 07 April 2021; Accepted 26 May 2021

Краснова Ирина Артуровна,

МТУСИ, Москва, Россия, irina_krasnova-angel@mail.ru

Ключевые слова: машинное обучение, Random Forest, XGBoost, QoS, классификация трафика, настройка параметров, переобучение

В статье анализируется влияние настройки параметров алгоритмов машинного обучения на результаты классификации трафика в режиме реального времени. Рассматриваются алгоритм Random Forest и XGBoost. Дается краткое описание работы обоих методов и способов оценки результатов классификации. Экспериментальные исследования проводятся на базе данных, полученных на реальной сети, отдельно для TCP и UDP - потоков. Для того чтобы результаты исследования использовались в режиме реального времени, создается специальная матрица признаков, основанная на первых 15 пакетах потока. В качестве основных параметров алгоритма Random Forest (RF) для настройки выбраны количество деревьев, используемый критерий разбиения, максимальное число признаков для построения функции разделения, глубина дерева, минимальное число выборок в узле и в листе. Для XGBoost взяты количество деревьев, глубина дерева, минимальное число выборок в листе, доля признаков и доля выборки, необходимые для построения дерева. Как известно, увеличение числа деревьев приводит к увеличению точности до определенного значения, но как показано в статье, важно следить за тем, чтобы модель не оказалась переобученной. Для борьбы с переобучением используются остальные параметры деревьев. В исследуемом наборе данных за счет устранения переобучения удалось добиться повышения точности классификации для отдельных приложений на 11-12% для Random Forest и на 12-19% для XGBoost. Результаты работы показывают, что настройка параметров является очень важным этапом при построении модели классификации трафика, т.к. помогает бороться с переобучением и значительно повышает точность предсказаний алгоритма. Помимо этого было показано, что при правильной настройке параметров, мало популярный в работах по классификации трафика XGBoost, становится конкурентоспособным алгоритмом и показывает лучшие результаты по сравнению с широко распространенным Random Forest.

Информация об авторе:

Краснова Ирина Артуровна, аспирант, МТУСИ, Москва, Россия

Для цитирования:

Краснова И.А. Анализ влияния параметров алгоритмов Machine Learning на результаты классификации трафика в режиме реального времени // T-Comm: Телекоммуникации и транспорт. 2021. Том 15. №9. С. 24-35.

For citation:

Krasnova I.A. (2021) Analysis of the influence of Machine Learning algorithm parameters on the results of traffic classification in real time. T-Comm, vol. 15, no.9, pp. 24-35. (in Russian)

Введение

В последнее время в различных отраслях науки все большее развитие получают методы интеллектуального анализа данных, в особенности методы машинного обучения (Machine Learning, ML), позволяющие на основе некоторых характеристик об объекте, делать какие-либо прогнозирующие выводы о его природе или свойствах. Отрасль телекоммуникаций не является исключением и также активно применяет ML для решения своих задач. Одной из таких задач является классификация трафика в режиме реального времени с целью определения QoS, которая позволила бы идентифицировать потоки, которые не могут быть выделены на этапе дизайна сети или с применением классификации на основе портов. Более подробно эта задача и общий алгоритм ее решения описаны в [1-2].

Одним из наиболее популярных алгоритмов, используемых для классификации трафика, является Random Forest, позволяющий строить некоторое количество решающих деревьев (Decision Tree) параллельно друг другу. В ряде работе [3-5] он показывал лучшие результаты по сравнению с другими анализируемыми методами. В то же время, результаты бустинга решающих деревьев, т.е. последовательного построения деревьев, показывали не такие успешные результаты. Например, в работе [6] значение F-меры AdaBoost находится в пределах 21-66%, в то время как F-мера Random Forest оказалась выше 90%.

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

В работе [7] проводится исследование по влиянию настройки параметров на результаты работы алгоритмов. Было выбрано 38 различных наборов данных и 6 методов ML, в т.ч. XGBoost. Показано, что при правильном подборе параметров, результаты классификации обычно улучшаются. Но в упомянутой статье не ставились задачи классификации трафика. В работе [8] анализ влияния настройки параметров SVM (Support Vector Machine) провели применительно к классификации трафика с целью обнаружения вторжения. Для такой же цели в [9] был проанализирован алгоритм XGBoost, которому удалось стать самым быстрым и самым эффективным классификатором из анализируемых, добившись точности 99,54%. Подробный всесторонний обзор работ по этой теме приведен в [10]

В этой статье проводится анализ влияния настройки параметров RF и XGBoost применительно к классификации трафика в режиме реального времени с целью определения QoS.

1. Алгоритм решающего дерева (Decision Tree, CART)

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

Одним из наиболее распространенных методов ML является метод решающих деревьев (Decision Trees) [11]. Он позволяет представлять пространство данных в виде разветвленного ациклического графа, элементы которого называют листьями и узлами. В узлах содержится условие разветвления, а в листьях отмечается множество данных, объединенных ме^ду собой соблюдением либо несоблюдением выполнения условия, представленного в узле. Лист является концевой вершиной и не имеет дальнейших ответвлений (рис. 1).

Существует три основных типа решающих деревьев: ID3 (Iterative Dichotomiser 3), C4.5/ C5.0 и CART (Classification and Regression Trees). По сравнению с остальными, CART способен решать более широкий спектр задач и принимает разнообразные переменные, поэтому на практике все чаще применяют именно его [12]. При этом строятся бинарные деревья, имеющие на каждом узле по два ответвления.

Рис. 1. Дерево решений, построенное по алгоритму CART и его элементы

Алгоритм построения дерева:

1. Пространства обучающей части вектора признаков B и соответствующего ему вектора класса Z представляются в виде множества Sside i=(B, Z), где i обозначает номер уровня дерева и i =0, 1, 2, ..., max_node, a side обозначает сторону разбиения side = {left, right, 0}. Для начального узла i=0, side=0, т.к. разделений еще не было, и этот узел называется корневым.

2. Для построения дерева Ssidei подается на i-й узел. Выбирается значение Bj е B в качестве признака и Ti в качестве порогового значения разделительной функции.

3. Рассчитывается функция i-ro узла Qi = (Bj, Ti), разделяющая множество B на два подмножества (1). Определяется левая сторона (left) и правая (right):

S left, (i+1) (Qi) = S side, i | Bj < Ti, (1)

Sright, ( i+1)(Qi) = S\ S left, (i+1)(Qi)

4. Примесь (impurity) позволяет количественно оценить качество полученной функции разбиения (Q).

Если обозначить за Ni общее количество потоков трафика в i-м узле, nleft - количество потоков трафика, передаваемых в левый i+1 узел, a nright в правый, то для узла i находится примесь (2):

G(S side, i, Qi)—'^Н (Sie/tXi+ljCQi))

right,(i+1)

(Qi)). (2)

исходя из которой, выбирается значение) для BJ так, чтобы минимизировать примеси: 81ае, 1, ОО^шт

При в(8 81<1е, 1, = 0 в листе остаются потоки, принадлежащие только одному классу.

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

Пусть частота наблюдений класса 2к в узле 1 р1к (3):

Pi,к =Zfc)

(3)

(4)

Н (sside,(i+1)(Qi)) = - ^ Pi,к log(Pi,k)

построение по алгоритму CART, но имеет две специфические особенности. Во-первых, в качестве просмотренных признаков в каждом узле по умолчанию ставится значение: max_features=V^. Во-вторых, по умолчанию деревья строятся полными, без стрижки.

3. Для каждого отдельного потока yj каждое из деревьев дает свой прогноз Tr; (St), где i=1, 2, ..., n_estimators. Итоговое решение по классификации определяется как усредненное значение между результатами отдельных деревьев (6):

n estimators

По умолчанию, все веса классов считаются равнозначными.

Индекс Джини показывает, насколько часто поток в узле классифицируется неверно. Функция примеси Н на основе индекса Джини определяется по формуле (4):

Н = - Рик)

к

Энтропия показывает наиболее редкие классы в узле и оценивается через логарифм правдоподобия (5):

(5)

sy(y) =

n estimators

I

¿=i

тп(у)

(6)

5. i =i+1 и пункты 2-4 повторяются для side={left, right} пока не выполнится критерий останова.

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

Решающие деревья по отдельности являются слабыми, плохо сбалансированными алгоритмами и успешно справляются только с относительно несложными задачами. Но они могут быть важными компонентами при работе в ансамблевых алгоритмах, поэтому рекомендуется настраивать лучшим образом параметры модели [12].

2. Случайный лес (Random Forest, RF)

Случайный лес (RF, Random Forest) [13] представляет собой беггинг деревьев Бреймана, т.е. метод, при котором строится множество различных деревьев на разных подпространствах вектора признаков (рис. 2). При беггинге деревья строятся параллельно друг другу, а результат классификации определяется голосованием.

Алгоритм построения случайного леса:

1. Обучающее множество S разбивается случайным образом на {Su, St2..Stn_estimators} £ S подмножества, где n_estimators означает количество деревьев, участвующих в ансамбле. При этом подмножества St могут между собой пересекаться, и в сумме не образуют полное множество S. Выборка, не вошедшая в подмножество S^, называется OOB (out-of-bag) и обозначается S^oob.

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

Оценка качества алгоритма ЯЕ

Для оценки качества алгоритма RF помимо стандартных параметров, полученных с помощью матрицы ошибок, также применяются параметры, рассчитанные с помощью метода ООВ (out-of-bag). Метод ООВ заключается в построении случайного леса на основе потоков, не участвующих в обучении выбранных для тестирования деревьев и последующем подсчете количества ошибочке классификации (7) по ООВ (£Д00В): 6 5^оов:

ERr

1 Ya

Noobl-Ч

NOOB

/(Sy(Y) Ф f(S,Y)),

(7)

где N00B - размер множества S

t,OOB.

V su üniatwi

1 1 г +

Рис. 2. Классификация сетевого трафика по алгоритму Random Forest

В работе для реализации алгоритма Random Forest используется библиотека Scikit-learn языка программирования Python.

В таблице 1 перечислены наиболее важные настраиваемые параметры RF, которые исследовались в статье.

Таблица 1

Основные настраиваемые параметры Random Forest

№ Параметр Описание параметра

1 N e timators Количество деревьев

2 Критерий примеси Критерий, используемый для получения функции разбиения (индекс Джини или Энтропия)

3 max_feature Максимальное количество просмотренных в ветвях признаков для разбиения

4 Max_dept Глубина дерева - максимальное количество уровней

5 min_samples_s lit Минимальное число выборок в узле, необходимое для разветвления

6 min_samples_leaf Минимальное число выборок в листе

3. Экстремальный градиентный бустинг (XGBoost)

ХвВооэ! представляет собой бустинг деревьев. При бустинге деревья обучаются последовательно, исправляя ошибки друг друга. Общий алгоритм ХвВооБ! выглядит следующим образом:

1. Предсказание ансамбля алгоритмов (у1) на основе деревьев имеет вид (8):

n estimators

I

к=1

(8)

где п_езйта1ог5 - количество деревьев; - базовые алгоритмы; Т - функциональное пространство всех возможных деревьев модели.

2. После получения предсказания от модели, оптимизируется целевая функция (оЬ]') или функция оптимизации бустинга, которая имеет вид (9):

оЪЦв) = Цв)+ П(б), (9)

где

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

в - шаг модели;

Цб) = ИГ=1 специфичная функция потерь

(может оцениваться как СКО);

уь - значение /-го элемента обучающей выборки; уг® - предсказание для первых 1 деревьев; ^(б) = £¿=1 - регуляризатор для каждого из деревьев (10):

£

т = гт+-л

7 = 1

Т - число листьев:

w;.

(10)

у - параметр, позволяющий регулярировать деление листа на поддеревья;

Я - параметр регуляризации для суммы весов деревьев;

Gain = - [HL(X) + HR(X) - ЯИСХ(Я)] - у,

(11)

где Нь (Я) - информационное усиление на новом левом листе; ЯЙ(Я) - информационное усиление на новом правом листе; #ИСХ(Я) - информационное усиление на исходном листе.

Если Gain < 0, то деление листа на ветки не происходит, и лист становится терминальным.

3. В модель добавляется новое дерево fk, которое строится на основании ошибок предыдущего шага [14].

При использовании различных функций потерь получаются различные виды бустинга (AdaBoost при экспоненциальной, LogitBoost при логарифмической, GentleBoost и др.). Градиентный бустинг является обобщением всех этих функций, а экстремальный градиентный бустинг позволяет проводить более гибкую регуляризацию, благодаря чему, XGBoost достигает лучших результатов по сравнению с AdaBoost и прочих подобных методов и применяется значительно чаще в современных задачах.

Таблица 2

Основные настраиваемые параметры XGBoost

№ Параметр Описание параметра

1 N e timators Количество деревьев

2 Max_dept Глубина дерева - максимальное количество уровней

3 min child wei ht Минимальное число выборок в листе

4 col ample_bytree Доля признаков, используемая для построения дерева

5 subsampl Доля выборки, используемая для построения дерева

n

m

tili

Wj - вес листьев;

- функция, контролирующая сумму весов модели.

В отличие от CART, при котором деревья либо урезаются после их полного построения, либо вводятся ограничения на глубину дерева/листья/вершины, при XGBoost более гибкая система регуляризации. При построении дерева используется функция, на основании которой принимается решение целесообразности о разделении листа на ветки (11):

а С

S, s2 s.

Si TP, Рщ

s2 щ TP;

S„ F.. F „ TP,,

4. Оценка результатов классификации

На этапе тестирования алгоритма, результаты классификации, полученные с помощью построенной модели, сравниваются с истинными результатами классификации. Для каждого класса подсчитывают количество верно и неверно идентифицированных потоков, и составляется матрица ошибок (рис. 3). На рисунке количество верно идентифицированных потоков обозначено как ТР1, а - неверно Б^, причем, 1 - номер предсказанного класса, а) - номер истинного класса.

Истинные классы; 5=Г(В.2,У)

Рис. 3. Матрица ошибок (Confusion matrix)

По составленной матрице ошибок рассчитываются основные параметры алгоритма:

Доля правильных ответов показывает, сколько было правильно идентифицированных потоков относительно всех потоков (12):

уп_ тр..

ACCURACY = '=1 " „ ; (12)

¿-¡i = l 1 rii ~ ¿-¡i=l£jj = lrij

Точность для i-го класса - это доля верно классифицированных потоков от всех потоков, которым была присвоена метка i-ro класса (13):

TP

Полнота для j-ro класса - мера выделения одного потока среди других (14):

TP

Fl-мера - гармоническое среднее между точностью и полнотой (15):

_ 2 • PRECISION ■ RECALL

F1 ~ PRECISION + RECALL ' ^

Все перечисленные параметры находятся в диапазоне [0;1], где 0 - это наихудший, а 1 - наилучший результат соответственно. На практике 1 достигается довольно редко.

4. Составление базы данных трафика

Для проведения экспериментальной части исследования была выбрана открытая база данных исследовательской группы MAWI, разработанная в рамках проекта WIDE [15]. Трафик снимался на реальной сети в Токио, в контрольной точке с соединением 10 Гбит/с. Для актуальности анализируемых трасс, были выбраны 6 записей, сделанные в январе-феврале 2020 года, каждая длительностью 15 минут. Таким образом, общее время измерений составило 1,5 ч, а общий объем трафика - 200,25 Гб.

С помощью автоматического анализатора трафика nDPI и модуля dpkt языка программирования Python удалось разделить данные на отдельные выборки по следующим правилам:

- все пакеты, имеющие одинаковый набор 5-tuple (IP -адрес, порты источника и назначения и используемый транспортный протокол), объединялись в одну выборку, названную потоком;

- потоки, представляющие обратное направление (в которых IP-адреса и порты источника и назначения записаны в обратном порядке), не учитывались в итоговой выборке;

- каждый поток содержал в себе ровно 15 пакетов: потоки с меньшим количеством пакетов удалялись, потоки с большим - обрезались;

- для всех выборок записаны размеры каждого из 15 пакетов, а также разность между временем прихода двух последовательно поступающих пакетов, итого 29 параметров;

- для каждого потока было зафиксировано название его источника-приложения, определенного nDPI.

Дальнейший анализ проводился отдельно на базах данных, собранных по TCP и UDP-приложениям. Базу данных TCP представляли по 1500 потоков в каждом из 13 приложений: SSL, HTTP_Proxy, DNS, Apple, IMAPS, HTTP, Skype, SSH, SMTP, RTMP, Telnet, POPS и IMAP. Базу данных UDP составляли по 250 потоков каждого из 8 приложений: DNS, NTP, Quic, IPsec, SNMP, NetBIOS, STUN и UPnP. Подробно

о предварительной обработки данных, в т.ч. о нормализации параметров модели и работе с выбросами описано в [16].

Для обеих баз данных была рассчитана матрица признаков, состоящая из 45 параметров: размеры и время между приходом двух соседних пакетов (1-29), средний, минимальный, максимальный, медианный, суммарный, СКО и дисперсия размера пакета (30-36), то же для времени между поступлением пакетов (37-43), пакетная и байтовые скорости (44-45) [17]. Такой набор параметров удобно собрать и рассчитать в режиме реального времени, его эффективность была показана автором в работе [18], а способ снятия, не вносящий дополнительных задержек в сеть в статьях [19-20].

5. Настройка параметров модели Random Forest

На рисунке 4 изображена зависимость точности по методу OOB для тестовой и обучающей выборки в зависимости от количества деревьев (N_estimators), а на рисунке 5 - зависимость ошибки OOB от количества деревьев, максимальному количеству просмотренных в ветвях признаках (max_features) и критерию примеси (индекс Джини или Энтропия). Темно-серым отмечена область, в которой находятся значения в пределах стандартного отклонения, а светло - серым в пределах максимального. В качестве возможных вариантов max_features рассматриваются стандартные варианты: max_features=Vrä, max_features=log2 т и max_features=m.

& 0925 Г!

t; 0.900 0.875 0.850 0.825 0.800

Г

fA - trai - test

75 100 125 150 175 N_estimators

а")

75 100 125 М_езйтай>гз

б)

Рис. 4. Зависимость точности классификации от количества деревьев (N_est1шators): а) ТСР-иотоки, б) ЦЭР-потоки

Как видно из рисунка 4, для TCP-потоков наивысшая точность 0,83 достигается при 125 деревьях и выше, а для UDP - 0,93 при 175 деревьях и выше. При дальнейшем росте числа деревьев точность практически не меняется, но значительно увеличивается сложность расчетов и время построения модели. Результаты тренировочного TCP-набора принимают значение 1, а тестового - незначительно колеблются вблизи 0,82. Это говорит о том, что разброс в ошибке составляет около 18%, а модель является переобученной. В случае с UDP ошибка 8%, но модель также является переобученной. Для того чтобы справиться с этой проблемой и уменьшить разброс между тестовыми и тренировочными результатами, необходимо воспользоваться механизмами регуляризации параметров.

При 125 деревьях для TCP-потоков небольшой OOB-ошибки можно достичь при max_features=V^ с индексом Джини или max_features=m с Энтропией. При увеличении количества деревьев ошибка незначительно снижается, но сложность линейно возрастает. Для UDP-потоков при 175 деревьях наименьшая OOB - ошибка достигается при max_features=V^ с Энтропией или max_features=log2 m с индексом Джини.

RandomForestClassifier, max_ RandomForestClassifier, max_ RandomForestClassifier, max_ RandomForestClassifier, max_ RandomForestClassifier, rnax_ RandomForestClassïfie

es=-sqrt'. criterion^gini' es=-log2", criterion='gini' es=all, criterion='girvi' es^sqrt', criterion='entrop es='log2\ criterion='entroi es=all, criterion=-entropy'

a)

- RandomForestClassifier, max_features="sqrt'1 criterion=,gini" - RandomForestClassifier, max_features='log2', critenon='gini' - RandomForestClassifier, max_features=all, criterion=,gini' - RandomForestClassifier, max_features='sqrt\ criterion='entrc y1 - RandomForestClassifier, max_features='log2', criterion='entr( >y' - RandomForestClassifier, max_features=all, criterion='eritropy

80 100 nestimators

6)

Рис. 5. Зависимость OOB-ошибки классификации от количества деревьев (N_estimators), максимального числа признаков для разветвления и критерия примеси (индекс Джини или Энтропия): а) TCP-потоки, б) UDP - потоки

На рисунке 6 изображены валидационные кривые для TCP и UDP-потоков в зависимости от глубины деревьев. С увеличением глубины деревьев точность классификации возрастает. Для TCP-потоков max_depth начинается с max_depth=25, а для UDP-потоков с 17.

На рисунке 7 кривые точности для минимального числа выборок в узле, а на рисунке 8 - для минимального числа выборок в листе. При увеличении этих параметров точность классификации незначительно уменьшается. Для TCP-потоков min_samples_split=2, а для UDP - 4. Для обоих наборов данных min_samples_leaf=1.

1.00 0.95 0.90 ^ 0.85

о.ао

0.75 0.70 0.65 0.60

.

- est

/

/

/ -

f

//

/

/

Max depth б)

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

Рис. 6. Зависимость точности классификации от максимальной глубины деревьев (Max_depth): а) TCP-потоки, б) UDP - потоки

min_samples_5plit

а)

15 20

min_samples_split

б)

Рис. 7. Зависимость точности классификации минимального числа выборок в узле (шin_saшples_split): а) ТСР-потоки, б) ЦЭР - потоки

Ü 0.85

ni l samples ""f

а)

6. Настройка параметров модели XGBoost

Для реализации алгоритма XGBoost используется одноименная сторонняя библиотека [14].

На рисунке 9 изображены валидационные кривые, показывающие точность классификации в зависимости от числа деревьев для TCP и UDP-потоков. В отличие от Random Forest, для достижения высокой точности классификации не требуется большого количества деревьев и разброс между тестовой и обучающей выборкой не так велик. При построении деревьев с максимальной глубиной равной 5, точность 80% достигается при 50 деревьях для TCP и 90% при 5 деревьях для UDP.

На рисунке 10 изображены зависимости точности классификации от максимальной глубины деревьев. Графики для XGBoost очень похожи на аналогичные графики для Random Forest (рис. 6), но рост точности для XGBoost начинается при значительно меньших значениях max_depth:7-10 для TCP и 3-5 для UDP.

n¡n_salnples_leaf б)

Рис. 8. Зависимость точности классификации от минимального количества выборок в листе (min_samples_leaf): а) ТСР-потоки, б) ЦБР - потоки

Но, несмотря на уменьшение точности, разброс между результатами тестовой и обучающей выборки тоже уменьшается и модель уже не такая переобученная. Поэтому для ТСР-потоков предлагается использовать max_depth=19, min_samples_split=7, min_samples_leaf=1, сохраняя при этом точность 0,82, но уменьшая переобучение на 18%. Немного увеличив количество деревьев и количество максимальных признаков до max_features=13, n_estimators=175, точность станет равной 0,87, т.е. увеличится на 5%.

Аналогичным образом для ЦБР-потоков можно определить: n_estimators=190, max_depth=8, min_samples_split=6 и min_samples_leaf=1.

200 300

N estimators

а)

200 300

N estimators

б)

Рис. 9. Зависимость точности классификации от количества деревьев (N_estimators): а) ТСР-потоки, б) ЦЭР - потоки

ш

1.000 0.975 0.950 0.925 0.900 0.875 0.850 0.825

a)

fl / 1—___1

Iff

f

[

— test

min_child_weight

а)

тт_сМИс1_\лге1дЬ1 б)

Рис. 11. Зависимость точности классификации от минимального числа выборок в каждой вершине (шт_сЫМ_%^М): а) ТСР-потоки, б) ЦБР - потоки

На рисунке 12 изображены зависимости точности классификации трафика от доли признаков, используемых для построения деревьев (colsample_bytree), аналогично max_features для Random Forest, а на рисунке 13 - зависимости точности классификации от доли выборки для построения деревьев (subsample), аналогично методу OOB.

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

Max_depth б) "

Рис. 10. Зависимость точности классификации от максимальной глубины деревьев (Max_depth): а) TCP-потоки, б) UDP - потоки

На рисунке 11 показаны валидационные прямые для min_child_weight - параметра, отвечающего за минимальное число выборок в каждой вершине - аналогично min_samples_leaf для Random Forest. Также как и в случаях с Random Forest, этот параметр помогает справиться с переобучением.

colsamplebytree

а)

0.4 0.6

со1ьатр1е_Ьу1:гее

б)

Рис. 12. Зависимость точности классификации от доли признаков, используемых для обучения каждого дерева (colsample_bytree): а) ТСР-потоки, б) ЦБР - потоки

Путем подбора параметров, можно определить те, при которых достигается наилучшая точность. Для ТСР-потоков точность 0,9005 может быть получена при n_estimators=155, max_depth=10, colsample_bytree=0,65, шin_child_weight=1, subsample=0,65; а для ЦБР-потоков точность 0,9675 - при n_estimators=85, max_depth=7, colsample_bytree=0,4, шin_child_weight=2 и subsample=0,65.

0.4 0.6

subsample

а)

Рис. 13. Зависимость точности классификации от доли выборки, используемой для обучения каждого дерева (subsample): а) TCP-потоки, б) UDP - потоки

7. Результаты классификации трафика до и после

настройки параметров

На рисунках 14-17 представлены результаты классификации TCP и UDP потоков с параметрами по умолчанию и параметрами, которые были получены при изучении математической модели Random Forest и XGBoost.

Для TCP-потоков улучшение результатов точности при настройке RF 3,3%, а при настройке XGBoost - 6,7%. В случаях с UDP-потоками, настройка RF повышает точность классификации на 1,5% , а настройка XGBoost -на 2%. При рассмотрении результатов отдельных приложений можно заметить, что настройка RF повышает Precision до 12% (для POPS), a UDP - до 11% (для NTP). Настройка XGBoost для TCP повышает Recall до 19% для POPS и SSL, а для UDP -до 12% (для NTP). На основе этих значений можно сделать вывод, что настройка математических параметров модели является важным этапом при создании классификатора трафика. Для классификации TCP-потоков влияние настройки параметров оказалось большим, чем при классификации UDP-потоков. Это объясняется тем, что и при ненастроенных параметрах для UDP-потоков были показаны хорошие результаты, иногда достигающие 100%. С одной стороны, классификаторы для UDP учатся быстрее, а с другой стороны - для TCP выбрано 13 приложений против 8 для UDP, что усложняет задачу классификации и обучения.

■Î 0.4

RF RFtun XGB XGB_tun

а)

Я Accuracy

XGB tun

б)

Рис. 14. Точность классификации (Accuracy) при использовании алгоритмов Random Forest и XGBoost до и после настройки модели: а) TCP-потоки, б) UDP - потоки

ИГ 111 lill Ii

11

I ■■ Dr

Iz

11

■■ STUN ^m upnp

6)

Рис. 15. Точность классификации каждого класса (Precision) при использовании алгоритмов Random Forest и XGBoost до и после настройки модели. а) TCP-потоки, б) UDP - потоки

К I«II

^т ssL 0.2 -| ^т http Proxy ■■ DNS ■Н Apple

Skype

Рис. 16. Полнота классификации каждого класса (Recall) при использовании алгоритмов Random Forest и XGBoost до и после настройки модели. а) TCP-потоки, б) UDP - потоки

I I. I I, I I ш

IHAPS

КТТР

Skype

SSH ^т Telnet SMTP ■■ POPS RTMP ^m IMAP

Рис.17. F1-Mepa классификации каждого класса (F1) при использовании алгоритмов Random Forest и XGBoost до и после настройки модели. а) TCP-потоки, б) UDP - потоки

В большинстве работ, связанных с классификацией трафика, наилучшие результаты перед всеми остальными алгоритмами показывает алгоритм Random Forest [3-5]. В [6] показано, что один из алгоритмов бустинга на основе деревьев (AdaBoost) в целом показывает результаты хуже, по сравнению с Random Forest. Но, судя по проведенному эксперименту заметно, что до настройки параметров модели XGBoost по результатам уступал даже ненастроенному RF, а после настройки - опередил и настроенный, и ненастроенный RF.

Заключение

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

Настройка гиперпараметров моделей позволяет повысить точность классификации отдельных приложений на 19% для TCP и на 12% для UDP - потоков, как для RF, так и для XGboost. Несмотря на то, что в большинстве работ, посвященных классификации трафика методами машинного обучения, наиболее эффективным оказывался алгоритм Random Forest, после настройки параметров выяснилось, что алгоритм XGBoost показал лучшие результаты по сравнению с Random Forest.

Результаты статьи использовались для построения классификаторов трафика в режиме реального времени с целью определения QoS [16-20].

Литература

1. Маньков В.А., Краснова И.А. Алгоритм динамической классификации потоков в мультисервисной SDN-сети // T-Comm: Телекоммуникации и транспорт. 2017. Том 11. №12. С. 37-42.

2. Маньков В.А., Краснова И.А. Задача управления трафиком с динамическим определением QoS в мультисервисных SDN сетях // Сборник трудов XI Международной отраслевой научно-технической конференции «Технологии информационного общества». (15-16 марта 2017 г. Москва, МТУСи). М.: ООО «ИД Медиа Паблишер», 2017 г., с.67-68

3. Iwai T., Nakao A. (2016). Adaptive mobile application identification through in-network machine learning. 2016 18th Asia-Pacific Network Operations and Management Symposium (APNOMS), 1-6. https://doi.org/10.1109/APN0MS.2016.7737226

4. Anantavrasilp I., Scholer T. (2007). Automatic flow classification using machine learning. 2007 15th International Conference on Software, Telecommunications and Computer Networks, 1-6. https://doi.org/10.1109/S0FTC0M.2007.4446129.

5. Шелухин О.И., Ерохин С.Д., Ванюшина А.В. Классификация IP-трафика методами машинного обучения / Под ред. О.И.Шелухина. М.: Горячая линия - Телеком, 2018. 282 с: ил.

6. Шелухин О.И., Симонян А.Е., Ванюшина А.В. Влияние структуры обучающей выборки на эффективность классификации приложений трафика методами машинного обучения // T-Comm: Телекоммуникации и транспорт. 2017. Том 11. №2. С. 25-31.

7. Probst P., Boulesteix A., Bischl B. (2019). Tunability: Importance of Hyperparameters of Machine Learning Algorithms. J. Mach. Learn. Res., 20, 53:1-53:32.

S. Hong Y., Huang C., Nandy B., Seddigh N. (2015). Iterativetuning support vector machine for network traffic classification. 2015 IFIP/IEEE International Symposium on Integrated Network Management (IM), 45S-466.

9. Bansal A.K., Kaur S. (201S). Extreme Gradient Boosting Based Tuning for Classification in Intrusion Detection Systems.

10. Деарт В.Ю., Маньков В.А., Краснова И.А. «Анализ перспективных подходов и исследований по классификации потоков трафика для поддержания QoS методами ML в SDN-сетях» // Вестник СибГУТИ. 2021. №1.

11. Breiman L., Friedman J., Olshen R., Stone C. Classification and Regression Trees. Wadsworth, Belmont, CA, 19S4.

12. Buitinck L., Louppe G., Blondel M., Pedregosa F., Mueller A., Grisel O., Niculae V., Prettenhofer P., Gramfort A., Grobler J., Layton R., Vander Plas J., Joly A., Holt B., Varoquaux G. (2013). AFI design for machine learning software: experiences from the scikit-learn project. ArXiv, abs/l309.023S.

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

13. Breiman L. (2001). Random Forests. Machine Learning, 45, 5-32.

14. Introduction to Boosted Trees // URL: https://xgboost.readthedocs.io/en/latest/tutorials/model.html (Дата обращения 03.03.2020)

15. Cho K., Mitsuya K., Kato A. (2000). Traffic Data Repository at the WIDE Froject. USENIX Annual Technical Conference, FREENIX Track.

16. Mankov V.A., Deart V.Y., Krasnova I.A. (2021) Evaluation of the Effect of Preprocessing Data on Network Traffic Classifier Based on ML Methods for Qos Predication in Real-Time. In: Hu Z., Petoukhov S., He M. (eds) Advances in Artificial Systems for Medicine and Education IV. AIMEE 2020. Advances in Intelligent Systems and Computing, vol 1315. Springer, Cham. https://doi.org/10.1007/978-3-030-67133-4_5

17. Deart V., Mankov, Krasnova I., Development of a Feature Matrix for Classifying Network Traffic in SDN in Real-Time Based on Machine Learning Algorithms, 2020 International Scientific and Technical Conference Modern Computer Network Technologies (MoNeTeC), Moscow, Russia, 2020, pp. 1-9, doi: 10.1109/MoNeTeC49726.2020.9258314

18. Deart V., Mankov, Krasnova I., Agglomerative Clustering of Network Traffic Based on Various Approaches to Determining the Distance Matrix, 2021 28th Conference of Open Innovations Association (FRUCT), Moscow, Russia, 2021, pp. 81-88, doi: 10.23919/FRUCT50888.2021.9347616

19. Маньков В.А., Краснова И.A. (2019). «Классификация потоков трафика SDN-сетей методами машинного обучения в режиме реального времени» // Труды международной научно-технической конференции «Информационные технологии и математическое моделирование систем 2019», С.65-68. https://doi.org/10.36581/CITP.2019.31.51.016

20. Mankov V.A., Krasnova I.A. (2020) Collection of Individual Packet Statistical Information in a Flow Based on P4-switch. In: Hu Z., Petoukhov S., He M. (eds) Advances in Intelligent Systems, Computer Science and Digital Economics. CSDEIS 2019. Advances in Intelligent Systems and Computing, vol 1127. Springer, Cham. https://doi.org/10.1007/978-3-030-39216-1_11

ANALYSIS OF THE INFLUENCE OF MACHINE LEARNING ALGORITHM PARAMETERS ON THE RESULTS OF TRAFFIC CLASSIFICATION IN REAL TIME

Irina A. Krasnova, MTUCI, Moscow, Russia, irina_krasnova-angel@mail.ru

Abstract

The paper analyzes the impact of setting the parameters of Machine Learning algorithms on the results of traffic classification in realtime. The Random Forest and XGBoost algorithms are considered. A brief description of the work of both methods and methods for evaluating the results of classification is given. Experimental studies are conducted on a database obtained on a real network, separately for TCP and UDP flows. In order for the results of the study to be used in real time, a special feature matrix is created based on the first 15 packets of the flow. The main parameters of the Random Forest (RF) algorithm for configuration are the number of trees, the partition criterion used, the maximum number of features for constructing the partition function, the depth of the tree, and the minimum number of samples in the node and in the leaf. For XGBoost, the number of trees, the depth of the tree, the minimum number of samples in the leaf, for features, and the percentage of samples needed to build the tree are taken. Increasing the number of trees leads to an increase in accuracy to a certain value, but as shown in the article, it is important to make sure that the model is not overfitted. To combat overfitting, the remaining parameters of the trees are used. In the data set under study, by eliminating overfitting, it was possible to achieve an increase in classification accuracy for individual applications by 11-12% for Random Forest and by 12-19% for XGBoost. The results show that setting the parameters is a very important step in building a traffic classification model, because it helps to combat overfitting and significantly increases the accuracy of the algorithm's predictions. In addition, it was shown that if the parameters are properly configured, XGBoost, which is not very popular in traffic classification works, becomes a competitive algorithm and shows better results compared to the widespread Random Forest.

Keywords: Machine Learning, Random Forest, XGBoost, QoS, traffic classification, parameter tuning, overtraining.

T-Comm ^м 15. #9-2021

References

1. V.A. Mankov, I.A. Krasnova (2017), "Algorithm for dynamic classification of flows in a multiservice software defined network", T-Comm, vol. 11, no. 12, pp. 37-42.

2. V.A. Mankov and I.A. Krasnova (2017), "Zadacha upravleniya trafikom s dinamicheskim opredeleniem QoS v mul'tiservisnyh SDN setyah", Sbornik tru-dov XI Mezhdunarodnoj otraslevoj nauchno-tekhnicheskoj konferencii "Tekhnologii informacionnogo obshchestva", pp. 67-68.

3. T. Iwai, A. Nakao (2016). Adaptive mobile application identification through in-network machine learning. 2016 18th Asia-Pacific Network Operations and Management Symposium (APNOMS), 1-6. https://doi.org/I0.ll09/APNOMS.20l6.7737226

4. I. Anantavrasilp, T. Scholer (2007). Automatic flow classification using machine learning. 2007 15th International Conference on Software, Telecommunications and Computer Networks, 1-6. https://doi.org/I0.II09/S0FTC0M.2007.4446I29.

5. O.I. Sheluhin, S.D. Erohin and A.V Vanyushina (20I8), "Klassifikaciya IP-trafika metodami mashinnogo obucheniya", Moscow: Goryachaya liniya -Telekom.

6. O.I. Sheluhin, A.G. Simonyan and A.V. Vanyushina (20I7), "Influence of training sample structure on traffic application efficiency classificationusing machine-learning methods", T-Comm, vol. II, no. 2, pp. 25-3I.

7. P. Probst, A. Boulesteix, B. Bischl (20I9). Tunability: Importance of Hyperparameters of Machine Learning Algorithms. J. Mach. Learn. Res., 20, 53:I-53:32.

8. Y. Hong, C. Huang, B. Nandy, N. Seddigh (20I5). Iterative-tuning support vector machine for network traffic classification. 2015 IFIP/IEEE International Symposium on Integrated Network Management (IM), 458-466.

9. A.K. Bansal, S. Kaur (20I8). Extreme Gradient Boosting Based Tuning for Classification in Intrusion Detection Systems.

10. V. Yu. Deart, V. A. Mankov, I. A. Krasnova (202I), "Analysis of promising approaches and research on traffic flow classification for maintain QoS using ML methods in SDN networks". Vestnik SibGUTI. No.I.

11. L. Breiman, J. Friedman, R. Olshen, C. Stone (I984). Classification and Regression Trees. Wadsworth, Belmont, CA.

12. L. Buitinck, G. Louppe, M. Blondel, F. Pedregosa, A. Mueller, O. Grisel, V. Niculae, P. Prettenhofer, A. Gramfort, J. Grobler, R. Layton, J. Vander Plas, A. Joly, B. Holt, G. Varoquaux (20I3). API design for machine learning software: experiences from the scikit-learn project. ArXiv, abs/I309.0238.

13. L. Breiman (200I). Random Forests. Machine Learning, 45, pp. 5-32.

14. Introduction to Boosted Trees // URL: https://xgboost.readthedocs.io/en/latest/tutorials/model.html (Date of access 03.03.2020)

15. K. Cho, K. Mitsuya, A. Kato (2000). Traffic Data Repository at the WIDE Project. USENIX Annual Technical Conference, FREENIX Track.

16. V.A. Mankov, V.Y. Deart, I.A. Krasnova (202I). Evaluation of the Effect of Preprocessing Data on Network Traffic Classifier Based on ML Methods for Qos Predication in Real-Time. In: Hu Z., Petoukhov S., He M. (eds) Advances in Artificial Systems for Medicine and Education IV. AIMEE 2020. Advances in Intelligent Systems and Computing, vol I3I5. Springer, Cham. https://doi.org/I0.I007/978-3-030-67I33-4_5

17. V. Deart, Mankov, I. Krasnova (2020), Development of a Feature Matrix for Classifying Network Traffic in SDN in Real-Time Based on Machine Learning Algorithms, 2020 International Scientific and Technical Conference Modern Computer Network Technologies (MoNeTeC), Moscow, Russia, pp. I-9, doi: I0.II09/MoNeTeC49726.2020.92583I4

18. V. Deart, Mankov, I. Krasnova (202I), Agglomerative Clustering of Network Traffic Based on Various Approaches to Determining the Distance Matrix, 2021 28th Conference of Open Innovations Association (FRUCT), Moscow, Russia, pp. 8I-88, doi: I0.239I9/FRUCT50888.202I.93476I6

19. V.A. Mankov and I.A. Krasnova (20I9), "Klassifikatsiya potokov trafika SDN-setei metodami mashinnogo obucheniya v rezhime real''nogo vremeni", Informatsionnye Tekhnologii I Matematicheskoe Modelirovanie Sistem 2019, [online] Available: https://doi.org/I0.3658I/CITP.20I9.3I.5I.0I6.

20. V.A. Mankov and I.A. Krasnova (2020) Collection of Individual Packet Statistical Information in a Flow Based on P4-switch. In: Hu Z., Petoukhov S.,

He M. (eds) Advances in Intelligent Systems, Computer Science and Digital Economics. CSDEIS 2019. Advances in Intelligent Systems and Computing, vol 1127. Springer, Cham. https://doi.org/I0.l007/978-3-030-392l6-l_ll

Information about author:

Irina A. Krasnova, graduate student, MTUCI, Moscow, Russia

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