О гауссовской модели смеси GMM

машинное обучение

Это 14-й день моего участия в августовском испытании обновлений.Подробности о событии:Испытание августовского обновления

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

Модель гауссовой смеси Модель гауссовой смеси является распространенной генеративной моделью.

Mixture Model

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

Gaussian Mixture Model

Мы знаем, что многомерное распределение Гаусса подчиняется следующей функции плотности вероятности:

p(xθ)=1(2число Пи)n2Σ12exp(12(xμ)TΣ1(xμ))p(x\mid \theta)=\dfrac{1}{(2\pi)^{\frac{n}{2}}|\Sigma|^{\frac{1}{2}}}exp(-\dfrac{1}{2}(x-\mu)^T\Sigma^{-1}(x-\mu))

Модель гауссовой смеси (GMM) является расширением одной гауссовой функции плотности вероятности, GMM может плавно аппроксимировать распределение плотности любой формы.

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

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

Предположим, что наши выборочные данныеXX, в целомx1,x2,...,xN  Nx_1,x_2,...,x_N\; Nобразцы, сαk\alpha_kозначает первыйkkВесовой коэффициент одной модели Гаусса,G(xθ)G(x|\theta)Представляет функцию плотности вероятности одного гауссиана следующим образом:

p(xθ)=k=1KαkG(xθk)p(x|\theta)=\sum_{k=1}^{K}\alpha_kG(x|\theta_k)

Очевидно, что параметры ОММ представляют собой наборθ\theta,

θ=(μk~,Σk~,αk~)\theta = (\tilde{\mu_k},\tilde{\Sigma_k},\tilde{\alpha_k})

Вы найдете здесь,kkЗначение необходимо определить заранее, что очень важно, аналогичноkmeansk-meansЭто нужно определить в первую очередьkk.

Оценка параметра

При изучении многомерного распределения Гаусса мы знаем, что максимальное правдоподобие можно использовать для оценкиθ\thetaЗначение , функция правдоподобияL(θ)=p(xθ)L(\theta)=p(x|\theta)

θ=argmaxL(θ)\theta = argmaxL(\theta)

Для GMM мы предполагаем, что каждый набор выборочных данных независим, тогда функция правдоподобияkkКумулятивное умножение каждой точки, учитывая, что вероятность одной точки очень мала, данные будут меньше после непрерывного умножения, что, вероятно, вызовет потерю памяти с плавающей запятой, поэтому мы можем использовать логарифмическую вероятность:

L(θ)=k=1Kp(xkθ)logL(θ)=j=1Nlogk=1KαkG(xθk)L(\theta)=\prod_{k=1}^{K}p(x_k|\theta) \\ logL(\theta)=\sum_{j=1}^{N}log\sum_{k=1}^{K}\alpha_kG(x|\theta_k)

Решите с помощью алгоритма EM

Сначала случайным образом инициализируйте набор параметров:

θ=(μk,Σk,αk),  k=1,2,...,K\theta=(\mu_k,\Sigma_k,\alpha_k),\;k=1,2,...,K

Шаг Д:

Так называемое E — это ожидание, то есть, когда мы знаем параметры модели, скрытые переменныеXXНайдите математическое ожидание следующим образом:

γj,k=αkG(xjμk,Σk)k=1KαkG(xjμk,Σk)\gamma_{j,k}=\dfrac{\alpha_k G(x_j|\mu_k,\Sigma_k)}{\sum_{k=1}^{K}\alpha_k G(x_j|\mu_k,\Sigma_k)}

γj,k\gamma_{j,k}то есть данныеxjx_jПоследнийkkВероятность субгауссовой модели.

М шаг:

теперь у нас естьγj,k\gamma_{j,k}можно использовать максимальное правдоподобие для оценки параметров следующей итерации:

μk=j=1N(γj,kxj)j=1Nγj,k,  k=1,2,...,KΣk=j=1Nγj,k(xjμk)(xjμk)Tj=1Nγj,k,  k=1,2,...,Kαk=j=1Nγj,kN,  k=1,2,...,K\mu_k=\dfrac{\sum_{j=1}^{N}(\gamma_{j,k}x_j)}{\sum_{j=1}^{N}\gamma_{j,k}},\; k=1,2,...,K \\ \Sigma_k=\dfrac{\sum_{j=1}^{N}\gamma_{j,k}(x_j-\mu_k)(x_j-\mu_k)^T}{\sum_{j=1}^{N}\gamma_{j,k}},\; k=1,2,...,K \\ \alpha_k = \dfrac{\sum_{j=1}^{N}\gamma_{j,k}}{N},\; k=1,2,...,K

Повторяйте шаги E и M до сходимости

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

Ссылаться на

  1. Учитель Ли Ханг - "Статистические методы обучения"