Class DyadRankingFeatureTransformNegativeLogLikelihood
- java.lang.Object
-
- ai.libs.jaicore.ml.dyadranking.optimizing.DyadRankingFeatureTransformNegativeLogLikelihood
-
- All Implemented Interfaces:
IGradientDescendableFunction,IDyadRankingFeatureTransformPLGradientDescendableFunction
public class DyadRankingFeatureTransformNegativeLogLikelihood extends java.lang.Object implements IDyadRankingFeatureTransformPLGradientDescendableFunction
Implements the negative log-likelihood function for the feature transformation Placket-Luce dyad ranker. In particular, this implmentation is the NLL of [1] (we adhere their notation here). This NLL is a convex function, which we can optimize using anIOptimizationAlgorithm, together with theDyadRankingFeatureTransformNegativeLogLikelihoodDerivative. [1] Schäfer, D. & Hüllermeier, Dyad ranking using Plackett–Luce models based on joint feature representations, https://link.springer.com/article/10.1007%2Fs10994-017-5694-9
-
-
Constructor Summary
Constructors Constructor Description DyadRankingFeatureTransformNegativeLogLikelihood()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description doubleapply(ai.libs.jaicore.math.linearalgebra.Vector w)Algorithm (18) of [1].voidinitialize(DyadRankingDataset dataset, java.util.Map<IDyadRankingInstance,java.util.Map<Dyad,ai.libs.jaicore.math.linearalgebra.Vector>> featureTransforms)Initializes the function with the given dataset.
-
-
-
Method Detail
-
initialize
public void initialize(DyadRankingDataset dataset, java.util.Map<IDyadRankingInstance,java.util.Map<Dyad,ai.libs.jaicore.math.linearalgebra.Vector>> featureTransforms)
Description copied from interface:IDyadRankingFeatureTransformPLGradientDescendableFunctionInitializes the function with the given dataset.- Specified by:
initializein interfaceIDyadRankingFeatureTransformPLGradientDescendableFunction- Parameters:
dataset- the dataset to usefeatureTransforms- the feature precomputed feature transforms
-
apply
public double apply(ai.libs.jaicore.math.linearalgebra.Vector w)
Algorithm (18) of [1]. We adhere their notations, but, unify the sums.- Specified by:
applyin interfaceIGradientDescendableFunction- Parameters:
w- the point to which to apply the function- Returns:
- the function value at the applied point
-
-