Я пытаюсь реализовать код для 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