Модель гауссовой смеси gmm python

2.1.Модели гауссовской смеси

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

Модель двухкомпонентной гауссовой смеси: точки данных и равновероятные поверхности модели.

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

Scikit-learn реализует различные классы для оценки моделей смеси Гаусса,которые соответствуют различным стратегиям оценки,подробно описанным ниже.

2.1.1.гауссовская смесь

Объект GaussianMixture реализует алгоритм максимизации ожидания (EM) для подбора смеси гауссовых моделей. Он также может рисовать эллипсоиды уверенности для многомерных моделей и вычислять байесовский информационный критерий для оценки количества кластеров в данных. Предоставляется метод GaussianMixture.fit , который изучает модель гауссовой смеси на основе данных поезда. Учитывая тестовые данные, он может присвоить каждому образцу значение Гаусса, которому он, скорее всего, принадлежит, используя метод GaussianMixture.predict .

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

  • См. В разделе Ковариации GMM пример использования гауссовой смеси для кластеризации набора данных радужной оболочки.
  • См. В разделе Оценка плотности гауссовой смеси пример построения графика оценки плотности.

2.1.1.1. Плюсы и минусы класса GaussianMixture

2.1.1.1.1. Pros

Это самый быстрый алгоритм для изучения моделей смеси.

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

2.1.1.1.2. Cons

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

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

Читайте также:  Python практикум 10 задание

2.1.1.2.Выбор количества компонентов в классической гауссовской модели смеси

Критерий BIC может использоваться для эффективного выбора количества компонентов в гауссовой смеси. Теоретически он восстанавливает истинное количество компонентов только в асимптотическом режиме (т. Е. Если доступно много данных и предполагается, что данные были фактически сгенерированы iid из смеси гауссовых распределений). Обратите внимание, что использование вариационной байесовской гауссовой смеси позволяет избежать указания количества компонентов для модели гауссовой смеси.

2.1.1.3.Алгоритм оценки Ожидание-максимизация

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

2.1.2.Вариационная байесово-гаусская смесь

Объект BayesianGaussianMixture реализует вариант модели гауссовой смеси с алгоритмами вариационного вывода. API аналогичен API, определенному GaussianMixture .

2.1.2.1.Алгоритм оценки:вариационный вывод

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

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

Реализация параметров класса BayesianGaussianMixture предлагает два типа априорных значений для распределения весов: модель конечной смеси с распределением Дирихле и модель бесконечной смеси с процессом Дирихле. На практике алгоритм вывода процесса Дирихле является приближенным и использует усеченное распределение с фиксированным максимальным числом компонентов (так называемое представление с прерыванием прилипания). Количество фактически используемых компонентов почти всегда зависит от данных.

Читайте также:  Питон график без соединения точек

На следующем рисунке сравниваются результаты, полученные для другого типа априорной концентрации веса (параметр weight_concentration_prior_type ) для разных значений weight_concentration_prior . Здесь мы видим, что значение параметра weight_concentration_prior оказывает сильное влияние на эффективное количество полученных активных компонентов. Мы также можем заметить, что большие значения априорного веса концентрации приводят к более однородным весам, когда тип априорного распределения — «dirichlet_distribution», в то время как это не обязательно имеет место для типа «dirichlet_process» (используется по умолчанию).

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

  • См. В разделе Эллипсоиды модели гауссовой смеси пример построения доверительных эллипсоидов для GaussianMixture и BayesianGaussianMixture .
  • Синусоидальная кривая модели гауссовой смеси показывает использование GaussianMixture и BayesianGaussianMixture для подгонки синусоидальной волны.
  • См концентрации перед Тип Анализ вариации байесовской гауссовой смеси для примера построения доверительных эллипсоидов для BayesianGaussianMixture с различными weight_concentration_prior_type для различных значений параметра weight_concentration_prior .

2.1.2.2. Плюсы и минусы вариационного вывода с использованием BayesianGaussianMixture гауссовской смеси

2.1.2.2.1. Pros

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

Меньшая чувствительность к количеству параметров

в отличие от конечных моделей, которые почти всегда будут максимально использовать все компоненты и, следовательно, будут давать совершенно разные решения для разного количества компонентов, вариационный вывод с предварительным процессом Дирихле ( weight_concentration_prior_type=’ weight_concentration_prior_type=’dirichlet_process’ ) не сильно изменится. с изменениями параметров, что приводит к большей стабильности и меньшему количеству настроек.

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

2.1.2.2.2. Cons

Дополнительная параметризация,необходимая для вариационного вывода,делает вывод медленнее,хотя и не намного.

Читайте также:  Самый лучший Блог

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

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

2.1.2.3.Дирихлетский процесс

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

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

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

scikit-learn 1.1

Хотя технически это не вариант LLE, локальное выравнивание касательного пространства (LTSA) алгоритмически достаточно похоже, чтобы его можно было отнести к этой категории.

Подмодуль sklearn.metrics.pairwise реализует утилиты для оценки расстояний или сходства выборок наборов.

Существует 3 различных API для оценки качества прогнозов модели: Наконец, фиктивные оценки полезны для получения базового значения этих показателей для

Модуль sklearn.metrics реализует несколько функций потерь, оценки и полезности для измерения производительности классификации.

Источник

Оцените статью