20 Сентября, 2018

Splunk: Machine learning на новый уровень

Евгений Ольков


Чуть больше года назад мы делали обзор на приложение Splunk Machine Learning Toolkit , с помощью которого можно анализировать машинные данные на платформе Splunk, используя различные алгоритмы машинного обучения.

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

Новые алгоритмы


Прежде чем говорить о алгоритмах следует отметить, что существует ML-SPL API , с помощью которого можно подгрузить любой алгоритм с открытым кодом из более 300 алгоритмов на языке Python. Однако для этого необходимо в некоторой степени уметь программировать на Python.

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



ACF (автокорреляционная функция)

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

PACF (функция частичной автокорреляции)

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

ARIMA (интегрированный процесс авторегрессии и скользящего среднего)

Модель ARIMA – одна из наиболее популярных моделей для построения краткосрочных прогнозов. Значения авторегрессии выражают зависимость текущего значения временных рядов от предыдущих, а скользящее среднее модели определяет влияние предыдущих ошибок прогноза (также называемых белым шумом) на текущее значение.



Gradient Boosting Classifier и Gradient Boosting Regressor

Градиентный бустинг – это метод машинного обучения, используемый для задач регрессии и классификации, который создает модель прогнозирования в виде ансамбля слабых моделей, обычно деревьев решений. Он строит модель поэтапно, когда каждый следующий алгоритм стремится компенсировать недостатки композиции всех предыдущих алгоритмов. Изначально понятие бустинга возникло в работах в связи с вопросом, возможно ли, имея множество плохих (незначительно отличающихся от случайного определения) алгоритмов обучения, получить хороший. В течение последних 10 лет бустинг остаётся одним из наиболее популярных методов машинного обучения, наряду с нейронными сетями. Основные причины — простота, универсальность, гибкость (возможность построения различных модификаций), и, главное, высокая обобщающая способность.

X-means

Алгоритм кластеризации X-means представляет собой расширенный алгоритм k-means, который автоматически определяет количество кластеров на основе информационного байесовского критерия (BIC). Этот алгоритм удобно использовать, когда нет предварительной информации о числе кластеров, на которые эти данные могут быть разделены.

RobustScaler

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



TFIDF

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

MLPClassifier

Первый алгоритм нейронных сетей в Splunk. Алгоритм построен на основе многослойного персептрона , который позволит улавливать нелинейные отношения в данных.



Администрирование


В новых версиях существенно преобразилось администрирование приложения.

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

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



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



Визуализация


В последней версии MLTK 3.4 был добавлен новый тип визуализации. Знаменитый Box Plot или, как у нас его еще называют, «Ящики с усами».


Box Plot используют в описательной статистике, с помощью него можно в удобной форме увидеть медиану (или, если нужно, среднее), нижний и верхний квартили, минимальное и максимальное значение выборки и выбросы. Несколько таких ящиков можно нарисовать бок о бок, чтобы визуально сравнивать одно распределение с другим. Расстояния между различными частями ящика позволяют определить степень разброса (дисперсии) и асимметрии данных и выявить выбросы.



Подводя итоги, за год машинное обучение в Splunk сделало большой шаг вперед. Появились:

  1. Множество новых встроенных алгоритмов, таких как: ACF, PACF, ARIMA, Gradient BoostingClassifier, Gradient Boosting Regressor, X-means, RobustScaler, TFIDF, MLPClassifier;
  2. Ролевая модель доступа и возможность управления моделями и экспериментами;
  3. Визуализация Box Plot

Если вы все еще не пробовали Splunk, то самое время начать, бесплатная версия до 500Мб в сутки доступна всем желающим. А если у вас есть вопросы или проблемы со Splunk — вы можете задать их нам , а мы поможем.

Мы являемся официальным Premier Партнером Splunk .