def test_log_marg_k():
# Data
X = np.array([
[-0.3406, -0.3593, -0.0686],
[-0.3381, 0.2993, 0.925],
[-0.5, -0.101, 0.75]
])
N, D = X.shape
# Setup densities
m_0 = np.zeros(D)
k_0 = 0.05
v_0 = D + 3
S_0 = 0.5*np.eye(D)
prior = NIW(m_0, k_0, v_0, S_0)
gmm = GaussianComponents(X, prior, [0, 0, 0])
log_marg_expected = -8.42365141729
# Calculate log marginal of data
log_marg = gmm.log_marg_k(0)
npt.assert_almost_equal(log_marg, log_marg_expected)
评论列表
文章目录