View Single Post
Old 02-13-2013, 10:00 PM
vikasatkin vikasatkin is offline
Join Date: Sep 2011
Posts: 39
Default Discussion of Lecture 11 "Overfitting"

Question: (Slide 11/23) How did you generate the polynomials? How did you choose the coefficients?

Answer: Here is the technical description of the process of generating the target function and the dataset (which may be useful, if you want to reproduce the pictures from the slide 13/23). It was actually described in the "Learning From Data" book on p.123 (section 4.1.2 "Catalysts for Overfitting").

The process of generating the target function depends on two parameters: Q_f (degree of the generated polynomials) and \sigma^2 (noise level). Of course, you also need N --- amount of points in the dataset.

1. Take Legendre polynomials P_0,\dots,P_{Q_f}. Note, that they are normalized according to their value at x=1 (i.e. P_q(1)=1), not their average square.
2. Choose coefficients a_0,\dots,a_{Q_f} independently according to the standard normal distribution.
3. Generate N points (pick them randomly from [-1,1], independently from each other).
4. For every point x_i generate the noise \epsilon(x_i).

The target is given by y=c\sum_{q=0}^{Q_f} a_q P_q(x) + \epsilon(x). Here c is a normalization constant, which depends only on Q_f. It is chosen in such a way, that the mean square value of f(x)=c\sum_{q=0}^{Q_f} a_q P_q(x) is equal to 1 (mean with respect to both x and choices we made during this process: \mathbb{E}_{a,x} ((f(x))^2) = 1). On can compute, that
c = \left( \sum_{q=0}^{Q_f} \frac1{2q+1} \right)^{-1/2}.
Reply With Quote