Top 5 Machine Learning Courses for 2019LearnDataSciBlockedUnblockFollowFollowingFeb 25With strong roots in statistics, Machine Learning is becoming one of the most interesting and fast-paced computer science fields to work in.
There’s an endless supply of industries and applications machine learning can be applied to to make them more efficient and intelligent.
Chat bots, spam filtering, ad serving, search engines, and fraud detection, are among just a few examples of how machine learning models underpin everyday life.
Machine learning is what lets us find patterns and create mathematical models for things that would sometimes be impossible for humans to do.
Unlike data science courses, which contain topics like exploratory data analysis, statistics, communication, and visualization techniques, machine learning courses focus on teaching only the machine learning algorithms, how they work mathematically, and how to utilize them in a programming language.
Now, it’s time to get started.
Here’s a quick recap of the top five machine learning courses this year.
TL;DRThe best five machine learning courses:Machine Learning — CourseraDeep Learning Specialization — CourseraMachine Learning with Python — CourseraAdvanced Machine Learning Specialization — CourseraMachine Learning — EdXWhat makes a really good machine learning course?After several years of following the e-learning landscape and enrolling in countless machine learning courses from various platforms, like Coursera, Edx, Udemy, Udacity, and DataCamp, I’ve collected the best machine learning courses currently available.
CriteriaEach course in the list is subject to the following criteria.
The course should:Strictly focus on machine learningUse free, open-source programming languages, namely Python, R, or OctaveUse free, open-source libraries for those languages.
Some instructors and providers use commercial packages, so these courses are removed from consideration.
Contain programming assignments for practice and hands-on experienceExplain how the algorithms work mathematicallyBe self-paced, on-demand or available every month or soHave engaging instructors and interesting lecturesHave above average ratings and reviews from various aggregators and forumsWith that, the overall pool of courses gets culled down quickly, but the goal is to help you decide on a course that’s worth your time and energy.
To immerse yourself and learn ML as fast and comprehensively as possible, I believe you should also seek out various books in addition to your online learning.
Below are two books that made a big impact to my learning experience, and remain at an arm’s length at all times.
Two Excellent Book CompanionsIn addition to taking any of the video courses below, if you’re fairly new to machine learning you should consider reading the following books:Introduction to Statistical Learning, which is also available for Free online.
This book has incredibly clear and straightforward explanations and examples to boost your overall mathematical intuition for many of the fundamental machine learning techniques.
This book is more on the theory side of things, but it does contain many exercises and examples using the R programming language.
Hands-On Machine Learning with Scikit-Learn and TensorFlow, also available through a Safari subscriptionA good complement to the previous book since this text focuses more on the application of machine learning using Python.
Together with any of the courses below, this book will reinforce your programming skills and show you how to apply machine learning to projects immediately.
Now, let’s get to the course descriptions and reviews.
#1 Machine Learning — CourseraThis is the course for which all other machine learning courses are judged.
The teacher and creator of this course for beginners is Andrew Ng, a Stanford professor, co-founder of Google Brain, co-founder of Coursera, and the VP that grew Baidu’s AI team to thousands of scientists.
The course uses the open-source programming language Octave instead of Python or R for the assignments.
This might be a deal-breaker for some, but if you’re a complete beginner, Octave is actually a simple way to learn the fundamentals of ML.
Overall, the course material is extremely well-rounded and intuitively articulated by Ng.
All of the math required to understand each algorithm is completely explained, with some calculus explanations and a refresher for Linear Algebra.
The course is fairly self-contained, but some knowledge of Linear Algebra beforehand would definitely help.
Provider: Andrew Ng, StanfordCost: Free to audit, $79 for CertificateCourse structure:Linear Regression with One VariableLinear Algebra ReviewLinear Regression with Multiple VariablesOctave/Matlab TutorialLogistic RegressionRegularizationNeural Networks: RepresentationNeural Networks: LearningAdvice for Applying Machine LearningMachine Learning System DesignSupport Vector MachinesDimensionality ReductionAnomaly DetectionRecommender SystemsLarge Scale Machine LearningApplication Example: Photo OCRAll of this is covered over eleven weeks.
If you can commit to completing the whole course, you’ll have a good base knowledge of machine learning in about four months.
After that, you can comfortably move on to a more advanced or specialized topic, like Deep Learning, ML Engineering, or anything else that piques your interest.
This is undoubtedly the best course to start with as newcomer.
#2 Deep Learning Specialization — CourseraAlso taught by Andrew Ng, this specialization is a more advanced course series for anyone interested in learning about neural networks and Deep Learning, and how they solve many problems.
The assignments and lectures in each course utilize the Python programming language and use the TensorFlow library for neural networks.
This is naturally a great follow up to Ng’s Machine Learning course since you’ll receive a similar lecture style but now will be exposed to using Python for machine learning.
Provider: Andrew Ng, deeplearning.
aiCost: Free to audit, $49/month for CertificateCourses:Neural Networks and Deep LearningIntroduction to Deep LearningNeural Network BasicsShallow Neural NetworksDeep Neural Networks2.
Improving Neural Networks: Hyperparameter Tuning, Regularization, and OptimizationPractical Aspects of Deep LearningOptimization AlgorithmsHyperparameter Tuning, Batch Normalization and Programming Frameworks3.
Structuring Machine Learning ProjectsML Strategy (1)ML Strategy (2)4.
Convolutional Neural NetworksFoundations of Convolutional Neural NetworksDeep Convolutional Models: Case StudiesObject DetectionSpecial Applications: Face Recognition and Neural Style Transfer5.
Sequence ModelsRecurrent Neural NetworksNatural Language Processing and Word EmbeddingsSequence Models and Attention MechanismIn order to understand the algorithms presented in this course, you should already be familiar with Linear Algebra and machine learning in general.
If you need some suggestions for where to pick up the math required, see the Learning Guide towards the end of this article.
#3 Machine Learning with Python — CourseraAnother beginner course, this one focuses solely on the most fundamental machine learning algorithms.
The instructor, slide animations, and explanation of the algorithms combine very nicely to give you an intuitive feel for the basics.
This course uses Python and is somewhat lighter on the mathematics behind the algorithms.
With each module you’ll get a chance to spool up an interactive Jupyter notebook in your browser to work through the new concepts you just learned.
Each notebook reinforces your knowledge and gives you concrete instructions for using an algorithm on real data.
Provider: IBM, Cognitive ClassPrice: Free to audit, $39/month for CertificateCourse structure:Intro to Machine LearningRegressionClassificationClusteringRecommender SystemsFinal ProjectOne of the best things about this course is the practical advice given for each algorithm.
When introduced to a new algorithm, the instructor provides you with how it works, its pros and cons, and what sort of situations you should use it in.
These points are often left out of other courses and this information is important for new learners to understand the broader context.
#4 Advanced Machine Learning Specialization — CourseraThis is another advanced series of courses that casts a very wide net.
If you have an interest in covering as many machine learning techniques as possible, this Specialization the key to a balanced and extensive online curriculum.
The instruction in this course is fantastic: extremely well-presented and concise.
Due to its advanced nature, you will need more math than any of the other courses listed so far.
If you have already taken a beginner course and brushed up on linear algebra and calculus, this is a good choice to fill out the rest of your machine learning expertise.
Much of what’s covered in this Specialization is pivotal to many machine learning projects.
Provider: National Research University Higher School of EconomicsCost: Free to audit, $49/month for CertificateCourses:Introduction to Deep LearningIntro to OptimizationIntro to Neural NetworksDeep Learning for ImagesUnsupervised Representation LearningDee Learning for SequencesFinal Project2.
How to Win Data Science Competitions: Learn from Top KagglersIntro and RecapFeature Processing and Generation with Respect to ModelsFinal Project DescriptionExploratory Data AnalysisValidationData LeakagesMetrics OptimizationAdvanced Feature Engineering 1Hyperparameter OptimizationAdvanced Feature Engineering 2EnsemblingCompetitions Go ThroughFinal Project3.
Bayesian Methods for Machine LearningIntro to Bayesian Methods and Conjugate PriorsExpectation-Maximization AlgorithmVariational Inference and Latent Dirichlet Allocation (LDA)Markov Chain Monte CarloVariational AutoencoderGaussian Processes and Bayesian OptimizationFinal Project4.
Practical Reinforcement LearningIntro: Why Should I Care?At the Heart of RL: Dynamic ProgrammingModel-Free MethodsApproximate Value Based MethodsPolicy-based MethodsExploration5.
Deep Learning in Computer VisionIntro to Image Processing and Computer VisionConvolutional Features for Visual RecognitionObject DetectionObject Tracking and Action RecognitionImage Segmentation and Synthesis6.
Natural Language ProcessingIntro and Text ClassificationLanguage Modeling and Sequence TaggingVector Space Models of SemanticsSequence to Sequence TasksDialog Systems7.
Addressing the Large Hadron Collider Challenges by Machine LearningIntro to Particle Physics for Data ScientistsParticle IdentificationSearch for New Physics in Rare DecaysSearch for Dark Matter Hints with Machine Learning at New CERN ExperimentDetector OptimizationIt takes about 8–10 months to complete this series of courses, so if you start today, in a little under a year you’ll have learned a massive amount of machine learning and be able to start tackling more cutting-edge applications.
Throughout the months, you will also be creating several real projects that result in a computer learning how to read, see, and play.
These projects will be great candidates for your portfolio and will result in your GitHub looking very active to any interested employers.
#5 Machine Learning — EdXThis is an advanced course that has the highest math prerequisite out of any other course in this list.
You’ll need a very firm grasp of Linear Algebra, Calculus, Probability, and programming.
The course has interesting programming assignments in either Python or Octave, but the course doesn’t teach either language.
One of the biggest differences with this course is the coverage of the probabilistic approach to machine learning.
If you’ve been interested in reading a textbook, like Machine Learning: A Probabilistic Perspective — which is one of the most recommended data science books in Master’s programs — then this course would be a fantastic complement.
Provider: ColumbiaCost: Free to audit, $300 for CertificateCourse structure:Maximum Likelihood Estimation, Linear Regression, Least SquaresRidge Regression, Bias-Variance, Bayes Rule, Maximum a Posteriori InferenceNearest Neighbor Classification, Bayes Classifiers, Linear Classifiers, PerceptronLogistic Regression, Laplace Approximation, Kernel Methods, Gaussian ProcessesMaximum Margin, Support Vector Machines (SVM), Trees, Random Forests, BoostingClustering, K-Means, EM Algorithm, Missing DataMixtures of Gaussians, Matrix FactorizationNon-Negative Matrix Factorization, Latent Factor Models, PCA and VariationsMarkov Models, Hidden Markov ModelsContinuous State-space Models, Association AnalysisModel Selection, Next StepsMuch of the topics in the curriculum are covered in other courses aimed at beginners, but the math isn’t watered down here.
If you’ve already learned these techniques, are interested in going deeper into the mathematics, and want to work on programming assignments that actually derive some of the algorithms, then give this course a shot.
Learning GuideNow that you’ve seen the course recommendations, here’s a quick guide for your learning machine learning journey.
First, we’ll touch on the prerequisites for most machine learning courses.
Course PrerequisitesMore advanced courses will require the following knowledge before starting:Linear AlgebraProbabilityCalculusProgrammingThese are the general components of being able to understand how machine learning works under the hood.
Many beginner courses usually ask for at least some programming and familiarity with linear algebra basics, such as vectors, matrices, and their notation.
The first course in this list, Machine Learning by Andrew Ng, contains refreshers on most of the math you’ll need, but if you haven’t taken Linear Algebra before, it might be difficult to learn machine learning and Linear Algebra at the same time.
If you need to brush up on the math required, check out:I’d recommend learning Python since the majority of good ML courses use Python.
If you take Andrew Ng’s Machine Learning course, which uses Octave, you should learn Python either during the course or after since you’ll need it eventually.
Additionally, another great Python resource is dataquest.
io, which has a bunch of free Python lessons in their interactive browser environment.
After learning the prerequisite essentials, you can start to really understand how the algorithms work.
Fundamental AlgorithmsThere’s a base set of algorithms in machine learning that everyone should be familiar with and have experience using.
These are:Linear RegressionLogistic Regressionk-Means Clusteringk-Nearest NeighborsSupport Vector Machines (SVM)Decision TreesRandom ForestsNaive BayesThese are the essentials, but there’s many, many more.
The courses listed above contain essentially all of these with some variation.
Understanding how these techniques work and when to use them will be extremely important when taking on new projects.
After the basics, some more advanced techniques to learn would be:EnsemblesBoostingDimensionality ReductionReinforcement LearningNeural Networks and Deep LearningThis is just a start, but these algorithms are usually what you see in the most interesting machine learning solutions, and they’re effective additions to your toolbox.
And just like the basic techniques, with each new tool you learn you should make it a habit to apply it to a project immediately to solidify your understanding and have something to go back to when in need of a refresher.
Tackle a ProjectLearning machine learning online is challenging and extremely rewarding.
It’s important to remember that just watching videos and taking quizzes doesn’t mean you’re really learning the material.
You’ll learn even more if you have a side project you’re working on that uses different data and has different objectives than the course itself.
As soon as you start learning the basics, you should look for interesting data that you can apply those new skills to.
The courses above will give you some intuition on when to apply certain algorithms, and so it’s a good practice to immediately apply them in a project of your own.
Through trial and error, exploration and feedback, you’ll discover how to experiment with different techniques, how to measure results, and how to classify or make predictions.
For some inspiration on what kind of ML project to take on, see this list of examples.
Tackling projects gives you a better high-level understanding of the machine learning landscape, and as you get into more advanced concepts, like Deep Learning, there’s virtually an unlimited number of techniques and methods to understand and work with.
Read New ResearchMachine learning is a rapidly developing field where new techniques and applications come out daily.
Once you’re passed the fundamentals, you should be equipped to work through some research papers on a topic you’re interested in.
There’s several websites to get notified about new papers matching your criteria.
Google Scholar is always a good place to start.
Enter keywords like “machine learning” and “twitter”, or whatever else you’re interested in, and hit the little “Create Alert” link on the left to get emails.
Make it a weekly habit to read those alerts, scan through papers to see if their worth reading, and then commit to understanding what’s going on.
If it has to do with a project you’re working on, see if you can apply the techniques to your own problem.
Wrapping UpMachine learning is incredibly fun and interesting to learn and experiment with, and I hope you found a course above that fits your own journey into this exciting field.
Machine learning makes up one component of Data Science, and if you’re also interested in learning about statistics, visualization, data analysis, and more, be sure to check out the top data science courses, which is a guide that follow a similar format to this one.
Lastly, if you have any questions or suggestions, feel free to leave them in the comments below.
Thanks for reading and have fun learning!Originally published at learndatasci.