Lab 8: Machine learning project
Due by 9am, Monday May 4
Starting point code
This lab may be done alone or with a partner of your choice. Go through
the following steps to setup your directory for this lab.
- First you need to run
setup63
to create a git
repository for the lab. If you want to work alone do:
setup63 labs/08 none
For this lab you may work with a group of two or
three.
Once the script finishes, the other partner(s) should run it on their
account.
- For the next step only one partner should copy over the
starting point code.
cd ~/cs63/labs/08
cp -r ~meeden/public/cs63/labs/08/* ./
This will copy over the starting point files for this lab.
- Whether you are working alone or with a partner, you should now add
all of the files to your git repo, commit, and push them as shown below.
git add *
git commit -m "lab8 start"
git push
- If you are working with a partner, your partner can now pull the
changes in.
cd ~/cs63/labs/08
git pull
The starting point directory includes just two
files: project.tex and README.
In the LaTex file, project.tex, you will describe your
project. I have provided a basic structure that you should follow.
Feel free to change the section headings, or to add additional
sections. Recall that you use pdflatex to convert the LaTex
into a pdf file. Here is a template for
your paper.
In the README file you will give instructions about how to
test the code that you create.
Project ideas
This is an open-ended project where you can choose what machine
learning topic you'd like to explore further. Below are some
suggestions, but I am open to other options, just talk to me about
your ideas first:
- Extend a machine learning approach that we explored in a previous
lab:
- Apply genetic algorithms to a new domain.
- Apply neural networks to different classification problems.
- Create your own feature extractors for PacMan and apply
approximate Q-learning to figuring out how to deal with ghosts in more
complex layouts.
- Apply approximate Q-learning to a completely different type of
problem, perhaps a simple game like Tic-Tac-Toe.
- Implement a machine learning method (such as decision trees or
growing neural gas) and test them on a specific problem.
- Use an existing library (such
as PyBrain or mlpy) that implements a type of
machine learning that we didn't explore and apply it to a specific
problem.
Possible data sets you may want to explore:
Submitting your code
As your project develops and you create more files, be sure to use git to
add, commit, and push them. Run: git status to check that all of
the necessary files are being tracked in your git repo.