Пример #1
0
def test_em_loglike6():
    """
    """
    dim = 1
    k = 1
    n = 100
    offset = 3.
    x = nr.randn(n,dim)
    y = offset+nr.randn(n,dim)
    lgmm = GMM(k,dim)
    lgmm.initialize(x)
    lgmm.estimate(x)
    ll1 =  lgmm.average_log_like(x)
    ll2 = lgmm.average_log_like(y)
    ent = 0.5*(1+np.log(2*np.pi))
    dkl = 0.5*offset**2
    print ll2, ll1,dkl
    assert ll2<ll1
Пример #2
0
def test_em_loglike1():
    dim = 1
    k = 3
    n = 1000
    x = nr.randn(n, dim)
    lgmm = GMM(k, dim)
    lgmm.initialize(x)
    lgmm.estimate(x)
    ll = lgmm.average_log_like(x)
    ent = 0.5 * (1 + np.log(2 * np.pi))
    print ll, ent
    assert_true(np.absolute(ll + ent) < 3.0 / np.sqrt(n))
Пример #3
0
def test_em_loglike4():
    dim = 5
    k = 1
    n = 1000
    scale = 3.0
    offset = 4.0
    x = offset + scale * nr.randn(n, dim)
    lgmm = GMM(k, dim)
    lgmm.initialize(x)
    lgmm.estimate(x)
    ll = lgmm.average_log_like(x)
    ent = dim * 0.5 * (1 + np.log(2 * np.pi * scale ** 2))
    print ll, ent
    assert_true(np.absolute(ll + ent) < dim * 3.0 / np.sqrt(n))
Пример #4
0
def test_em_loglike2():
    """
    """
    dim = 1
    k = 1
    n = 1000
    scale = 3.
    offset = 4.
    x = offset + scale * nr.randn(n,dim)
    lgmm = GMM(k,dim)
    lgmm.initialize(x)
    lgmm.estimate(x)
    ll = lgmm.average_log_like(x)
    ent = 0.5*(1+np.log(2*np.pi*scale**2))
    print ll, ent
    assert np.absolute(ll+ent)<3./np.sqrt(n)