FAQ
Frequently Asked Questions (FAQ)
for
CS491/591-001: Introduction to Machine Learning
- 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.
- 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.
- 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.
- 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.