Поделиться через


Технический справочник по алгоритму кластеризации последовательностей Майкрософт

Алгоритм кластеризации последовательностей Майкрософт — это гибридный алгоритм, который использует анализ цепочки Markov для идентификации упорядоченных последовательностей и объединяет результаты этого анализа с методами кластеризации для создания кластеров на основе последовательностей и других атрибутов в модели. В этом разделе описывается реализация алгоритма, настройка алгоритма и особые требования для моделей кластеризации последовательностей.

Дополнительные сведения об алгоритме, в том числе о том, как просматривать и запрашивать модели кластеризации последовательностей, см. в статье "Алгоритм кластеризации последовательностей Майкрософт".

Реализация алгоритма кластеризации последовательностей Майкрософт

Модель кластеризации последовательностей Майкрософт использует модели Markov для идентификации последовательностей и определения вероятности последовательностей. Модель Markov — это направленный граф, который сохраняет переходы между различными состояниями. Алгоритм кластеризации последовательностей Майкрософт использует цепочки Markov n-order, а не скрытую модель Markov.

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

Это может быть полезно для визуализации цепочки с помощью примера анализа потока щелчков, который анализирует посещения веб-страниц на сайте. Каждый пользователь создает длинную последовательность щелчков для каждого сеанса. При создании модели для анализа поведения пользователей на веб-сайте набор данных, используемый для обучения, представляет собой последовательность URL-адресов, преобразованную в граф, включающий количество всех экземпляров одного пути щелчка. Например, граф содержит вероятность перемещения пользователя с страницы 1 на страницу 2 (10%), вероятность перемещения пользователя с страницы 1 на страницу 3 (20%) и т. д. Когда вы помещаете все возможные пути и фрагменты путей вместе, вы получаете граф, который может быть гораздо длиннее и сложнее, чем любой наблюдаемый путь.

По умолчанию алгоритм кластеризации последовательностей Майкрософт использует метод "Максимизация ожиданий" (EM) кластеризации. Дополнительные сведения см. в техническом справочнике по алгоритму кластеризации Майкрософт.

Целевыми объектами кластеризации являются как последовательные, так и неисключенные атрибуты. Каждый кластер выбирается случайным образом с помощью распределения вероятностей. Каждый кластер имеет цепочку Markov, представляющую полный набор путей, а также матрицу, содержащую переходы состояния последовательности и вероятности. На основе первоначального распределения правило Bayes используется для вычисления вероятности любого атрибута, включая последовательность в определенном кластере.

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

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

Выбор компонентов в модели кластеризации последовательностей

Выбор компонентов не вызывается при создании последовательностей; Однако выбор компонентов применяется на этапе кластеризации.

Тип модели Метод отбора признаков Комментарии
Кластеризация последовательностей Не используется Выбор компонентов не вызывается; однако можно управлять поведением алгоритма, задав значение параметров MINIMUM_SUPPORT и MINIMUM_PROBABILIITY.
Кластеризация Оценка интересности Хотя алгоритм кластеризации может использовать дискретные или дискретизированные алгоритмы, оценка каждого атрибута вычисляется как расстояние и является непрерывным; поэтому используется оценка интересности.

Дополнительные сведения см. в разделе "Выбор компонентов".

Оптимизация производительности

Алгоритм кластеризации последовательностей Майкрософт поддерживает различные способы оптимизации обработки:

  • Управляя числом созданных кластеров, задав значение для параметра CLUSTER_COUNT.

  • Уменьшение числа последовательностей, включенных в качестве атрибутов, путем увеличения значения параметра MINIMUM_SUPPORT. В результате редкие последовательности устраняются.

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

Как правило, можно оптимизировать производительность режима цепочки Маркова n-порядка несколькими способами:

  • Управление длиной возможных последовательностей.

  • Программным образом уменьшая значение n.

  • Хранение только вероятностей, превышающих указанное пороговое значение.

Полное обсуждение этих методов выходит за рамки этой статьи.

Настройка алгоритма кластеризации последовательностей

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

Настройка параметров алгоритма

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

Количество кластеров
Указывает приблизительное количество кластеров, создаваемых алгоритмом. Если приблизительное количество кластеров невозможно создать из данных, алгоритм создает максимальное количество кластеров. Задание параметра CLUSTER_COUNT значение 0 приводит к использованию эвристики алгоритма, чтобы лучше определить количество кластеров для сборки.

Значение по умолчанию равно 10.

Замечание

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

МИНИМАЛЬНАЯ ПОДДЕРЖКА
Указывает минимальное количество случаев, необходимых для поддержки атрибута для создания кластера.

Значение по умолчанию равно 10.

МАКСИМАЛЬНОЕ_КОЛИЧЕСТВО_СОСТОЯНИЙ_ПОСЛЕДОВАТЕЛЬНОСТИ
Указывает максимальное количество состояний, которые может иметь последовательность.

Установка этого значения на число, превышающее 100, может привести к созданию алгоритма модели, которая не предоставляет значимые сведения.

Значение по умолчанию — 64.

Максимальное количество состояний
Указывает максимальное количество состояний для атрибута, отличного от последовательности, который поддерживает алгоритм. Если число состояний для атрибута, отличного от последовательности, больше максимального количества состояний, алгоритм использует наиболее популярные состояния атрибута и обрабатывает остальные состояния как Missing.

Значение по умолчанию равно 100.

Флаги моделирования

Следующие флаги моделирования поддерживаются для использования с алгоритмом кластеризации последовательностей Майкрософт.

НЕ ПУСТОЙ
Указывает, что столбец не может содержать значение NULL. Ошибка возникнет, если службы Analysis Services столкнутся с null'ом во время обучения модели.

Применяется к столбцу структуры добычи данных.

Только_наличие_модели
Означает, что столбец будет рассматриваться как наличие двух возможных состояний: Missing и Existing. Значение NULL рассматривается как Missing значение.

Применяется к столбцу модели данных.

Дополнительные сведения об использовании отсутствующих значений в моделях интеллектуального анализа данных и о том, как отсутствующие значения влияют на оценки вероятности, см. в разделе "Отсутствующие значения" (службы Analysis Services — интеллектуальный анализ данных).

Требования

В таблице дел должен быть столбец идентификатора дела. При необходимости таблица случая может содержать и другие столбцы, которые хранят атрибуты о случае.

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

Замечание

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

Входные и предсказуемые столбцы

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

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

Замечания

  • Используйте функцию PredictSequence (DMX) для прогнозирования последовательностей. Дополнительные сведения о выпусках SQL Server, поддерживающих прогнозирование последовательности, см. в статьях "Функции, поддерживаемые выпусками SQL Server 2012 (https://go.microsoft.com/fwlink/?linkid=232473).

  • Алгоритм кластеризации последовательностей Майкрософт не поддерживает использование языка разметки предсказательной модели (PMML) для создания моделей.

  • Алгоритм кластеризации последовательностей Microsoft поддерживает переход к деталям, использование моделей OLAP для интеллектуального анализа данных и использование измерений для интеллектуального анализа данных.

См. также

Алгоритм кластеризации последовательностей Майкрософт
Примеры запросов модели кластеризации последовательностей
Содержимое модели интеллектуального анализа данных для моделей кластеризации последовательностей (службы Analysis Services — интеллектуальный анализ данных)