Which course for deep learning?

563 Views Asked by At

I'm trying to catch on with or dive into deep learning. Although I'm good in math, and I've had (first year) Calculus and Linear Algebra in university, I've never used it professionally and most is forgotten or deeply burried.

I've tried several things already, and for various reasons had to stop, and now want to make a restart. I've focused on Calculus for now, am halfway with this course. This course is useful but it could be more dense or faster. Slight problem here is that I didn't learn math in English, and many terms are different, so don't ring a bell, but slowly on it starts to make sense.

I've done some "homework", looking for courses, but I'm lost in all the available content. It's quite obvious that I need to freshen up my math. My experience with Python is basic. I haven't used it professionally except for one large script, but I don't think this will be a problem. Then I see that there is a difference between Machine Learning and Deep Learning that's not clear right now.

If needed I'm prepared to pay for a good course. Here's a list of what I've found:

The Udacity course recommends the Khan course Derivatives of multivariable functions. Will the Google Tensorflow course limit me with other tools?

I guess all these courses are created by smart people, set up in a good way. For all courses it seems like I need to do the prerequisites first. It will be a big investment in time, so I want to know the good and the bad, the alternatives, so I can make the right choice for now.

All your feedback and suggestions are welcome!

1

There are 1 best solutions below

1
On BEST ANSWER

Given your prerequisites, here's a basic layout of how you should proceed:


First, you will need multivariate calculus (not just two and three dimensions!), specifically derivatives, and matrix and linear algebra as mathematical prerequisites. Some probability and statistics, especially regression, would be very helpful, but maybe not necessary.


Optional: Before beginning a theoretical undertaking in machine learning, you may wish to gain some intuitive understanding. To this end, the 1st and 3rd courses of the Applied Data Science with Python specialization offered by University of Michigan on Coursera (https://www.coursera.org/specializations/data-science-python) may be worth a skim. In a few days you can get through all the videos and have a basic understanding of how machine learning is used and what the main kinds of algorithms are. The 2nd course is also a good reference for data visualization.


Then, you will need to develop a strong mathematical and theoretical understanding of machine learning. My high recommendations go to Andrew Ng's Stanford lectures + notes and homework (http://cs229.stanford.edu/syllabus.html, https://www.youtube.com/view_play_list?p=A89DCFA6ADACE599). This is all completely free, however I'm not sure if there are available solutions to the homework assignments. Note that I recommend this over Andrew's Coursera course on Machine Learning, which is lacking in the theoretical foundations. This will take you through some heavy math, but if you have those prerequisites I listed, you should be able to pick it up. After completing this course, you will have a strong basis in the fundamentals of machine learning and deep learning (which is a subset of machine learning). However you may feel lacking in practical application (though there is programming involved in this course). This will also likely be the longest task on this list.


I think the best way to get some practical experience is to go out and try making something from scratch. However, if you feel like you have no idea where to start and want a set of courses to guide you, Andrew Ng has a Coursera specialization on Deep Learning (https://www.coursera.org/specializations/deep-learning). This is significantly less intense than the Standford lectures, and some of the material will be a review. However, the main thing to gain from these courses is experience applying the knowledge you have to build neural nets (Course 1), using TensorFlow (Course 2), and understanding the structure of real life projects (Course 3 - very short). The remaining 2 courses may be interesting to you, in which case there's no harm in completing them, but I wouldn't say they're necessary.


At this point, if you haven't built something from the ground up implementing deep learning, do it. And if you have, do it again. This is the main thing that will both solidify your understanding and prove it on your resume. At this point, though, you should have at least implemented many types of machine/deep learning algorithms in isolation, a solid understanding of what makes a complete project, and some ideas of what to make. If you need more ideas, just check YouTube. There are plenty of interesting projects out there implementing deep learning that you can copy or take inspiration from.


I hope this gives you an idea of how to get from where you are now to building a deep learning project from the ground up. Best of luck!