В рамках этой серии я поделюсь с вами результатами исследований и разработок, которые мы проводили с командами SOUTHWORKS в течение некоторых периодов времени в течение 2020–2021 годов.

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

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

За этот конкретный пост я хочу выразить особую благодарность людям, которые помогли мне завершить его: Пабло Костантини, Дереку Фернандесу и Орасио Монсальво — спасибо вам, ребята!

В этом репозитории вы можете найти интересные спайки и прочее, посмотрите!

Итак... Неконтролируемое обучение, что это такое?

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

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

Если вы помните то, что я всплыл в своем предыдущем посте, обучение подразумевает, что параметры модели каким-то образом оцениваются. Как правило, задача сводится к минимизации функции стоимости (или максимизации какой-либо другой метрики), которая напрямую зависит от параметров.

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

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

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

Таким образом, алгоритмы в основном управляются следующими шагами:

  1. Инициализируйте параметры либо случайным образом, либо с использованием некоторых критериев.
  2. Пересчитать параметры по предложенному методу.
  3. Вычислить метрику, как правило, некоторое значение, связанное с вероятностью.
  4. Если метрика увеличила свое значение по сравнению с прошлой итерацией, остановитесь. Если нет, перейдите к пункту 2.

Домены приложений

Как объяснялось ранее, неконтролируемое обучение очень эффективно при наличии действительно огромного немаркированного набора данных, которые необходимо эффективно обрабатывать.

Варианты использования обучения без учителя можно разделить на две категории: исследовательский анализ и снижение размерности.

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

Уменьшение размерности, которое относится к методам, используемым для представления данных с использованием меньшего набора функций, может быть достигнуто с помощью неконтролируемых методов, таких как внедрение автокодировщиков, которые относятся к типу искусственных нейронных сетей (ИНС). Целью автокодировщика является изучение представления или кодирования набора данных путем обучения сети игнорировать «шум» сигнала. Наряду со стороной сокращения изучается сторона реконструкции, где автокодер пытается сгенерировать из сокращенного кодирования представление, максимально близкое к исходному входу.

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

Просто упомянем несколько реальных приложений:

  • Здравоохранение: подгруппа больных раком, сгруппированных по показателям экспрессии их генов.
  • Электронная коммерция. Группы покупателей на основе их истории просмотров и покупок.
  • Рейтинги. Фильмы группируются по оценкам зрителей.
  • Сегментация изображений/видео. Анализ кластеров изображений или видео для разделения их на группы на основе сходства.

Случаи применения

Кластеризация

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

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

Просто упомянем несколько реальных приложений:

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

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

  • K-Means — это итеративный алгоритм, который пытается разбить набор данных на K предопределенных, отдельных, непересекающихся подгрупп или кластеров, которым принадлежит каждая точка данных. только в одну группу. Алгоритм пытается сделать точки данных внутри кластера как можно более похожими, в то же время сохраняя кластеры как можно более разными (далекими). Он назначает точки данных кластеру так, что сумма квадрата расстояния между точками данных и центром тяжести кластера (среднее арифметическое всех точек данных, принадлежащих этому кластеру ) свернуто. Чем меньше вариаций у нас внутри кластеров, тем более однородны точки данных в одном и том же кластере.

  • Mean Shift – это алгоритм на основе скользящего окна, который пытается найти плотные области точек данных. Это алгоритм на основе центроида, что означает, что цель состоит в том, чтобы найти центральные точки каждой группы/класса, который работает путем обновления кандидатов на центральные точки, чтобы они были средним значением точек в скользящем окне. Эти окна-кандидаты затем фильтруются на этапе постобработки, чтобы исключить почти дубликаты, формируя окончательный набор центральных точек и соответствующих им групп. В отличие от K-средних, нет необходимости выбирать количество кластеров, так как среднее смещение определяет это автоматически.

Обнаружение аномалий

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

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

Он имеет несколько реальных приложений, таких как:

  • Банковское дело. Каждый владелец счета обычно использует определенные способы внесения денег на свой счет. Если в этом шаблоне есть выброс, банк должен быть в состоянии обнаружить и проанализировать его, например. для отмывания денег.
  • Финансы. Выявление схемы мошеннических покупок.
  • Здравоохранение: обнаружение мошеннических страховых требований и выплат.
  • Производство. Машину необходимо постоянно отслеживать на предмет аномального поведения с точки зрения профилактического обслуживания.
  • Сеть: обнаружение вторжений в сети.

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

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

  • Искусственные нейронные сети с автокодировщиками. Цель использования автокодировщиков – изучить представление (кодирование) набора данных, как правило, для уменьшения размерности. Наряду со стороной сокращения изучается сторона восстановления, где автокодер пытается сгенерировать из сокращенного кодирования представление, максимально близкое к исходному входу.

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

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

Подведение итогов

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

Как вы узнали из статьи, основная цель неконтролируемого обучения — помочь вам понять и лучше использовать ваши данные для дальнейшего анализа и обработки в рамках более крупного конвейера бизнес-аналитики. Техника, которую можно назвать полу-контролируемое обучение, тесно связана с парадигмой неконтролируемого обучения, так как исследование направлено на предварительное обучение модели (называемой дискриминатором или кодировщиком). ), используя базовую структуру или распределение внутри данных.

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