Ejemplo n.º 1
0
/** @brief	Negative log marginalLikelihood test */  
TEST_F(TestCaseInfExact, NlZTest)
{
	// Expected value
	const TestType factor11 = 1.172651245740942f;
	const TestType factor21 = 10.575660633423778f;
	const TestType factor31 = -11.512925464970227f;
	const TestType factor41 = 4.594692666023363f;

	const TestType nlZ1		= 4.830079080217857f;

	// Actual value
	const TestType factor12 = static_cast<TestType>(0.5f) * (*pY_M).dot(*pAlpha1);
	const TestType factor22 = pL1->matrixL().nestedExpression().diagonal().array().log().sum();
	const TestType factor321 = static_cast<TestType>(N) * log(sigma_n);
	const TestType factor322 = - pInvSqrtD->array().log().sum();
	const TestType factor42 = static_cast<TestType>(N) * 0.918938533204673f;

	TestType nlZ21, nlZ22;
	negativeLogMarginalLikelihood (logHyp, trainingData, nlZ21, VectorPtr(), 1);
	negativeLogMarginalLikelihood2(logHyp, trainingData, nlZ22, VectorPtr(), 1);

	// Test
	TEST_MACRO::COMPARE(factor11,  factor12,  __FILE__, __LINE__, EPS_SOLVER); // maxAbsDiff = 1.382e-5
	TEST_MACRO::COMPARE(factor21,  factor22,  __FILE__, __LINE__);
	TEST_MACRO::COMPARE(factor321, factor322, __FILE__, __LINE__);
	TEST_MACRO::COMPARE(factor31,  factor321, __FILE__, __LINE__);
	TEST_MACRO::COMPARE(factor31,  factor322, __FILE__, __LINE__);
	TEST_MACRO::COMPARE(factor41,  factor42,  __FILE__, __LINE__);
	TEST_MACRO::COMPARE(nlZ21, nlZ22, __FILE__, __LINE__);
	TEST_MACRO::COMPARE(nlZ1,  nlZ21, __FILE__, __LINE__); // 4.8300757
	TEST_MACRO::COMPARE(nlZ1,  nlZ22, __FILE__, __LINE__); // 4.8300714
}
Ejemplo n.º 2
0
VectorPtr RTPolySet::normal(const Vector &point) {
  (void) point;
  return VectorPtr(NULL);
}