Fixed error calculation
parent
395ffad979
commit
3a8220c264
|
|
@ -125,7 +125,8 @@ AlgebraicDecisionTree<Key> GaussianMixtureFactor::error(
|
||||||
/* *******************************************************************************/
|
/* *******************************************************************************/
|
||||||
double GaussianMixtureFactor::error(const HybridValues &values) const {
|
double GaussianMixtureFactor::error(const HybridValues &values) const {
|
||||||
const FactorAndConstant factor_z = factors_(values.discrete());
|
const FactorAndConstant factor_z = factors_(values.discrete());
|
||||||
return factor_z.factor->error(values.continuous()) + factor_z.constant;
|
return factor_z.error(values.continuous());
|
||||||
}
|
}
|
||||||
|
/* *******************************************************************************/
|
||||||
|
|
||||||
} // namespace gtsam
|
} // namespace gtsam
|
||||||
|
|
|
||||||
|
|
@ -58,9 +58,11 @@ class GTSAM_EXPORT GaussianMixtureFactor : public HybridFactor {
|
||||||
sharedFactor factor;
|
sharedFactor factor;
|
||||||
double constant;
|
double constant;
|
||||||
|
|
||||||
// Return error with constant added.
|
// Return error with constant correction.
|
||||||
double error(const VectorValues &values) const {
|
double error(const VectorValues &values) const {
|
||||||
return factor->error(values) + constant;
|
// Note minus sign: constant is log of normalization constant for probabilities.
|
||||||
|
// Errors is the negative log-likelihood, hence we subtract the constant here.
|
||||||
|
return factor->error(values) - constant;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check pointer equality.
|
// Check pointer equality.
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue