Unless otherwise specified, questions have unit value. The total value of the
  assignments from each week will vary substantively.
  
  Recall that assignments are graded rather loosely on effort, and that 3/4 of
  the total marks (1/2 for ugrads) over all assignments over all weeks
  represents 100%. This policy is in place partly to allow for error in the
  grading approach which, by necessity, is somewhat subjective, and needs to be
  done somewhat superficially. It is recommended (and requested) that you try to
  overshoot the 3/4 requirement, rather than worry about the details of how the
  grading is done. 

  Problems denoted EXTRA can be substituted for other problems, or done in
  addition, but they do not count towards the computation of the 3/4
  requirement. They may be discussed in class depending on time and interest.
  They are problems that I think might be useful, and likely be assigned if we
  had more time per chapter.
  
  Sometimes you will explicitly have to choose some of your own problems. Even
  when this is not the case, you can substitute some problems in the book for
  non-programming assignments if they appear more helpful to you. For now, limit
  the number of substitutions to 50% of what you hand in. This parameter may be
  increased or decreased as we go on.  
  
  You are encouraged to discuss the problems with your peers, but I would like
  individual final submissions demonstrating effort and understanding of what
  was done. If you end up working closely with someone on a problem set, make a
  note on your submission saying who it was. For programming assignments, each
  person should turn in their own work. 

  Since this is graduate level research course that is graded predominately on
  effort, I am confident that there will not be any problems with academic
  honesty. However, do note that non-negligible deviations are often
  surprisingly easy to spot, and can be verified by discussing the submitted
  solutions with the student. 
  
  -----------------------------------------------------------------------------

  Problems for Week 10.
  
  Total value is 8. 
  
  Due Thursday. 

  -----------------------------------------------------------------------------

  1. Add a few details going from 3.22 to 3.23. 

  2. After (3.51) on page 153, Bishop notes that as the prior becomes broad, the
     Bayesian estimate converges to the previous result. Provide a few details
     that shows this.

  3. Value is 6. 
  
     Some 2D points are in this data file. 

     The first column is X, the second is Y, we want to find a serviceable model
     for Y(X). 

     a) Write a program to fit polynomials up to degree 9 for this using basic
        regression. To establish the right level of tool usage, you should be
        computing the Moore-Penrose inverse (the formula is given on page 142).
        Plot your models on top of the data. Compute the error in the fits. What
        does the error do as the degree increases? 

     b) Modify your code to do part (a) on a randomly selected half the data
        (training data). Compute the error on both the training data and the
        other data (test data). Do several runs to be sure that you are not
        drawing conclusions on one lucky or unlucky "split". On average, what
        does the training set error do as the degree increases? How about for the
        test data. 

     c) Implement the crude regularization method on page 145. Can you find a 
        value of lambda that helps the fitting, as measured by the error on the
        test data in b), on the assumption that you don't want to commit to a
        particular polynomial degree. 

   EXTRA:

   4. Value is 1. PRML 3.5. 

   5. Value is 2. Review the material around page 88, and do PRML 3.10.