DoubleVector negativeLogHypo = MathUtils.logVector(negativeHypo);
DoubleVector positiveLogHypo = MathUtils.logVector(hypothesis);
DoubleVector negativePenalty = negativeOutcome.multiply(negativeLogHypo);
DoubleVector positivePenalty = inverseOutcome.multiply(positiveLogHypo);
return (positivePenalty.subtract(negativePenalty)).sum();
}
}