Class LpLossLearner

java.lang.Object
org.drip.learning.rxtor1.GeneralizedLearner
org.drip.learning.rxtor1.LpLossLearner
All Implemented Interfaces:
EmpiricalLearningMetricEstimator

public class LpLossLearner
extends GeneralizedLearner
LpLossLearner implements the Learner Class that holds the Space of Normed Rx To Normed R1 Learning Functions for the Family of Loss Functions that are Polynomial, i.e., loss (eta) = (eta ^ p) / p, for p greater than 1. This is Lipschitz, with a Lipschitz Slope of C = (b - a) ^ (p - 1)

The References are:

  • Alon, N., S. Ben-David, N. Cesa Bianchi, and D. Haussler (1997): Scale-sensitive Dimensions, Uniform Convergence, and Learnability Journal of Association of Computational Machinery 44 (4) 615-631
  • Anthony, M., and P. L. Bartlett (1999): Artificial Neural Network Learning - Theoretical Foundations Cambridge University Press Cambridge, UK
  • Kearns, M. J., R. E. Schapire, and L. M. Sellie (1994): Towards Efficient Agnostic Learning Machine Learning 17 (2) 115-141
  • Lee, W. S., P. L. Bartlett, and R. C. Williamson (1998): The Importance of Convexity in Learning with Squared Loss IEEE Transactions on Information Theory 44 1974-1980
  • Vapnik, V. N. (1998): Statistical learning Theory Wiley New York


Author:
Lakshmi Krishnamurthy
  • Constructor Details

    • LpLossLearner

      public LpLossLearner​(NormedRxToNormedR1Finite funcClassRxToR1, CoveringNumberLossBound cdpb, RegularizationFunction regularizerFunc, double dblLossExponent) throws java.lang.Exception
      LpLossLearner Constructor
      Parameters:
      funcClassRxToR1 - R^x To R^1 Function Class
      cdpb - The Covering Number based Deviation Upper Probability Bound Generator
      regularizerFunc - The Regularizer Function
      dblLossExponent - The Loss Exponent
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
  • Method Details

    • lossExponent

      public double lossExponent()
      Retrieve the Loss Exponent
      Returns:
      The Loss Exponent
    • lipschitzSlope

      public double lipschitzSlope()
      Retrieve the Lipschitz Slope Bound
      Returns:
      The Lipschitz Slope Bound
    • lossSampleCoveringNumber

      public double lossSampleCoveringNumber​(GeneralizedValidatedVector gvvi, double dblEpsilon, boolean bSupremum) throws java.lang.Exception
      Description copied from interface: EmpiricalLearningMetricEstimator
      Retrieve the Loss Class Sample Covering Number - L-Infinity or L-p based Based
      Parameters:
      gvvi - The Validated Instance Vector Sequence
      dblEpsilon - The Deviation of the Empirical Mean from the Population Mean
      bSupremum - TRUE To Use the Supremum Metric in place of the Built-in Metric
      Returns:
      The Loss Class Sample Covering Number - L-Infinity or L-p based Based
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
    • empiricalLoss

      public double empiricalLoss​(R1ToR1 funcLearnerR1ToR1, GeneralizedValidatedVector gvviX, GeneralizedValidatedVector gvviY) throws java.lang.Exception
      Description copied from interface: EmpiricalLearningMetricEstimator
      Compute the Empirical Sample Loss
      Parameters:
      funcLearnerR1ToR1 - The R^1 To R^1 Learner Function
      gvviX - The Validated Predictor Instance
      gvviY - The Validated Response Instance
      Returns:
      The Empirical Loss
      Throws:
      java.lang.Exception - Thrown if the Empirical Loss cannot be computed
    • empiricalLoss

      public double empiricalLoss​(RdToR1 funcLearnerRdToR1, GeneralizedValidatedVector gvviX, GeneralizedValidatedVector gvviY) throws java.lang.Exception
      Description copied from interface: EmpiricalLearningMetricEstimator
      Compute the Empirical Sample Loss
      Parameters:
      funcLearnerRdToR1 - The R^d To R^1 Learner Function
      gvviX - The Validated Predictor Instance
      gvviY - The Validated Response Instance
      Returns:
      The Empirical Loss
      Throws:
      java.lang.Exception - Thrown if the Empirical Loss cannot be computed
    • empiricalRisk

      public double empiricalRisk​(R1R1 distR1R1, R1ToR1 funcLearnerR1ToR1, GeneralizedValidatedVector gvviX, GeneralizedValidatedVector gvviY) throws java.lang.Exception
      Description copied from interface: EmpiricalLearningMetricEstimator
      Compute the Empirical Sample Risk
      Parameters:
      distR1R1 - R^1 R^1 Multivariate Measure
      funcLearnerR1ToR1 - The R^1 To R^1 Learner Function
      gvviX - The Validated Predictor Instance
      gvviY - The Validated Response Instance
      Returns:
      The Empirical Sample Risk
      Throws:
      java.lang.Exception - Thrown if the Empirical Sample Risk cannot be computed
    • empiricalRisk

      public double empiricalRisk​(RdR1 distRdR1, RdToR1 funcLearnerRdToR1, GeneralizedValidatedVector gvviX, GeneralizedValidatedVector gvviY) throws java.lang.Exception
      Description copied from interface: EmpiricalLearningMetricEstimator
      Compute the Empirical Sample Risk
      Parameters:
      distRdR1 - R^d R^1 Multivariate Measure
      funcLearnerRdToR1 - The R^d To R^1 Learner Function
      gvviX - The Validated Predictor Instance
      gvviY - The Validated Response Instance
      Returns:
      The Empirical Sample Risk
      Throws:
      java.lang.Exception - Thrown if the Empirical Sample Risk cannot be computed