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

asked Nov 30 '11 at 02:22

Leon%20Palafox's gravatar image

Leon Palafox ♦
40857194128

If I may ask: what university is that? Having such a strong math background is (unfortunately) unthinkable where I am.

(Nov 30 '11 at 04:44) Andreas Mueller
1

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.

(Nov 30 '11 at 04:48) Leon Palafox ♦
1

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?

(Nov 30 '11 at 14:40) Chris Simokat
1

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?

(Nov 30 '11 at 14:58) Chris Simokat

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.

(Nov 30 '11 at 18:48) Leon Palafox ♦

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.

(Dec 03 '11 at 03:17) Jacob Jensen
showing 5 of 6 show all

5 Answers:

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.

answered Nov 30 '11 at 07:11

Alexandre%20Passos's gravatar image

Alexandre Passos ♦
2554154278421

Hi Leon,
I'm a graduate CS student. In my opinion this is the core of a Machine Learning class:

  • Bayesian Decision Theory. (Introduction to the decision problem, decision boudary, minimum risk classifiers, ...)
  • Maximum-Likelihood and Parameter Estimation.
  • Nonparametric Techniques. (Parzen Window, Knn, ...)
  • Unsupervised Learning and Clustering. (k-Means, ...)
  • Neural Networks. (Perceptron, MLP, SOM)

I hope it could help.

answered Nov 30 '11 at 02:59

JustGlowing's gravatar image

JustGlowing
105237

edited Dec 02 '11 at 03:53

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.

answered Dec 02 '11 at 20:17

Art%20Munson's gravatar image

Art Munson
64611316

You should definitely include some convex optimization. Since it's one semester, I'd suggest trying to hit the following:

  • Gradient Descent
  • Stochastic Gradient Descent
  • Proximal methods (kind of like gradient descent when not everything is differentiable), including for L1 regularization
  • Augmented Lagrangian methods

This area is exploding right now, it's fairly accessible, and it's very practical but also has room for theoretical analysis.

answered Nov 30 '11 at 19:00

Jacob%20Jensen's gravatar image

Jacob Jensen
1914315663

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!

answered Feb 01 '12 at 00:08

Leon%20Palafox's gravatar image

Leon Palafox ♦
40857194128

edited Feb 01 '12 at 03:38

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 ♦
Your answer
toggle preview

powered by OSQA

User submitted content is under Creative Commons: Attribution - Share Alike; Other things copyright (C) 2010, MetaOptimize LLC.