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