Как убедиться, что все ковариационные матрицы положительно определены в Pomigranate MultivariateGaussianDistribution

Как и в модели ScikitLearn GaussianMixture, reg_covar=1e-06 добавляет неотрицательную регуляризацию к диагонали ковариации, что обеспечивает положительно определенную матрицу ковариации.

sklearn.mixture.GaussianMixture(n_components=1, *, covariance_type='full', tol=0.001, reg_covar=1e-06, max_iter=100, n_init=1, init_params='kmeans', weights_init=None, means_init=None, precisions_init=None, random_state=None, warm_start=False, verbose=0, verbose_interval=10)[source]

Как установить такое ограничение, чтобы получить положительно определенные ковариационные матрицы в многомерном распределении граната по Гауссу.


from sklearn import datasets
iris = datasets.load_iris()
import pomegranate
pomegranate.gmm.GeneralMixtureModel.from_samples(pomegranate.MultivariateGaussianDistribution, n_components=3, X=iris.data)

Спасибо за ваше драгоценное время.


person iforcebd    schedule 17.04.2021    source источник
comment
У тебя есть идеи @StupidWolf   -  person iforcebd    schedule 17.04.2021
comment
Можете ли вы изменить свой пример, чтобы он действительно запускался из пустого файла Python?   -  person D Adams    schedule 18.04.2021
comment
NameError: имя «Ирис» не определено   -  person D Adams    schedule 18.04.2021
comment
хорошо, я добавил код импорта набора данных, но мой вопрос в том, как мы можем убедиться, что ковариационные матрицы являются положительно определенными, например. reg_covar=1e-06 в смешанной модели Гаусса scikit-learn? потому что, когда я применяю его в своем проекте до 30 тем, он работает нормально, но для 60 тем он выдает сообщение об ошибке: ковариационные матрицы не являются положительно определенными (асимметричными). @ Д Адамс   -  person iforcebd    schedule 19.04.2021
comment
Я думаю, что для того, чтобы кто-то решил вашу проблему, вам нужно будет полностью написать пример, который вызывает проблему.   -  person D Adams    schedule 19.04.2021