Department of Computer Science and Engineering
University of California, San Diego
CSE 254
Spring 2007

Assignment 1

DUE AT THE START OF CLASS ON TUESDAY APRIL 24, 2007


Important: Please use this discussion board to ask questions.

This assignment is a warm-up project for the main project for 254.  The objective, like for the main project, is to reproduce results from a published paper.  The particular paper to follow now is Supervised naive Bayes parameters by H. Wettig, P. Grünwald, T. Roos, P. Myllymäki, and H. Tirri, published in Proceedings of the tenth Finnish artificial intelligence conference, 2002.  

Specifically, you should try to reproduce some of the results in Table 1.  Choose three to six datasets that you expect to be particularly informative.  Implement standard naive Bayes and discriminatively trained naive Bayes, as described in the tutorial by Klein and Manning.  Use the discretized datasets available at http://www.cs.helsinki.fi/u/pkontkan/Data/ and write your code in Matlab.  For this project, you do not need to replicate the methods of Tirri et al. precisely.  In particular, you may use a different numerical optimization algorithm, different regularization, and a different crossvalidation procedure.

Answer some or all of the following questions:

(1) Is the discriminatively trained naive Bayes of Klein and Manning exactly the same as the "supervised NB" of Wettig et al.?  The answer is not immediately clear, because the notation in the paper by Wettig et al. is rather complicated.  The results in this 2002 paper are a special case of those in a later paper, On Discriminative Bayesian Network Classifiers and Logistic Regression by T. Roos, H. Wettig, P. Grünwald, P. Myllymäki, and H. Tirri, Machine Learning 59:3, pp. 267-296 (2005), which uses simpler notation.

(2) Compare pseudocount smoothing for standard naive Bayes and L2 regularization (i.e. a Gaussian prior on parameters) for discriminative naive Bayes.  Note that making each pseudocount be 1 is called Laplace smoothing.  Often this is excessive smoothing and sometimes 0.1 is recommended instead of 1.  Investigate this issue.  For discriminative NB, investigate what the optimal strength of the prior is.

(3) Compare different nonlinear optimization algorithms for discriminative naive Bayes training.  For software choices see here.

(4) Compare standard and discriminative NB according to multiple loss functions: 0/1 accuracy, mean squared error, log loss, and/or area under the ROC curve.  Compare the two NB methods with and without calibration, i.e. with and without adjusting their output scores to be well-calibrated probability values.  (Note:  You can find a Matlab function for calibration in the Spider toolbox.)  Optional:  Try different loss functions as the objective for discriminative training.

What to submit.  To quote Sanjoy Dasgupta, "Discuss your results in precise and lucid prose.  Content is king, but looks matter too!"  For further advice, see the article Crafting Papers on Machine Learning by Pat Langley and Three Sins of Authors in Computer Science and Math by Jonathan Shewchuk.