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

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

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

Несколько слов о моделях смесей

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

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

Допущения и ограничения

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

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

Математические основы и алгоритм

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

Предположим, что мы работаем с набором данных из N наблюдений X = {x₁, x₂, …, xₙ}, где каждый xi является D-мерным вектором. Предположим, что каждое наблюдение генерируется одной из K субпопуляций с определенной вероятностью или весом, присвоенным каждой субпопуляции. Веса подгрупп обозначаются как w₁, w₂, …, wₖ и удовлетворяют ограничению, состоящему в том, что их сумма равна 1. Целью смешанного моделирования является представление данных в виде взвешенной суммы K распределений вероятностей. Распределения K предполагаются независимыми и одинаково распределенными.

Для каждой группы или кластера мы предполагаем, что данные генерируются функцией распределения вероятностей (PDF), которая обозначается как f₁(x), f₂(x),…, fₖ(x). Кроме того, мы предполагаем, что PDF параметризованы набором неизвестных параметров, которые обозначаются как θ₁, θ₂, …, θₖ. Тогда функция плотности смеси определяется следующим образом:

Где fₖ(x | θₖ) — функция плотности вероятности распределения k-го компонента с учетом параметров θₖ, а πₖ — коэффициент смешивания, определяющий вес k-й компонент в смеси. Помните, что коэффициенты смешивания должны удовлетворять ограничению, состоящему в том, что сумма весов будет равна единице.

Целью смешанной модели является оценка значений неизвестных параметров θ₁, θ₂, …, θₖ и весов π₁, π₂, …, πₖ, которые лучше всего описывают наблюдаемые данные. Это делается путем максимизации функции правдоподобия данных. Чтобы решить эту проблему, обычно используется алгоритм максимизации ожидания (EM), который колеблется между вычислением ожидаемых значений параметров распределения компонентов (известный как E-шаг) и обновлением коэффициентов смешивания или оценок параметров (известный как М-шаг).

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

Алгоритм максимизации ожидания

Прежде чем перейти к части кода, нам нужно лучше понять алгоритм EM. Как упоминалось ранее, этот алгоритм чередует два шага: шаг ожидания (E) и шаг максимизации (M).

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

Теперь рассмотрим следующие шаги, чтобы получить общее представление о том, что делает алгоритм EM:

  1. Задайте параметры Mixture Model случайным образом (вы также можете использовать некоторую эвристику)
  2. Повторяйте следующее, пока сходимость не достигнет максимально допустимого числа итераций:
    a. Вычислите ответственность каждой подгруппы k для каждой точки следующим образом: вес субпопуляции k, p(xₙ|θₖ) — плотность вероятности точки n для данной субпопуляции k с использованием параметров θₖ. Обратите внимание, что знаменатель представляет собой нормализующий коэффициент
    b. Обновите параметры, чтобы максимизировать ожидаемое логарифмическое правдоподобие данных следующим образом:
    ›› wₖ = (1/N) * ∑ᵢ rᵢₖ
    Это вычисляет вес (доля точек данных) k-я субпопуляция. Кроме того, помните, что rᵢₖ известен как ответственность (насколько вероятно, что n-я точка данных принадлежит k-й подгруппе).
    › › θₖ = argmaxₜₕₑₜₐ ∑ᵢ rᵢₖ * log(p(xᵢ|θ))
    Это вычисляет параметры распределения для k-й субпопуляции с параметрами θ (среднее значение и дисперсия). Здесь мы ищем параметры, которые максимизируют сумму логарифмов вероятностей точек данных, взвешенных по обязанностям k-й подгруппы.
  3. Вернуть предполагаемые параметры моделей смеси

На этапе E (шаг 2.a в шагах, указанных ранее) оценивается ответственность каждой подгруппы за каждую точку данных с учетом текущих оценок параметров подгруппы. Другими словами, мы рассчитываем вероятность того, что каждая точка данных принадлежит каждой подгруппе, на основе текущих оценок параметров (среднего значения и дисперсии) для каждой подгруппы. Важно отметить, что это также называется апостериорной вероятностью. Он представляет собой степень уверенности в том, что данная точка принадлежит субпопуляции. Эти значения оцениваются с использованием правила Байеса и текущих оценок для подгруппы, над которой мы сейчас работаем.

Затем, работая над M-шагом (шаг 2.b в шагах, указанных ранее), мы используем обязанности, рассчитанные на E-шаге, для обновления параметров каждой подгруппы. Другими словами, мы рассчитываем новые оценки среднего значения, дисперсии и веса каждой возможной подгруппы. Новые оценки вычисляются путем максимизации логарифмического правдоподобия данных по текущей группе параметров.

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

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

Выбор К

Есть несколько способов рассчитать количество подгруппы для работы (K). Одним из распространенных методов является использование вероятности наблюдаемых данных в рамках модели для различных значений K и выбор того, который максимизирует значение. Итак, нам нужно подобрать модель Mixture с различными значениями K, а затем вычислить вероятность. Помните, что вероятность определяется формулой L(K) = log(P(X | K)). Где X — наблюдаемые данные, а K — количество групп.

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

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

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

Реализация смешанных моделей

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

Вы также можете найти код этой модели и некоторых других алгоритмов машинного обучения в моем репозитории GitHub.

Приложения

Смешанные модели имеют множество применений. Мы можем перечислить некоторые из них следующим образом:

  1. Кластеризация. Смешанные модели можно использовать для кластеризации точек в подгруппы (кластеры) на основе их базового распределения. Это особенно полезно, когда нет априорной информации о количестве или форме кластеров.
  2. Обнаружение аномалий. Их можно использовать для обнаружения аномалий в сложных системах путем выявления точек, выходящих за пределы распределения подгрупп.
  3. Обработка естественного языка. Они используются для моделирования распределения слов в документах или предложениях. Это облегчает такие задачи, как классификация документов, моделирование тем и создание языка.

Заключение

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

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

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

Рекомендации

Роджерс, Саймон и Марк Джиролами. Первый курс машинного обучения. Чепмен и Холл/CRC, 2012. Amazon, https://www.amazon.com/Machine-Learning-Chapman-Pattern-Recognition-ebook/dp/B00I60M8RE/

Спасибо, что прочитали!

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

Если вам понравился этот пост и вы хотите быть в курсе моих последних публикаций, не забудьте подписаться на меня и на Acuity Learning. Вот некоторые из моих соцсетей: