Перейти к основному содержимому
Версия: 4.6.X

Функции машинного обучения

Справочник «Функции машинного обучения» — это перечень функций, которыми KOMRAD Enterprise SIEM выявляет отклонения в потоке событий. Для каждой функции указано, какие данные она анализирует, какое отклонение обнаруживает и в каких задачах её применяют.

Справочник предназначен для выбора подходящей функции перед созданием ML-задачи и для понимания того, что означает функция, указанная в уже существующей задаче или в поле события ML.Anomaly.DetectorFunction.

к сведению

Справочник работает только на чтение. Создать, настроить или запустить ML-задачу из него нельзя — это делается в разделе «ML-задачи».

Как открыть справочник​

Выберите в меню «Справочники» → «Функции машинного обучения». Пункт находится последним, после «Календарей»; адрес страницы — /references/ml-functions.

Если пункт меню не отображается, у учётной записи нет права на просмотр справочника — см. раздел Право доступа.

примечание

Прежняя страница «ML-задачи» → «Детекторы» (/anomaly-detection/detectors) удалена, её заменил справочник. Прежний адрес перенаправляет на /references/ml-functions, поэтому сохранённые ссылки и закладки продолжают работать.

Состав справочника​

Справочник содержит 45 записей:

  • 42 функции движка машинного обучения — их технические имена совпадают с именами в самом движке;
  • 3 детектора категоризации — category_novelty, category_rare и category_count_spike.

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

КатегорияЗаписейПримеры функций
Функции подсчёта9count, high_count, distinct_count
Функции статистических характеристик12mean, median, varp
Функции суммы6sum, high_sum, non_null_sum
Редкие функции5rare, freq_rare, rare_count
Функции информационного содержания3info_content, high_info_content, low_info_content
Временные функции2time_of_day, time_of_week
Функции скорости изменения4max_velocity, mean_velocity, sum_velocity
Географические функции1lat_long
Детекторы категоризации3category_novelty, category_rare, category_count_spike

Категория — это признак записи, по которому её удобно искать и фильтровать. Записи в таблице по категориям не группируются и по категориям предварительно не сортируются.

Тексты справочника подготовлены на русском и английском языках. Язык записей совпадает с языком интерфейса.

Состав записи​

У каждой записи восемь полей:

ПолеЧто содержит
ФункцияТехническое имя функции, например high_count. Это имя указывается в настройках ML-задачи и попадает в поле события ML.Anomaly.DetectorFunction
КатегорияОдна из девяти категорий
НазваниеНазвание функции на языке интерфейса, например «Высокий подсчет событий»
Поддерживаемые типы данныхТипы полей события, которые функция принимает. Если функция не зависит от значений поля, указано «Не зависит от содержимого поля»
Детектируемое отклонениеКратко — какое отклонение обнаруживает функция
ОписаниеКак функция работает и какие у неё ограничения
Примеры использованияПрактические сценарии, для которых функция подходит
Основное полеКакое поле функция анализирует: поле значения, поле группировки, поле категоризации, время самого события. Здесь же указано, если поле значения для функции запрещено или, наоборот, обязательно

Поля «Поддерживаемые типы данных» и «Основное поле» нужно читать вместе: типы данных могут относиться не к полю значения, а к полю группировки.

Пример. Запись функции rare:

  • Основное поле — «Поле значения запрещено; анализируется поле группировки — оно обязательно. Типы данных относятся к полю группировки.»
  • Поддерживаемые типы данных — string, string slice, ip, ip slice, uint64 slice, int slice.
  • Детектируемое отклонение — «Появление новых или крайне редких значений.»
  • Примеры использования — «Первый вход с нового IP», «Запуск неизвестного процесса», «Появление новой учетной записи».

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

Таблица справочника​

По умолчанию в таблице показаны пять столбцов: Функция, Категория, Название, Детектируемое отклонение, Основное поле.

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

Если под условия поиска и фильтров не подходит ни одна запись, таблица показывает «Нет данных».

Настройка столбцов​

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

Функция → Категория → Название → Поддерживаемые типы данных → Детектируемое отклонение → Описание → Примеры использования → Основное поле

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

Поиск и фильтры​

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

Доступны два фильтра с выбором нескольких значений:

  • «Категории» — одна или несколько из девяти категорий;
  • «Типы данных» — типы полей события (string, ip, int64, float64 и другие), а также значения «Не зависит от содержимого поля» и «Зависит от содержимого поля».

Оба фильтра и строка поиска применяются одновременно: запись остаётся в таблице, только если удовлетворяет всем заданным условиям.

Сортировка​

По умолчанию записи отсортированы по столбцу «Функция» по алфавиту. Нажатие на заголовок столбца сортирует по нему, повторное нажатие меняет направление сортировки.

Сортировка доступна по столбцам Функция, Категория, Название, Детектируемое отклонение, Описание и Примеры использования.

Информационная карточка​

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

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

Возможности карточки:

  • нажатие на другую строку таблицы обновляет содержимое карточки;
  • стрелки в карточке листают записи в текущем порядке строк — с учётом поиска, фильтров и сортировки;
  • карточка закрывается крестиком.

Действий над ML-задачами в карточке нет. Открытие и закрытие карточки не сбрасывает поиск, фильтры и сортировку.

Право доступа​

Доступ к справочнику определяется отдельным правом:

Атрибут правила доступаЗначение
Объект → ТипСправочник функций машинного обучения
ДействиеПросмотр справочника функций машинного обучения

Правило с этими атрибутами включается в разрешающую политику доступа. Право на чтение ML-задач доступа к справочнику не даёт, и наоборот. Без права пункт меню скрыт, а при переходе по прямой ссылке страница отвечает «Доступ запрещен».

Действие при обновлении системы

Если в системе нет ни одной политики доступа, справочник виден всем вошедшим пользователям.

Если задана хотя бы одна разрешающая политика, право не выдаётся автоматически при обновлении. Чтобы справочник стал доступен, добавьте тип объекта «Справочник функций машинного обучения» в соответствующее правило доступа. Это относится и к роли admin.

Подробнее о модели разграничения прав — в разделе Управление доступом.

Программный доступ​

Содержимое справочника доступно через API:

GET /api/v1/references/ml-functions

Запрос только читает данные и не изменяет состояние системы. Поддерживаются параметры:

ПараметрНазначение
pagination.searchСтрока поиска — те же поля, что и в интерфейсе
pagination.sortПоле сортировки: function, category, name, description, deviation, usage_examples
pagination.orderНаправление сортировки
category_idsФильтр по категориям (несколько значений)
data_typesФильтр по типам данных (несколько значений)

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

Язык ответа задаётся заголовком Accept-Language (ru по умолчанию, en). Подробная спецификация доступна в Swagger-документации API.

См. также​