AUDIT MODE: http://image.ibb.co/iwm0xF/ng.png
The deep-learning course consist of 5 subcourses:
The deep-learning course is a different course than the prerequisite machine-learning course:
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.
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.
Just take a look at Udacity's deep learning reviews @ class-central.com
This course is not to be confused with the one-off deep learning course they offer , which I have not taken but have heard is not as good.
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
It's all good though -- their chargeback rate is going up, hehe.
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.
* 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.
But it's not very detailed on theory.
I can vouch for fast.ai though. They're the best if you're just starting.
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".
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.
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.
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.
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.
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.
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.
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.
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.
But how will cheaters rationalize violating the honor code now?
Also, link to Andrew Ng's original ML class: https://www.coursera.org/learn/machine-learning
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).
Let's see how this specialization holds up.
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.
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.
> Last I've heard was that a recent PhD in ML was a must.
Not really unless you are looking to jump into a pure research lab. Generally you need publications in the field.
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).
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.
Maybe Andrew will make a practical class project out of trying to improve mass-collaboration using his MOOC as the test subject?
"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."
What background knowledge is necessary?
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.
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.
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.