BTW, if you want to audit, you need to search for each course individually (or click seycombi's links above) and click the Enroll button there, there's no Audit option if you click Enroll on the full Specialization.
I love fast.ai's course, but I also appreciate having a solid and thorough free machine learning course. While fast.ai is good for getting onto the cutting edge of deep learning quickly, it doesn't go through a lot of material that most people in the machine learning industry are assumes to know.
I like this pricing model compared to udacity's new nanodegrees. This works better for people who want to rush through the course as quickly as possible. It essentially encourages faster completion.
You pay $49 per month and finish at your own pace. On Udacity you pay a fixed price of approximately $800 per semester with a trial period of 7 days. Since you are paying for the entire course upfront, you might realize after a few weeks that you don't like it. On Coursera, you can stop anytime and you've only paid $49 x number of months you tried.
Interesting, as it used to be the other way around. Udacity charged ~$200/month for a nanodegree (with a 2 drink minimum) and Coursera charged a flat fee (around 600 if I recall correctly) with no deadline for completion.
Udacity has a 50% tuition back policy if you finish < 12 month (very reasonable). I've finished a ND, and asked for my money back (still waiting tough, its a 8 wks standard period )
If you take a Coursera course, be prepared for it being exactly like a university class. About 45 minute of monologue per section, the odd quiz, then 2-3 exams.
From the 4 Coursera courses I've taken, I've gotten some good info, but I learned nothing practical. Udacity on the other hand, has ~5-10 min videos, frequent quizzes and practical projects.
While I have some issues with their deep learning nanodegree, the reviews on class-central are for the standalone course and not for the nanodegree... most students liked the nanodegree
It seems like this course also includes a lot of practical knowledge about deep learning, as it to be expected of Andrew Ng - who is writing the applied book "Machine Learning Yearning"
I've enjoyed the Deep Learning Nanodegree [0]. It is a 6 month survey course of deep learning techniques and applications. Some of the lessons and instructors are better than others but overall the content and projects have been good.
This course is not to be confused with the one-off deep learning course they offer [1], which I have not taken but have heard is not as good.
I signed up for this, but didn't realize that they pull access to course material if you don't complete on their timeline. I asked for a refund because of this and they refused.
so you thought of quitting a course even though they gave us 6 months to finish it?
their approach is good to ensure people follow deadlines just like you would have in a school/college setting because that causes maxomim graduation rates
Very interested in taking a course, but there are so many offerings available. I have high level ML understanding from classes I took in college, but wanted to dive deeper into it.
The fast.ai course does what it says on the tin: it's a practical approach to deep learning. I know I'm being lame by copying their tagline, but it really does just that: it has a no-frills approach to _applying_ deep learning. What you'll see:
* How to build and train a convnet
* What transfer learning entails
* How to build and train an LSTM
* How to build and train a 'vanilla' neural net
What you won't be covering:
* The difference between ADAM and EVE optimizers
* The mathematics behind backpropagation
* The mathematical 'theory' behind 'exploding gradients'
In brief: fast.ai is all about having coders get started with deep learning ASAP. If you have theoretical questions, the answer will usually be a one-liner, along with "but that's out of scope for this class".
I loved it to pieces, I think it's fantastic and a must-do if you've got any Python affinity. You would not believe what you, a run-off-the-mill programmer, have as a power when it comes to getting ConvNets/Nnets/LSTMs do. You can really build powerful, (almost) Google service level stuff.
fast.ai is probably the best MOOC I've ever followed. As its name says, it is "for coders" and 100% applied. It is perfect for getting started, quickly.
Please read this blog post, in particular regarding the comment on "Hacker News contributors regularly give such awful advice on machine learning".
I'm glad these courses use python. I had a lot of trouble with Ng's machine learning course because I was trying to learn MATLAB language, remember long disused linear algebra, and trying understand the substance of the lessons all at the same time.
It's worth considering the choice of Octave in context. The first time Machine Learning was a full blown MOOC offering was in 2011, [1] predating the founding of Coursera. My impression is that even as far back as 2011, Ng's class was adapted from an existing syllabus.
Unlike today, Python was not an obvious choice. In no small part because arguments that it was not fast enough for numerical calculations (right or wrong) held much more sway. In no small part (and as Ng mentions when explaining why Octave was used in the course lectures) because people will always argue over choice of programming language (perhaps the parent comment is a mild example). Pedagogically, using a 'big' language like Octave avoids getting bogged down in the sausage factory of modules and imports and namespaces and objects and list comprehensions and differences between the two major versions of Python and documentation rot associated with all the minor versions of the Pythons when it comes to examples.
In terms of learning Octave, it's not really significantly more or less knowledge than learning NumPy would have been. Irrespective of language the number of functions/methods necessary to manipulate matrices is pretty much constant...or as I heard someone say once, J has about the same number of language primitives as there are methods in Ruby's array libraries. Anyone starting from scratch will have two things to learn.
Maybe I unknowingly stepped into some long standing debate?
I'm not saying it was an obviously terrible choice and how could he have made it. I'm saying it made the course more difficult and less rewarding for me.
IIRC, Ng explicitly mentioned that he taught the course in a few languages over the years (Python, Matlab, R, Octave), and he got the best results with Octave because of how simple the language is and how much is built in.
Yeah I have nothing against algebra or math, I like math, and I know some algebra, but he was constantly using mathematical notation instead of algorithms. It was not accessible.
I got into many arguments about how computer science is math and so on, but machine learning is a set of techniques, there is no need for it to use math when it's not really needed.
So I gave up. I did not even manage to properly understand his explanation of linear regression, as I would have liked to implement my own. When I look online it's a myriad of equations, and no pseudo code.
I love mathematics, but when I'm programming I really prefer to use data, and not math.
While that approach might help you understand how to code a technique, it doesn't do much to teach you to evaluate when and why to use a technique. You can read a bunch of tips on when to use something, but simply remembering these "facts" rather than being able to relate them from first principles is not efficient.
Granted after you understand the math, you no longer need an equation, but simply a mental picture of what is going on (for example, I remember linear regression with projection of data onto a line or plane).
After you have a good foundation, I found often-times you can then ignore the details of equations and see the relevant parts (different forms of Bayes rule, projections, chain-rule, etc) and arrive at the general idea of a technique.
The interesting and hard part is understanding the technique, and I think that is probably the most bang for your bucks, as I assume you are proficient in programming already.
Instead of giving up you should push through that. Use what you know to get familiar with what you don't, rather than asking for things to be made accessible to you. Math is much older and bigger than computer science and refusing to learn it is over-specialization.
Well if it's derived from math, give the techniques, not the math.
I don't care if it's accessible for me or not, it seems the guy is saying ML is the new electricity, lowering the bar won't only benefit me, but many other people who know programming and don't benefit from knowing the math.
Just my opinion. Many people and hackers learn by practice, not by theory.
We need both electrical engineers and licensed electricians. If you want to be an electrician, don't sign up for an engineering class taught by a pioneer in the field of electricity and then complain that there is too much theory. Coding bootcamps and vocational schools already exist to meet the needs of those who only want to be practitioners.
Everyone learns by practice, but that applies to math just as well as programming. If you don't practice it, you won't learn it.
> Everyone learns by practice, but that applies to math just as well as programming. If you don't practice it, you won't learn it.
I don't see machine learning as a theoretical field of math, I see machine learning as a set of tools.
To me computers are the tool you use to practice math, and you don't really need to use mathematical notation anymore, unless you really dive into a very abstract subject. ML consists of applied methods. I don't think people want to learn the theory of machine learning, they just want to know the methods that works now, and maybe dive into more complex stuff later.
I was actually disappointed that there was not enough mathematical discourse in the course. He would mostly present you a formula without going much into details on how it was derived. It does make sense though that he dumbed down mathematical bits to fit a more applied purpose of the course.
I disagree. I felt the language was very simple and easy to learn, and after the first exercise it was natural to use. Considering the course was very mathematical, the language was a perfect choice.
My impression was that the language was "too natural". I mean Octave notation is so similar to mathematical notation that many exercises could be solved by just typing a formula from lecture almost 1:1. Plus, learning Python and things like NumPy or Pandas would be beneficial on its own rights.
Also, IMO the implementation is not the core focus of the course. The key ideas are in the equations, and hopefully implementing them helps you understand the intuition behind those equations.
I disagree as well. I took the ML course a long time ago and now I can't remember anything about Octave but still remember those key ideas and algorithms taught in the course. That's the point.
I'm finally getting around to taking this course. I too find Octave to be a bit weird, so I'm a little behind on the programming assignments. However, I'm looking forward to getting comfortable with a different way of programming.
Everything I've read about the course suggests that the programming assignments are actually pretty easy. Hopefully I'll reinforce, rather than confuse the core concepts in translating them to this unfamiliar language.
My experience (Fall 2011) is that I didn't really get much ML education out of it because 90% of the coursework was "translate this textbook equation into Matlab".
So awesome. I just completed Andrew's excellent 2011 Machine Learning coursera course, and was looking where to go next. I am trying to go through the courses on fast.ai, but I don't enjoy them nearly as much compared to Andrew's teaching style and structure. Will be signing up for this!
After having taken Udacity's ND, the only way I would consider taking this course is if they go in-depth with the theory so that I can clear interviews and work on projects from scratch. There's just too many resources for DL now. It's getting ridiculous. Had Udacity gone in better details with their ND I would glady have paid double for them.
Coursera does not having proper support systems like good quality forums/any mentorship/project reviews. Although, been a while since I took a Coursera specialization, would rate Udacity higher on that front even though their ND was too basic (I can't even talk about what I did in a project clearly because of so much lack of stuff).
Now alongside Udacity, another set of classes with certificates - does anyone know if they hold any value to prospective employers? Last I've heard was that a recent PhD in ML was a must.
I manage a data science team and the courses aren't valuable in and of themselves. I need to see that you've actually used the principles from them on interesting projects that we could utilize for our company -- projects either in your own work or pet projects that you've done completely yourself.
"Sure they do. It's not a free pass but it is very very very helpful to have a strong foundation in classic ML and statistics."
I think the poster was asking specifically about the credentials of the course, not taking the course itself. And I'd argue that it's probably not that interesting to most prospective employers, since they'll care more about things you've actually accomplished (example projects, etc).
> Last I've heard was that a recent PhD in ML was a must.
Nope, personally know a lot of people who work in Machine Learning roles at the big 5 companies without a PhD.
Although specifically they did not have any of these courses on their resume. They did however have various ML projects which these courses can lead to.
Latently (SUS17) also provides a more self-directed path to learning deep learning focused exclusively on implementing research papers and conducting original research: https://github.com/Latently/DeepLearningCertificate
The wording in the linked GitHub page makes it sound like you are looking for people that are already ML practitioners. Are you able to support developers with no ML background that are interested in making a career change?
I hope that AI scientists will one day solve the problems with message forums. Message forums aren't designed to engage this many people. A popular MOOC gets tens of thousands of daily posts from students.
Maybe Andrew will make a practical class project out of trying to improve mass-collaboration using his MOOC as the test subject?
Seems like the first three courses are opening on August 15th (but you can already preview the first week), the other two do not seem to have a start date available yet.
So it appears, that you can still take this course for free, and you only get a "digital certificate" of dubious value if you purchase the course. Am I missing something here?
How about this 7-day "trial"? all those courses seem pretty short (estimated 5 courses x 3 weeks x 4 hours = 60 hours), so if you do them full time and manage to finish within that 7-day trial would you receive certificate for free?
"Programming (expected): intermediate Python programming skills: work effectively with loops, control flows, data structures, files, functions and OO programming. Prior experience with PyData libraries is also recommended (e.g. Numpy, Pandas, Matplotlib)Mathematics (recommended): Matrix vector operations and notation.
Machine Learning (recommended): understand how to frame a machine learning problem including how data is represented, how models are evaluated on the task and against each other, and how to optimize model performance for the best evaluation."
Programming (expected): intermediate Python programming skills: work effectively with loops, control flows, data structures, files, functions and OO programming. Prior experience with PyData libraries is also recommended (e.g. Numpy, Pandas, Matplotlib)Mathematics (recommended): Matrix vector operations and notation.
Machine Learning (recommended): understand how to frame a machine learning problem including how data is represented, how models are evaluated on the task and against each other, and how to optimize model performance for the best evaluation."
This is described as a beginner specialization, so you're probably fine if you're comfortable with Python and have a passing familiarity with linear algebra.
The older machine learning class alone is eleven weeks, compared to nine weeks for the first three classes of this specialization. You might consider going through the first four weeks of that class, which lays the foundation for neural networks by introducing linear and logistic regression.
Transition to python is a great improvement! Took his previous course but the MATLAB part of it was no fun and virtually guaranteed that my work would be hard to implement in any real job setting. His advocacy of Octave probably predated quite a few of the python libraries that have since arrived.
I took his course up until the back propagation lesson and then lost interest. Credit to him as a teacher though because the basic of ML are still with me. I just didn't have any interest in going very deep with it.
I was only making an honest observation. It's amazing that, whenever one makes an observation that could be construed as detracting, your observation gets moderated downward. That's sad.
Anyway, audited the first class and think it's a wonderful product. However, my observation about this "seeming like product marketing" stands. Mod me down again, I suppose.
AUDIT MODE: http://image.ibb.co/iwm0xF/ng.png
The deep-learning course consist of 5 subcourses:
https://www.coursera.org/learn/neural-networks-deep-learning
https://www.coursera.org/learn/deep-neural-network
https://www.coursera.org/learn/machine-learning-projects
https://www.coursera.org/learn/convolutional-neural-networks
https://www.coursera.org/learn/nlp-sequence-models
The deep-learning course is a different course than the prerequisite machine-learning course:
https://www.coursera.org/learn/machine-learning