def prob_jk(self, j, k):
# -1 because table of current sample topic jk, is not conditioned on
njdotk = self.count_k_by_j[j, k]
if njdotk == 1:
return np.ones(1)
possible_ms = np.arange(1, njdotk) # +1-1
log_alpha_beta_k = self.get_log_alpha_beta(k)
alpha_beta_k = np.exp(log_alpha_beta_k)
normalizer = gammaln(alpha_beta_k) - gammaln(alpha_beta_k + njdotk)
log_stir = self.stirling_mat(njdotk, possible_ms)
params = normalizer + log_stir + possible_ms*log_alpha_beta_k
return lognormalize(params)
评论列表
文章目录