def word_log_likelihood(self):
n_k = numpy.sum(self._n_kd, axis=1)
assert(len(n_k) == self._K)
log_likelihood = self._K * scipy.special.gammaln(self._V * self._eta)
for topic_index in xrange(self._K):
log_likelihood -= scipy.special.gammaln(self._V * self._eta + n_k[topic_index])
for word_index in xrange(self._V):
if self._n_kv[topic_index, word_index] > 0:
log_likelihood += scipy.special.gammaln(self._n_kv[topic_index, word_index] + self._eta) - scipy.special.gammaln(self._eta)
return log_likelihood
评论列表
文章目录