我正在尝试按照此link
上的指南为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