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

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

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

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

Но как работает автоматический анализ первопричин? Что происходит через несколько секунд после того, как пользователь щелкнул значок лампочки? Как алгоритм может выполнять недели ручной работы по сложному анализу данных за такое короткое время?

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

Не паникуйте — мы спокойно объясним, что термины означают в данном контексте и почему они так важны, шаг за шагом.

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

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

Дальше начинается самое интересное: на первом этапе алгоритм ML подразделяет весь набор данных процесса в соответствии с этой проблемой, то есть на «девиантный» или «не девиантный». Затем анализируются влияющие факторы или атрибуты, которые были отнесены к категории «отклоняющихся». Алгоритм машинного обучения выявляет существенные закономерности.

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

Вы все еще с нами? Теперь мы подошли к следующему шагу: здесь из определенных правил выбираются «лучшие», которые в конечном итоге представляются пользователю. Как именно выбираются лучшие правила? Хороший вопрос. Подход сравним с процедурой дерева решений. Это означает, что правила последовательно проверяются по характеристикам определенных свойств и классифицируются на основе решающего правила. Цель состоит в том, чтобы классифицировать правила как значимые или незначимые.

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

Да, слон в комнате — это еще та точность. Сейчас мы это меняем.

Точность правила определяет, насколько точно описывается причина. Менее точные правила, как правило, применяются во многих случаях, тогда как очень точные правила, как правило, применяются только в отдельных случаях. Это еще не очень помогло? Давайте попробуем на примере. Все довольно интуитивно: если в правиле говорится, что стоимость одного случая превышает один евро, а мы знаем, что средняя стоимость одного случая составляет около 4000 евро, то это правило очень неточное. Однако, скорее всего, это правило применимо почти ко всем случаям и поэтому имеет очень высокий охват. Обратное тоже верно. Поэтому необходимо найти оптимальный компромисс.

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

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

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

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

После того, как алгоритм ML решил проблему оптимизации, пользователь может представить важное правило.

Вот вам и тема «автоматизированный анализ первопричин». Ты уже половину забыл? Нет проблем, вот более удобная для чтения короткая версия:

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

Звучит увлекательно? Здесь вы можете прочитать больше по теме!

Первоначально опубликовано на сайте lana-labs.com 11 октября 2018 г.