File probability_function_joint.hpp

namespace boosting
class IJointProbabilityFunction : public IDistanceMeasure
#include <probability_function_joint.hpp>

Defines an interface for all classes that allow to transform the regression scores that are predicted an example into a joint probability that corresponds to the chance of a label vector being correct.

Public Functions

inline virtual ~IJointProbabilityFunction() override
virtual float64 transformScoresIntoJointProbability(uint32 labelVectorIndex, const LabelVector &labelVector, View<float64>::const_iterator scoresBegin, View<float64>::const_iterator scoresEnd) const = 0

Transforms the regression scores that are predicted for an example into a joint probability that corresponds to the chance of a given label vector being correct.

Parameters:
  • labelVectorIndex – The index of the label vector, the scores should be compared to

  • labelVector – A reference to an object of type LabelVector, the scores should be compared to

  • scoresBegin – An iterator to the beginning of the scores

  • scoresEnd – An iterator to the end of the scores

Returns:

The joint probability that corresponds to the chance of the given label vector being correct

virtual float64 transformScoresIntoJointProbability(uint32 labelVectorIndex, const LabelVector &labelVector, SparseSetView<float64>::const_row scores, uint32 numLabels) const = 0

Transforms the regression scores that are predicted for an example into a joint probability that corresponds to the chance of a given label vector being correct.

Parameters:
  • labelVectorIndex – The index of the label vector, the scores should be compared to

  • labelVector – A reference to an object of type LabelVector, the scores should be compared to

  • scores – A SparseSetView::const_row that stores the scores

  • numLabels – The total number of available labels

Returns:

The joint probability the corresponds to the chance of the given label vector being correct

inline virtual std::unique_ptr<DenseVector<float64>> transformScoresIntoJointProbabilities(const LabelVectorSet &labelVectorSet, View<float64>::const_iterator scoresBegin, View<float64>::const_iterator scoresEnd) const

Transforms the regression scores that are predicted for an example into joint probabilities that correspond to the chance of individual label vectors contained by a LabelVectorSet being correct.

Parameters:
  • labelVectorSet – A reference to an object of type LabelVectorSet that contains the label vectors, the scores should be compared to

  • scoresBegin – An iterator to the beginning of the scores

  • scoresEnd – An iterator to the end of the scores

Returns:

An unique pointer to an object of type DenseVector that stores the joint probabilities that correspond to the chance of the given label vectors being correct

inline float64 measureDistance(uint32 labelVectorIndex, const LabelVector &labelVector, View<float64>::const_iterator scoresBegin, View<float64>::const_iterator scoresEnd) const final override

See also

IDistanceMeasure::measureDistance

class IJointProbabilityFunctionFactory : public IDistanceMeasureFactory
#include <probability_function_joint.hpp>

Defines an interface for all factories that allow to create instances of the type IJointProbabilityFunction.

Subclassed by boosting::ChainRuleFactory

Public Functions

inline virtual ~IJointProbabilityFunctionFactory() override
virtual std::unique_ptr<IJointProbabilityFunction> create(const IMarginalProbabilityCalibrationModel &marginalProbabilityCalibrationModel, const IJointProbabilityCalibrationModel &jointProbabilityCalibrationModel) const = 0

Creates and returns a new object of the type IJointProbabilityFunction.

Parameters:
  • marginalProbabilityCalibrationModel – A reference to an object of type IMarginalProbabilityCalibrationModel that should be used for the calibration of marginal probabilities

  • jointProbabilityCalibrationModel – A reference to an object of type IJointProbabilityCalibrationModel that should be used for the calibration of marginal probabilities

Returns:

An unique pointer to an object of type IJointProbabilityFunction that has been created

inline std::unique_ptr<IDistanceMeasure> createDistanceMeasure(const IMarginalProbabilityCalibrationModel &marginalProbabilityCalibrationModel, const IJointProbabilityCalibrationModel &jointProbabilityCalibrationModel) const final override

See also

IDistanceMeasureFactory::createDistanceMeasure