예제 #1
0
    def test_log_posterior(self):
        """Check _log_posterior returns the correct value and jacobian."""
        clf = RVC()

        x = np.array([[1, 2], [3, 4]])
        y = np.array([[5, 6], [7, 8]])

        phi = clf._apply_kernel(x, y)

        alpha = np.ones(3)
        m = np.ones(3)
        t = np.array([1, 0])

        log_p, jacobian = clf._log_posterior(m, alpha, phi, t)

        j_target = np.array([1.013, 1, 1.466])

        self.assertAlmostEqual(log_p, 3.140, places=3)
        np.testing.assert_allclose(jacobian, j_target, rtol=1e-3)