Are you an EPFL student looking for a semester project?
Work with us on data science and visualisation projects, and deploy your project as an app on top of Graph Search.
In computational learning theory (machine learning and theory of computation), Rademacher complexity, named after Hans Rademacher, measures richness of a class of real-valued functions with respect to a probability distribution. Given a set , the Rademacher complexity of A is defined as follows: where are independent random variables drawn from the Rademacher distribution i.e. for , and . Some authors take the absolute value of the sum before taking the supremum, but if is symmetric this makes no difference. Let be a sample of points and consider a function class of real-valued functions over . Then, the empirical Rademacher complexity of given is defined as: This can also be written using the previous definition: where denotes function composition, i.e.: Let be a probability distribution over . The Rademacher complexity of the function class with respect to for sample size is: where the above expectation is taken over an identically independently distributed (i.i.d.) sample generated according to . The Rademacher complexity is typically applied on a function class of models that are used for classification, with the goal of measuring their ability to classify points drawn from a probability space under arbitrary labellings. When the function class is rich enough, it contains functions that can appropriately adapt for each arrangement of labels, simulated by the random draw of under the expectation, so that this quantity in the sum is maximised.