Class CoveringNumberLossBound

java.lang.Object
org.drip.learning.bound.CoveringNumberLossBound

public class CoveringNumberLossBound
extends java.lang.Object
CoveringNumberLossBound provides the Upper Probability Bound that the Loss/Deviation of the Empirical from the Actual Mean of the given Learner Class exceeds 'epsilon', using the Covering Number Generalization Bounds. This is expressed as

C1 (n) * N (epsilon, n) * exp (-n.epsilon^b/C2)

where:
  • n is the Size of the Sample
  • 'epsilon' is the Deviation Empirical Mean from the Population Mean
  • C1 (n) is the sample coefficient function
  • C2 is an exponent scaling constant
  • 'b' an exponent ((i.e., the Epsilon Exponent) that depends on the setting (i.e., agnostic/classification/regression/convex etc)


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 Summary

    Constructors
    Constructor Description
    CoveringNumberLossBound​(R1ToR1 funcSampleCoefficient, double dblEpsilonExponent, double dblExponentScaler)
    CoveringNumberLossBound Constructor
  • Method Summary

    Modifier and Type Method Description
    double deviationProbabilityUpperBound​(int iSampleSize, double dblEpsilon)
    Compute the Upper Bound of the Probability of the Absolute Deviation between the Empirical and the Population Means
    double epsilonExponent()
    Retrieve the Exponential Epsilon Exponent
    double exponentScaler()
    Retrieve the Exponent Scaler
    R1ToR1 sampleCoefficient()
    Retrieve the Sample Coefficient Function

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • CoveringNumberLossBound

      public CoveringNumberLossBound​(R1ToR1 funcSampleCoefficient, double dblEpsilonExponent, double dblExponentScaler) throws java.lang.Exception
      CoveringNumberLossBound Constructor
      Parameters:
      funcSampleCoefficient - The Sample Coefficient Function
      dblEpsilonExponent - The Epsilon Exponent
      dblExponentScaler - The Exponent Scaler
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
  • Method Details

    • sampleCoefficient

      public R1ToR1 sampleCoefficient()
      Retrieve the Sample Coefficient Function
      Returns:
      The Sample Coefficient Function
    • epsilonExponent

      public double epsilonExponent()
      Retrieve the Exponential Epsilon Exponent
      Returns:
      The Exponential Epsilon Exponent
    • exponentScaler

      public double exponentScaler()
      Retrieve the Exponent Scaler
      Returns:
      The Exponent Scaler
    • deviationProbabilityUpperBound

      public double deviationProbabilityUpperBound​(int iSampleSize, double dblEpsilon) throws java.lang.Exception
      Compute the Upper Bound of the Probability of the Absolute Deviation between the Empirical and the Population Means
      Parameters:
      iSampleSize - The Sample Size
      dblEpsilon - The Deviation between Population and Empirical Means
      Returns:
      The Upper Bound of the Probability of the Deviation between the Empirical and the Population Means
      Throws:
      java.lang.Exception - Thrown if the Upper Bound of the Probability cannot be computed