我已经用 sklearn 训练了一个高斯混合模型,并且我试图在给定集群均值和方差的情况下获得数据点的非归一化责任。
GMM.predict_proba
不幸的是,返回归一化概率,使它们总和为 1,但我需要原始概率。
我尝试了以下方法(GMM 是拟合的 GM 模型):
import numpy as np
from sklearn import mixture
lpr = (mixture.log_multivariate_normal_density(X, GMM.means_, GMM.covars_, GMM.covariance_type) + np.log(GMM.weights_))
probs = np.exp(lpr)
但我得到的概率大于 1。
我究竟做错了什么?