CS 281, Spring 1998, Machine Learning
Term Project Proposals, due 4/1. Projects due 5/15
The following are some examples of the kinds of projects that might be
attempted. They are only intended to be suggestions to stimulate your
creativity, rather than instructions to be taken verbatim. Feel free
to invent other projects. I do not want to see 14 incremental
decision tree systems!
You should write up a one-page proposal for a project by April 1,
and be ready to discuss it with me to make sure it's interesting and
feasible. Many possible projects will involve material you have not yet
read. You will need to read ahead now in order to write a proposal
in areas such as neural nets, ILP, etc.
Final project reports will be due May 15. There will be
a session or two of short project presentations the same day.
Projects may be done singly or in pairs.
Practical projects
In general, I would prefer to see practical projects done. Nothing stimulates
creativity more than seeing your program fail miserably. Nothing (much)
pleases more than seeing one's program learn something new.
- Version-space learning---empirical application. Try, for example, to
come up with predictive rules for building use given structural descriptions
of actual buildings (shops, restaurants, professional offices, banks, office
buildings, gas stations, houses of ill repute, academic buildings, municipal
buildings, supermarkets, homes) around Berkeley. Or maybe try the
NetTalk data.
- Version-space learning---analytic application. LEX (Mitchell,
Utgoff, and Banerji, 1983) uses version spaces to solve symbolic
integration problems. Do the same for solving algebraic equations
(eg solve $x^2 - 3x+2 = cosh xy$ for $x$).
- Build an incremental decision-tree program: constructs the best DT it
can from the data so far, and updates it as new data comes in without having
to remember or process all previous examples (additional readings available).
- Apply reinforcement learning with a neural network function
approximator to develop an effective evaluation function for a
probabilistic game such as backgammon (additional readings and code
available).
- Implement boosting as a general wrapper method that can use an
abitrary learning algorithm as a subroutine; compare the performance
of the boosted and unboosted version on some Irvine data sets.
- Learn to use the Progol system for ILP, applying it to as many
domains as possible (code available).
- Empirically investigate the time and example complexity of
support vector machines, comparing them to decision trees and/or
theoretical predictions.
- Investigate empirically various possible parameter optimization
methods for neural networks, including ``natural gradients'' (readings
available).
- Implement a Bayesian version of neural network learning (or other
regression method) using a distribution over parameter values, as
described in Chapter 10 of Bishop.
- Implement an APN system on top of an existing probabilistic
inference system and apply it to (e.g.) the insurance data;
extend your system to handle continuous variables.
- Implement a structural learning algorithm
for belief nets (Cooper and Herskovits, Heckerman et al, or Friedman)
and apply it to (e.g.) the insurance data.
- Write a program that searches the space of logical concepts in
elementary number theory, generating and building on interesting ones
and finding conjectures relating them.
- Build a simple reinforcement learning system for a robot motion
planning problem or for a simulated environment such as the Wumpus
world (code available).
- Investigate experimentally the benefits of applying subset
selection recursively as the decision tree is constructed.
- Implement and test one or more methods for in-context spelling
correction.
Theoretical projects
Each of these is fairly open-ended, but should represent a significant amount
of effort and reach as definite a set of conclusions as possible.
- Survey what is known about
the PAC-learning of probabilistic networks from data,
delineate the remaining open problems, and discuss possible avenues
for their solution.
- Investigate the state of the art in both theory and practice
for nearest neighbour methods in very high dimensions (e.g., images).
Is this a practical approach to learning from image data?
Discuss how the problems might be overcome, with reference to specific
successful systems.
- Survey what is known theoretically about online learning of
linear predictors and mixtures-of-experts, including the
``exponentiated gradient'' methods. Can these algorithms be viewed as
a form of Bayesian learning? If so, make a precise translation for at
least one such algorithm.
- Look into the SOAR literature, providing an understandable
description of the principles, design and operation of the
system. Make a detailed comparison between chunking (SOAR's learning
mechanism) and EBL (additional readings available).
- Discuss possible definitions of completeness for ILP systems.
Survey currently known results on completeness, and delineate the
remaining open problems.
- Consider a simple environment--agent pair, such as the Wumpus world.
Find a sequence of theories beginning at the level of the
sensory inputs and culminating in something approximating to a
correct model of the environment. Each theory should partially explain more of
the sensory observations, and include new predicates that succeed in
shortening the overall representation. For extra credit, show this is
possible in general (ie the search space is unimodal) or give a
counterexample.