|
Hello, I'm working with my former university to create a Machine Learning Class for Grad Students in CS. I want to use the power of the collective thinking and expertise to do this. In your opinion, what would be a good set of topics to have in a one semester (17 weeks, 2 times a week) introductory course on ML. The students are supposed to have good backgrounds on Math and Computer Science, most of them have by this time taken several courses on probability, geometry and functional analysis. Thanks for your suggestions. If you have a link of a particular ML course you consider particularly good (I already know Andrew NG's material) it would be greatly appreciated as well. Thanks
showing 5 of 6
show all
|
|
You should check out the outline of current good courses. Some good examples are Hal Daume's, Berkeley's practical machine learning course, Andrew Ng's, and probably some others you can find on Google. Generally, these were the result of a few years of experimentation rather than just thinking about what would be nice. |
|
Hi Leon,
I hope it could help. |
|
If I were designing an intro ML course, I would: 1) pillage the curriculum of good courses I could find, and 2) consider organizing it around different learning strategies or approaches. E.g., divide-and-conquer (trees or rule learning), optimization (neural networks, SVMs), memorization (k-NN), wisdom of the crowds (ensembles), generative models (naive Bayes, Bayesian networks, EM clustering), etc. |
|
You should definitely include some convex optimization. Since it's one semester, I'd suggest trying to hit the following:
This area is exploding right now, it's fairly accessible, and it's very practical but also has room for theoretical analysis. Shouldn't these topics be part of an optimization course? It's one thing to learn about SVMs and another to understand SMO; there's already too many topics that need to be covered in a machine learning course. IMO, an ML course should cover the principles (where they come from, for e.g., their statistical motivations), and leave the algorithms up to an optimization course.
(Dec 01 '11 at 02:27)
Pardis
Algorithms are vital to understanding how to apply machine learning tools. Also, many optimization courses are taught without much consideration of machine learning applications.
(Dec 01 '11 at 17:57)
Jacob Jensen
Why emphasize convex optimization specifically? It can awesome when you have it, but you often don't. And sometimes convexity isn't even desirable, e.g. Trading Convexity for Scalability by Collobert, Sinz, Weston, and Bottou.
(Feb 01 '12 at 05:17)
Chris Jordan Squire
Chris: convex optimization is useful not necessarily in a "formulate everything as a big convex problem and fold it into cvx" way, but more because many useful subproblems can be made convex without much difficulty, and then you have access to all sorts of nice things like duality to help you. Also, it turns out to be very useful in proving theorems about online learning.
(Feb 01 '12 at 07:18)
Alexandre Passos ♦
|
|
Hello everyone, Just to let you know I've finally put together something, using some of the suggestions you gave me. I'm open to any modification or more suggestions, I'm dropping this here. Thanks a lot! Are Gaussian Processes successfully used in many applications? If they are a "niche" technology, perhaps it would be better to cover something with wider applicability. (I don't know them that well myself, so I could be completely off base here.)
(Feb 01 '12 at 13:41)
Art Munson
GPs have a lot of different applications, I would not consider them a niche technique. They are there mainly to do a connection of Kernels and problems like Regression, that is the reason is only one lecture.
(Feb 02 '12 at 00:05)
Leon Palafox ♦
|
If I may ask: what university is that? Having such a strong math background is (unfortunately) unthinkable where I am.
In Mexico's UNAM. For some weird reason in the 1980's the Curriculum of engineering and sciences majors got crazy hard. In Engineering you have about 3 years of math before you start any specialization. And in Math and CS you have 4 years of high level math and CS theory.
Do you have a link for the graduate curriculum and know about where the proposed course would potentially go in the sequence? The only curriculum list I could find was this one which seems to be the undergraduate curriculum: https://translate.googleusercontent.com/translate_c?act=url&hl=en&ie=UTF8&prev=_t&rurl=translate.google.com&sl=auto&tl=en&twu=1&u=http://www.matematicas.unam.mx/ccindex.html&usg=ALkJrhiPVGkptIzdGVcrDyYl1Ee4Me5UkA or is this the assumed background for the course someone who has completed the undergraduate program or something similar?
After a bit more searching around I found this which seems to describe both an MS and a PhD program: https://translate.googleusercontent.com/translate_c?act=url&hl=en&ie=UTF8&prev=_t&rurl=translate.google.com&sl=auto&tl=en&twu=1&u=http://www.posgrado.unam.mx/programas/planes/COMPUTACION.pdf&usg=ALkJrhhTYufyNUbdZ9jOqGoN7sov-QilWQ so is this for a selected topics course or will it be a regular course entering the list of complementary subjects?
Yes,!, The second one is the actual curriculum. We are looking to modify it, but still, I was only asked to maker the outline and prepare a reference list. I'm not really sure where it will be put.
In general, I'd suggest including a strong programming component and applications-awareness, especially if a lot of the students are probably headed to industry.