示例#1
0
文件: test.py 项目: sevengram/ml-hw
 def test_multiple_phi(self):
     vb = VariationalBayes()
     gamma = array([2.0, 2.0, 2.0])
     beta = self.init_beta
     phi = vb.new_phi(gamma, beta, 0, 2)
     prop = 0.27711205238850234
     normalizer = sum(x * prop for x in beta[:, 0]) / 2.0
     self.assertAlmostEqual(phi[0], beta[0][0] * prop / normalizer)
     self.assertAlmostEqual(phi[1], beta[1][0] * prop / normalizer)
     self.assertAlmostEqual(phi[2], beta[2][0] * prop / normalizer)
示例#2
0
文件: test.py 项目: sevengram/ml-hw
 def test_multiple_phi(self):
     vb = VariationalBayes()
     gamma = array([2.0, 2.0, 2.0])
     beta = self.init_beta
     phi = vb.new_phi(gamma, beta, 0, 2)
     prop = 0.27711205238850234
     normalizer = sum(x * prop for x in beta[:, 0]) / 2.0
     self.assertAlmostEqual(phi[0], beta[0][0] * prop / normalizer)
     self.assertAlmostEqual(phi[1], beta[1][0] * prop / normalizer)
     self.assertAlmostEqual(phi[2], beta[2][0] * prop / normalizer)
示例#3
0
文件: test.py 项目: sevengram/ml-hw
    def test_m(self):
        vb = VariationalBayes()
        vb.init([], "stuck", 3)

        topic_count = array([[5., 4., 3., 2., 1.], [0., 2., 2., 4., 1.],
                             [1., 1., 1., 1., 1.]])

        new_beta = vb.m_step(topic_count)
        self.assertAlmostEqual(new_beta[2][3], .2)
        self.assertAlmostEqual(new_beta[0][0], .33333333)
        self.assertAlmostEqual(new_beta[1][4], .11111111)
        self.assertAlmostEqual(new_beta[0][3], .13333333)
示例#4
0
    def test_m(self):
        vb = VariationalBayes()
        vb.init([], "stuck", 3)

        topic_count = array([[5., 4., 3., 2., 1.],
                             [0., 2., 2., 4., 1.],
                             [1., 1., 1., 1., 1.]])

        new_beta = vb.m_step(topic_count)
        self.assertAlmostEqual(new_beta[2][3], .2)
        self.assertAlmostEqual(new_beta[0][0], .33333333)
        self.assertAlmostEqual(new_beta[1][4], .11111111)
        self.assertAlmostEqual(new_beta[0][3], .13333333)