MCPcopy Index your code
hub / github.com/ddbourgin/numpy-ml / _maximize_beta

Method _maximize_beta

numpy_ml/lda/lda.py:74–97  ·  view source on GitHub ↗

Optimize model parameter beta β_{t, n} ∝ \sum_{d=1}^D \sum_{i=1}^{N_d} ϕ_{d, t, n} [ i = n]

(self)

Source from the content-addressed store, hash-verified

72 return gamma
73
74 def _maximize_beta(self):
75 """
76 Optimize model parameter beta
77 β_{t, n} ∝ \sum_{d=1}^D \sum_{i=1}^{N_d} ϕ_{d, t, n} [ i = n]
78 """
79 T = self.T
80 V = self.V
81
82 phi = self.phi
83 beta = self.beta
84 corpus = self.corpus
85
86 for n in range(V):
87 # Construct binary mask [i == n] to be the same shape as phi
88 mask = [np.tile((doc == n), (T, 1)).T for doc in corpus]
89 beta[n, :] = np.sum(
90 np.array(list(map(lambda x: np.sum(x, axis=0), phi * mask))), axis=0
91 )
92
93 # Normalize over words
94 for t in range(T):
95 beta[:, t] = beta[:, t] / np.sum(beta[:, t])
96
97 return beta
98
99 def _maximize_alpha(self, max_iters=1000, tol=0.1):
100 """

Callers 1

_M_stepMethod · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected