FAQ

Frequently Asked Questions (FAQ)

for

CS491/591-001: Introduction to Machine Learning


  1. Is this a reading seminar, or is there real work involved?
    Well, it depends on what you consider to be real work, I guess. ;-) The class does include homeworks, readings, exams, and projects. Check out the syllabus for more details.
  2. What are the prerequisites for ML?
    This semester, I'm opening the class more to undergrad students, so the expected background will be somewhat smaller than previously. At a minimum, you should have exposure to linear algebra, some probability, and algorithms. Previously, I recommended CS530 and 461 or equivalent, but the moral equivalent of Math 314, Stat 345, and CS 361 would probably be fine.
  3. But what about hacking? Do I need to know Java, or any other language?
    Well, you have to be able to program in some language, but I don't really care which one. The assignments are written language-agnostically, and I've had previous students do them in languages varying from Lisp to ML to Matlab. That said, it's easier to express the kinds of things you need to for machine learning in some languages than others. E.g., while Matlab is a generally grungy and unpleasant language, it's extremely useful for doing some of the common operations in machine learning.
  4. What's the difference between the 491 and 591 number? Aside from undergraduate vs. graduate credit on your transcript, you mean? The significant difference is in the final project. Undergrads will be assigned a fixed final project, while grad students are expected to be able to formulate their own questions and devise an interesting project for themselves. I'll be happy to assist and provide feedback and guidance, of course, but the ultimate responsibility rests with you. If you find the prospect of forging ahead on your own exciting, sign up for 591; if you find it intimidating or just too much of a headache, sign up for 491.