CS 461: Machine Learning
Instructor: Kiri Wagstaff

Course Details

Course description
This course provides an introduction to machine learning algorithms, which learn from experience in a supervised, unsupervised, or reinforcement learning paradigm. Specific algorithms include k-Nearest Neighbors, Decision Trees, Support Vector Machines, Neural Networks, Bayesian Networks, Clustering, Reinforcement learning, and Ensemble learning.
Course goals
At the end of the course, students are able to:
  • Apply several machine learning algorithms (supervised, unsupervised, and reinforcement learning) to data sets in standard format
  • Select an appropriate algorithm to solve new problems
  • Evaluate learning systems using cross-validation and statistical significance tests
  • Use the Weka machine learning library (Java)
Prerequisites
  • Java programming experience (CS 203)
  • Data structures and algorithms (CS 203, 312)
  • Calculus and Propositional logic
  • Recommended: Probability (Math 474) and Statistics (Math 274)

Vital Statistics

Time and place
Credits: 4
Lectures: Saturdays, 9:00 a.m. - 1:10 p.m., ET-A210

Instructor: Kiri Wagstaff
Office hours: Saturdays, 1:15-2:45 p.m., ET-A220
Email: kiri.wagstaff@calstatela.edu
Course website: http://www.wkiri.com/cs461/

Textbook
  • Introduction to Machine Learning by Ethem Alpaydin, MIT Press, 2004.
  • Also useful: Machine Learning by Tom Mitchell, McGraw Hill, 1997.
  • Exams
    • Midterm: February 2, 2008, during lecture
    • There is no final exam (final project instead)

    Policies

    Grading Policy
    Your course grade will consist of:
    • Homeworks (5): 50%
    • Midterm: 25%
    • Final project: 25%
    Grading scale (scores are truncated, not rounded):
    • A-: 90-93, A: 94-100
    • B-: 80-82, B: 83-86, B+: 87-89
    • C-: 70-72, C: 73-76, C+: 77-79
    • D: 60-66, D+: 67-69
    • No Credit: 0-59
    Late work:
    • Homeworks are due on Thursdays at midnight. They may be submitted one day late, with a 25% reduction in score. No other late work will be accepted.

    Academic Integrity
    Cheating will not be tolerated. Simple guideline: all work you turn in must be your own work, not anyone else's. Cheating on any assignment or exam will be taken very seriously. I encourage you to familiarize yourself with the Cal State LA policies on Academic Honesty, which includes examples of what is considered cheating. In the context of this class, the following examples also qualify:
    • Using Google to find a solution to an assignment or project. You are encouraged to use the web as a reference (e.g., "how does this Java method work?") but not as a solution-generator. Take pride in your own work, and show me what you yourself can do.
    • Collaborating on an assignment with classmates when this has not been explicitly permitted in the assignment description. Use your judgment. For solo assignments, questions of clarification are certainly germane. "How did you get this to work?" and "Can I see your code?" are off-limits.
    Penalties for any cheating can include a grade of F for the course and will be reported to the appropriate university authority.
    Guidelines for Assignments
    Each homework assignment indicates what should be turned in, and in what format. In general, these guidelines apply:
    • Programming assignments:
      • You may use any development environment you like. However, submit only your .java source files (not any project/IDE files). Your code will be compiled and tested in a command-line environment, so it is a good idea to check that this works prior to submission. To receive full credit, your code must compile.
      • Each Java source code file must contain a header with your name, the class name and number, the quarter, the name of the assignment, and the assignment due date.
      • You will be graded on coding style. Use modularity, break long lines, and comment your code to guide the reader in understanding how it works. You may wish to browse the Java Programming Style Guidelines. Include Javadoc-style comments in the header of each file and to describe each method (Sun's guidelines for Javadoc comments).
    • Written assignments:
      • Submit your answers to written questions as .txt or .pdf files. Word (.doc, .rtf, etc.) files will not be accepted.
    Expectations of Students
    • In class:
      • Arrive to class on time.
      • Turn cell phones off during lecture and lab. Refrain from sending or receiving text messages, and please do not check email or browse the web during lecture.
      • Consume food/drink outside of the classroom.
      • Complete assigned reading before lecture.
      • Participate in class discussions and activities.
      • Submit work on time. Late work is accepted only for homeworks, one day after the deadline, and will incur a 25% reduction in score.
      • Be present for the midterm exam and final project presentations. Makeup exams are not offered except in extreme circumstances. Contact me immediately if you have a conflict.
    • Outside of class:
      • Place "CS 461" in the subject line of course-related email.
      • Check email on a daily basis. You are responsible for being aware of course announcements.
      • Mandatory meeting after midterm with instructor to evaluate progress.