Модель гауссовой смеси - Сингулярная матрица

1

Во время вычисления модели гауссовой смеси я должен вычислить pdf() многомерного гауссовского распределения. Я делаю это, используя метод scipy multivariate_normal(). Теперь во время вычислений я сталкиваюсь с ситуацией, когда я получаю сообщение об ошибке

LinAlgError: сингулярная матрица

Установка параметра allow_singular scipy multivariate_normal()= True обходит эту ошибку, и я получаю довольно значимый результат: Изображение 174551

Итак, как scipy "разрешает" сингулярность и каковы последствия для вычислений? → Если никаких последствий, строго говоря, этот параметр может быть установлен по умолчанию TRUE (но это не так).

  • 0
    «Во время расчета гауссовой модели смеси ...» Показать код. Без этого все, что может сделать каждый, - это спекулировать. Кому-то будет легче помочь вам, если вы создадите минимальный, полный и проверяемый пример .
  • 0
    @ Уоррен Векессер, спасибо за ваш ответ. На самом деле вопрос не в том, «как его кодировать», а в том, «что делает Сципи на заднем плане и каковы могут быть последствия для моего результата».
Показать ещё 1 комментарий
Теги:
scipy
linear-algebra
gmm
expectation-maximization

1 ответ

1

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

EDIT: я опубликовал подробный ответ о том, что происходит, когда мы сталкиваемся с проблемами сингулярности при расчетах GMM здесь

Ещё вопросы

Сообщество Overcoder
Наверх
Меню