#211 overall
Learning From Data (Yaser Abu-Mostafa)
Caltech / edX
2 recommenders · 2 threads · recommended in 2 years, 2013–2017 · score 2.1
An introductory machine learning course from Caltech covering the theory and practice of learning from data, including generalization, overfitting, and standard models. Lectures are available free online and the course is also offered on edX, with an accompanying book.
Commenters point to it as a free, accessible glimpse into machine learning taught by an excellent professor.
Machine Learning & AIbeginnerfreevideo lectures#machine learning#statistics#learning theory#abu-mostafa
Recommendations by year
20062026
Coursera used to be great. I've taken several courses in the past. The problem is that most courses were one-and-done deals where they were put up and there was instructor + TA participation during the first 1-2 times the course ran. Subsequently, these courses are still run in zombie mode while users are asked to pay to take them (if you want to do assignments / quizzes). I find their whole approach very unethical since they provide zero actual support for education while charging people money.
To contrast, edX will typically run courses 1 - 2x times a year and any time they are run, they typically will at the very least have TA participation although in the 15+ edX courses I've taken, there has always been active instructor participation too. Moreover, by restricting enrollment to 1-2X times a year, it encourages more participation with very active forums and discussions, even when tackling courses that are 4+ years old. Caltech's outstanding Learning from Data course had over 100 replies on many HW discussions despite being run many years after the original edX course (though the most credit has to go to Prof. Mostafa who is an outstanding professor and educator).
edX does have other courses that are "archived". Some of these you are allowed to study at your own pace but they are upfront about the fact that you're on your own and more importantly, they don't try to get you to pay them money for a certificate when going through such a course. That is the right and ethical approach imho.
For a glimpse into machine learning, check out Professor Yaser Abu-Mostafa's "Learning From Data" course from Caltech. The videos are online for free (http://work.caltech.edu/telecourse.html, https://www.edx.org/course/caltechx/cs1156x/learning-data/11...), and its corresponding book is on Amazon (http://www.amazon.com/Learning-From-Data-Yaser-Abu-Mostafa/d...).
Also Professor Ng's course from Stanford (http://cs.stanford.edu/people/ang/?page_id=22).
Re: the original post IMHO, I find it has many logical flaws and while it is trying to draw attention to the fact that programmers need to learn math it may end up scaring people away.
Background: I have a BS in EE from IIT Bombay, An MS in Applied Math from USC and an almost PhD(everything but thesis) in Pure Math.
I also loved teaching math as a TA and was able to teach engineers multivariable calculus and differential equations so that they lost their fear of it.
But for the last 20 years have been in the database business. I am very enthusiastically returning to math in the form of data science in the last year.
I find that especially today it is necessary for math to be made accessible without having to prove theorems - that's for professional mathematicians.
Programmers use hardware often without knowing diddly-squat about semiconductors. And that's just fine if you don't want to or need to. We drive cars, use mobile phones and all sorts of machinery without needing to know anything about internal combustion or the CDMA algorithms or even how theory of relativity figures into GPS.
I think the insistence on setting a high bar for people to learn/use/apply math is unnecessary mystification and obscurantism.
Math is beautiful, useful and powerful. If you know math you should be wanting to simplify it's teaching and instruction, thinking hard about making it useful for the non-mathematician and also making it easier to access in a breadth-first fashion rather than the depth-first fashion in which it is currently practiced.
I know many people, engineers and mathematicians who believe that simplification is "dumbing down". I disagree vehemently.
Today if you are a programmer and want to learn math I have a few of suggestions
a) If you want to apply it in engineering take a couple of classes on Coursera/Udacity - it will be a slow an steady way to re-activate your math neurons (it's also insurance against Alzheimers to keep learning new and hard stuff).
b) Learn some statistics, learn to use R. (Coursera again)
c) Learn some linear algebra, minimal, then learn MATLAB (Andrew Ng's Machine Learning class on Coursera or a similar one by AbuMustaffa (sp?) of Caltech)
d) If you absolutely don't want to learn a new language then look at Machine Learning by Marsden which uses Python and then pick up NumPy/SciPy and look up the exciting stuff that's happening with the IPython Notebook.
e) If your focus is on pure CS the take the Algorithms track(s) by Roughgarden (Stanford) or Sedgewick (Princeton) on Coursera
This way you dont have the notation issues - R has a syntax, MATLAB has a syntax just learn it. Python hopefully is note even an issue.
Start using your math brain a little at a time - absolutely no proofs required - and THEN once you see the beauty and want to learn more and want to learn why, THEN dig deeper with the fundamentals. If you don't that's fine too - use it, put its power to use and become a better developer and engineer. Math is not trivial but it's not as hard as it's made out to be. There's way too much noise in the channel.
Good luck.
(feel free connect with me on twitter if you want to get more help (@nitin))