def test_update_alpha(): ips = init_ips(M, K, alpha, docs) new_alpha = update_alpha(M, ips, alpha) # gradient should be close to zeros after convergence assert_array_almost_equal(gradient_g(M, new_alpha, ips), np.zeros(new_alpha.shape))
def test_gradiant_g(): ips = init_ips(M, K, alpha, docs) g = gradient_g(M, alpha, ips) for i in xrange(K): expected = (M * (psi(alpha.sum()) - psi(alpha[i])) + np.sum([(psi(ips[d, i]) - psi(ips[d, :].sum())) for d in xrange(M)])) actual = g[i] assert_array_almost_equal(expected, actual)