• Кластеризация k-средних представляет собой алгоритм для классификации или группировки объектов на основе атрибутов/признаков в K групп.

•K – целое положительное число.

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

Как это работает?

Алгоритм

Шаг 1. Начните с принятия решения о значении k = количество кластеров .

Шаг 2. Разместите любой начальный раздел, который классифицирует данные, в k кластеров. Вы можете назначать обучающие выборки случайным образом или систематически следующим образом:

1. Возьмите первую обучающую выборку k как одноэлементные кластеры.

2. Назначьте каждую из оставшихся (N-k) обучающих выборок кластеру с ближайшим центром тяжести. После каждого назначения повторно вычислите центр тяжести кластера получения.

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

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

Использование кластеризации K-средних в домене безопасности

Если ширина кластера выбрана правильно, то после кластеризации каждый кластер будет содержать экземпляры одного типа. Основная задача — определить, какие кластеры являются нормальными, а какие — интрузивными в случае обнаружения вторжений. Здесь мы предполагаем, что максимальное количество записей является нормальным из обучающей выборки. Тогда весьма вероятно, что кластер с максимальным количеством экземпляров содержит обычные записи, а другой содержит записи об атаках. Мы использовали 75% в качестве порогового процентного значения для маркировки нормального кластера. Остальные скопления помечены как аномальные.

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

  1. Нормируем d на основе статистической информации из обучающей выборки, пусть это будет d’.
  2. Найдите кластер, ближайший к d’, используя метрическое евклидово расстояние.
  3. Предположим, dist(C,d’)
  4. Классифицируйте запись как кластерную метку C (нормальную или аномальную).

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