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

Метрики, метрики, метрики…

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

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

Итак, вернемся к нашему вопросу, как мы можем учиться в мире без присмотра?

Какие есть варианты, когда проблема остается без присмотра?

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

  • Ручная маркировка аномалий
  • Построение прогнозов и сравнение с необработанными данными
  • Производство и внедрение синтетических этикеток
  • Оптимизация моделей с помощью функций прокси-стоимости

Маркировка

Итак, во-первых, мы можем просто вручную пометить набор данных и преобразовать проблему в традиционную контролируемую настройку. Плюсы этого заключается в том, что мы можем использовать объективные показатели, такие как точность и отзыв, для проверки и настройки нашей модели и, как правило, возвращаемся в красивый и безопасный мир контролируемого обучения. Здесь стоит сказать, что появляется все больше инструментов, которые помогают настроить, управлять и использовать сторонние источники этого процесса маркировки (например, Amazon Mechanical Turk). Однако с другой стороны, приобретение этих этикеток часто затруднительно и дорого. Он также связывает вашу модель для изучения статистики с типом помечаемых вами аномалий. Кроме того, правильная маркировка данных временных рядов может быть трудной даже для эксперта, и, как правило, это сводит на нет все потенциальные преимущества обучения без учителя, которые мы обсуждали в предыдущем посте.

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

Сюжет

Следующий вариант - просто визуализировать данные на графиках. Для этого мы просто наносим результаты нашей модели поверх необработанных данных и смотрим, соответствуют ли они так, как мы надеялись (например, большой балл аномалии, когда необработанные данные чрезмерно резко увеличиваются). Это имеет то преимущество, что это простой способ узнать, делает ли модель то, что, по вашему мнению, она должна, или она в некоторых местах достигает дна. Это может помочь нам понять данные и поведение модели во время разработки. Однако простой просмотр графиков, конечно, не масштабируется и не предлагает объективных показателей, с помощью которых можно было бы настроить (гипер-) параметры нашей модели некоторым автоматическим способом. Итак, еще раз, хотя на Streem.ai мы постоянно смотрим на такие графики, чтобы помочь понять проблему, это может быть только одним подтверждающим свидетельством для принятия решения о том, работает ли модель. хорошо в неконтролируемой обстановке.

Синтетические инъекции

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

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

Функции стоимости прокси

Наконец, можно получить функции стоимости прокси, которые мы более подробно рассмотрим в следующих публикациях, но основная идея заключается в том, что определенные функции или показатели могут быть получены из данных, которые коррелируют с фактической целью, которую вы преследуете. пытаюсь оптимизировать для. Затем вы можете использовать эти прокси для обучения вашей модели полностью масштабируемым способом, который привязан к базовой структуре данных и, таким образом, действительно «учится» на самих данных. Проблема здесь в том, что эти прокси-метрики часто исходят из множества предположений о том, как должны выглядеть сами данные, которые не всегда соответствуют действительности. Более того, поскольку сейчас мы оптимизируем не для нашей конечной цели, а для чего-то, что, как мы надеемся, похоже на нее, это может привести к действительно неправильным результатам оптимизации, если мы не будем осторожны! Например, ложно вознаграждающие алгоритмы, которые не обнаруживают аномалий в наборе данных.

Урок 2: Есть много плохих способов получить обратную связь в неконтролируемом мире ... Так что используйте их все! Любые метрики, необходимые для проверки ваших моделей, должны быть тщательно собраны и проанализированы

В Streem.ai мы используем гибридную комбинацию методов, чтобы укрепить нашу уверенность в валидации модели. Мы рассмотрим, как это сделать на практике, в одной из следующих публикаций. Готовьтесь к уроку на следующей неделе Темные искусства неконтролируемого машинного обучения. Увидимся там!