CS 527A Homework 1


You are expected to complete 40 points worth of homework problems. For those selecting 10 and 20 point problems, you must select problems from at least two of the chapters. Also, no more than one paper critique can be selected.

If you are doing a 20 or 40 point problem be sure to attach the appropriate cover sheet and review the guidelines given there and in the course information handout.

If you are interested in doing a group project talk to Dr. Goldman.

Due on Wednesday February 7th.


Cover Sheets:


  1. (10 pts) Prove that the LMS weight update rule (described in Chapter 1 of the text) performs a gradient descent to minimize the squared error. See Exercise 1-3 in the text for more about this problem including a description of gradient descent.

  2. (10 pts) Consider alternative strategies for the Experiment Generator module of Figure 1.1 of the text. In particular, consider strategies in which the Experiment Generator suggest new board positions by:

  3. (20 points) Implement a game similar to that discussed for the checkers problem, but use the simpler game of tic-tac-toe. Represent the learned function as a linear combination of board features of your choice. To train your program, play it repeatedly against a second copy of the program that uses a fixed evaluation function you create by hand. Plot the percent of games won by your system, versus the number of training games played.

  4. (40 points) Implement a game similar to that discussed for the checkers problem, but use a more complex game such as Othello. Represent the learned function as a linear combination of board features of your choice. You should provide at least two different well-selected sets of board features. Try training each of your programs (one with each feature set) by playing it repeatedly against a second copy of the program that uses a fixed evaluation function you create by hand. Which feature set yielded the better program. Now try training your programs by having them play against each other.


  5. (10 points) Answer both of the following questions.

  6. (10 points) Exercise 2.4 of the text which considers applying the version space algorithm for an instance space of integer points in the plane and the set of hypotheses H consists of rectangles.

  7. (10 points) Complete the proof of the version space representation theorem (Theorem 2.1 in the text.)

  8. (10 points) Prove that given an unbiased hypothesis space (the power set of the instances), the learner would find that each unobserved instance would match exactly half the current members of the version space, regardless of which training examples had been observed. That is, prove that for any instance space X, any set of training examples D, and any instance x in X not present in D, that if H is the power set of X, then exactly half the hypotheses in the Version Space defined by H and D will classify x as positive and half will classify it as negative.

  9. (20 points) Consider a learning problem where each instance is described by a conjunction of n boolean attributes a1,a2,...,an. Now consider a hypothesis space H in which each hypothesis is a disjunction of constraints over these attributes. Propose an algorithm that accepts a sequence of training examples and outputs a consistent hypothesis if one exists. Your algorithm should run in time that is polynomial in n and in the number of training examples. Be sure to clearly describe the algorithm, prove it is correct, and analyze its time complexity. (See Exercise 2.9 for a little more detailed statement.)

  10. (40 points) Implement the FIND-S algorithm and verify that it successfully produces the trace in Section 2.4 of the text for the EnjoySport example. Now use this program to study the number of training examples required to exactly learn the target concept following the guidelines given in Exercise 2.10 of the text.

  11. (20 points) Read one of the following papers and write a paper critique.


  12. (10 points) Given decision trees to represent the four boolean functions given in Exercise 3.1 of the text.

  13. (20 points) Do Exercise 3.4 of the text which explores the relationship between decision trees and version spaces.

  14. (20 points) Read at least one of the following papers and write a report. See the grading criteria for this type of homework for the expectations.

  15. (10, 20, or 40 points) This assignment gives you an opportunity to experiment with a decision tree learning program. You can use the PlayTennis learning data as well as a larger set of data describing the voting records of congressmen/women form the U.S. House of Representatives. The code is all contained in dt-code.zip. Just save it into your account and unzip it (use WinZip on the PCs, unzip in unix, and any standard unzip program on other platforms.) This code is designed for the gcc C++ compiler. On CEC for unix you can access this by using pkgadd sc_5.0 and for nt users, from the start menu go to "Programming, then to Microsoft Visual Studio 6.0, then to Microsoft Visual C++ 6.0.

    If you have selected this option you should (even before decision trees are discussed in class) be sure that you can compile and run this program. To compile it use make or gmake. Once you have done this you should find an executable called dt. To run it type

    dt [-s ]    
    
    If you do not provide a random seed then the system clock will be used. Each of train %, prune %, and test % are real numbers between 0 and 1 with the specification that their sum is at most 1.0. The specify, respectively, the fraction of the data that will be used for training, pruning and testing. To be sure it is working correctly, try doing
    dt 1.0 0.0 0.0 play-tennis.ssv
    
    When you do this you should get the decision tree show in Figure 3.1 of the textbook. You can go this far on this HW option before decision trees are discussed in class.

    There are three parts to this problem. If you do only the first part it is worth 10 points. If you do the first two parts, then you can submit it as a 20 point homework option. Finally, if you do all three parts then it is a 40 point homework option. If you just do the first part then no cover sheet is needed. If you pick the 20 point or 40 point option then the appropriate cover sheet and write-up is expected.

    NOTE: If you are doing the 40 point option, you may submit your final report as late as Monday February 12th without a late penalty prior to then. If you are selecting this option you must submit something on February 7th that shows that you have completed the experiments for Parts I and II. This can be a handwritten rough draft of your thoughts on those that you will be using for your report. This will not be graded but rather used to be sure that you have completed those parts by the deadline.


  16. CHOOSE YOUR OWN ADVENTURE. You can propose any additional homework options (or variations of those given above) to Dr. Goldman. If approved a point value will be given.