Provide reasonable initializations for model and variational parameters.
(self)
| 187 | return a + b + c - _d |
| 188 | |
| 189 | def initialize_parameters(self): |
| 190 | """ |
| 191 | Provide reasonable initializations for model and variational parameters. |
| 192 | """ |
| 193 | T = self.T |
| 194 | V = self.V |
| 195 | N = self.N |
| 196 | D = self.D |
| 197 | |
| 198 | # initialize model parameters |
| 199 | self.alpha = 100 * np.random.dirichlet(10 * np.ones(T), 1)[0] |
| 200 | self.beta = np.random.dirichlet(np.ones(V), T).T |
| 201 | |
| 202 | # initialize variational parameters |
| 203 | self.phi = np.array([1 / T * np.ones([N[d], T]) for d in range(D)]) |
| 204 | self.gamma = np.tile(self.alpha, (D, 1)) + np.tile(N / T, (T, 1)).T |
| 205 | |
| 206 | def train(self, corpus, verbose=False, max_iter=1000, tol=5): |
| 207 | """ |