LinAlgError Сингулярная матрица для scipy.stats.multivariate_normal - PullRequest
0 голосов
/ 26 сентября 2019

Я пытаюсь реализовать код для GMM вручную, следуя инструкциям по этой ссылке

для другого набора данных с текстовыми сообщениями.

Я получаю LinAlgError, потому чтосингулярной матрицы при вычислении функции плотности вероятности.Не могу узнать, где я иду не так.

mu = initial_means
pi=initial_pi
sigma=initial_cov
N = X.shape[0] 
gamma = np.zeros((N,C))
const_c = np.zeros(C)

for c in range(C):
            # Posterior Distribution using Bayes Rule

    zz= mvn.pdf(X,mu[c,:],sigma[c,:])
    print(zz)
    gamma[:,c] = pi[c] * zz
        # normalize across columns to make a valid probability
    gamma_norm = np.sum(gamma, axis=1)[:,np.newaxis]
    gamma /= gamma_norm 
...