Эффективная оценка гауссовой смеси
Я хотел бы (эффективно) оценить модель смеси Гаусса (GMM) в течение (n,d)
список точек данных с заданными параметрами GMM ($\pi_k, \mu_k, \Sigma_k$). Я не могу найти способ сделать это, используя стандартные sklearn
или же scipy
пакеты.
РЕДАКТИРОВАТЬ: предположим, что есть n
точки данных, размерность d
так (n,d)
и GMM имеет k
компоненты, например, ковариационная матрица k-го компонента \ Sigma_k (d,d)
и вообще \ Сигма это (k,d,d)
,
Например, если вы впервые установили GMM в sklearn, вы можете позвонить score_samples
, но это работает, только если я подхожу к данным. Или в scipy
Вы можете запустить цикл за multivariate_normal.pdf
с каждым набором параметров, и делайте взвешенное произведение суммы / точки, но это медленно. Проверка исходного кода либо не была освещающей (для меня).
В настоящее время я что-то хакую вместе с массивами nd и тензорными точечными продуктами... ой... надеюсь, у кого-то есть лучший способ?