Class InversePowerLawLearningCurve
- java.lang.Object
-
- ai.libs.jaicore.ml.learningcurve.extrapolation.ipl.InversePowerLawLearningCurve
-
- All Implemented Interfaces:
AnalyticalLearningCurve,LearningCurve
public class InversePowerLawLearningCurve extends java.lang.Object implements AnalyticalLearningCurve
Representation of a learning curve with the Inverse Power Law function, which has three parameters named a, b and c. The function is f(x) = (1-a) - b * x^c. O
-
-
Constructor Summary
Constructors Constructor Description InversePowerLawLearningCurve(double a, double b, double c)InversePowerLawLearningCurve(InversePowerLawConfiguration configuration)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description doublegetA()doublegetB()doublegetC()doublegetConvergenceValue()Calculates or looks-up the value the learning curve converges to.doublegetCurveValue(double x)Calculates or looks-up the curves value at a given point.doublegetDerivativeCurveValue(double x)Calculates or looks-up the value of the derivative of the learning point at a given point.doublegetSaturationPoint(double epsilon)Calculated or search a saturation point with a tolerance of epsilon.java.lang.StringtoString()
-
-
-
Constructor Detail
-
InversePowerLawLearningCurve
public InversePowerLawLearningCurve(double a, double b, double c)
-
InversePowerLawLearningCurve
public InversePowerLawLearningCurve(InversePowerLawConfiguration configuration)
-
-
Method Detail
-
getSaturationPoint
public double getSaturationPoint(double epsilon)
Description copied from interface:AnalyticalLearningCurveCalculated or search a saturation point with a tolerance of epsilon.- Specified by:
getSaturationPointin interfaceAnalyticalLearningCurve- Parameters:
epsilon- Epsilon value(must be > 0) that is a tolerance the saturation point can deviate.- Returns:
- Saturation point with tolerated deviation.
-
getCurveValue
public double getCurveValue(double x)
Description copied from interface:LearningCurveCalculates or looks-up the curves value at a given point.- Specified by:
getCurveValuein interfaceLearningCurve- Parameters:
x- The x value of the point.- Returns:
- The y value of the curve at the given x value.
-
getDerivativeCurveValue
public double getDerivativeCurveValue(double x)
Description copied from interface:AnalyticalLearningCurveCalculates or looks-up the value of the derivative of the learning point at a given point.- Specified by:
getDerivativeCurveValuein interfaceAnalyticalLearningCurve- Parameters:
x- The x value of the point.- Returns:
- The y value of the derivative at the given x value.
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
getConvergenceValue
public double getConvergenceValue()
Description copied from interface:AnalyticalLearningCurveCalculates or looks-up the value the learning curve converges to. In other words, the convergence value is the value that would be achieved if sufficiently much data would be available.- Specified by:
getConvergenceValuein interfaceAnalyticalLearningCurve- Returns:
-
getA
public double getA()
-
getB
public double getB()
-
getC
public double getC()
-
-