@Override public double calculateLoss(DoubleVector y, DoubleVector hypothesis) { return y.multiply(MathUtils.logVector(hypothesis)).sum(); }
@Override public double calculateLoss(DoubleVector y, DoubleVector hypothesis) { DoubleVector negativeOutcome = y.subtractFrom(1.0d); DoubleVector inverseOutcome = y.multiply(-1d); DoubleVector negativeHypo = hypothesis.subtractFrom(1d); 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(); }
MathUtils.logVector(predictedVector)).sum(); int prediction = 0; if (threshold == null) {
DoubleVector outcomeVector = testOutcome[i]; result.logLoss += outcomeVector .multiply(MathUtils.logVector(predicted)).sum(); int outcomeClass = outcomeVector.maxIndex(); int prediction = classifier.extractPredictedClass(predicted);