You can't help but notice the surge of interest in anything to do with machine learning. Now Google has launched a series of videos presenting machine learning recipes. And this adds to an existing heap of resources.
AlphaGo's historic victory against the Korean Go champion Lee Sedol has had consequences. One is a worldwide shortage of Go boards due to an upsurge of interest in the game, which is recognized as the most difficult to play. Another is that we all want to get involved with machine learning, amplifying a trend that has already been evident for a couple of years.
The latest way to gain some insight into what machine learning does and how you can use it comes from Josh Gordon, who presents a series of short (7 minutes) videos that aim to get you started with machine learning using two open source libraries, scikit-learn and TensorFlow, which Google open sourced having developed it in-house.
As yet there are only two episodes of the series available. In the first Josh briefly outlines what machine learning is and why its important. Describing it as a sub-field of artificial intelligence, he states:
"It's the study of algorithms that learn from examples and experience instead of relying on hard-codeed rules."
For the simple example to get started he goes on to discuss the problem of writing a program that could tell the difference between apples and oranges and then presents a recipe for supervised learning using a decision tree to create a classifier from examples which is coded in just six lines of Python with the help of scikit-learn.
Scikit is used again in the second lecture where he walks you through build and visualizing a decision tree using a real dataset - the classic Fisher's Iris Data:
These videos, more of which will be posted on YouTube, are not intended to teach machine learning algorithms - they are about applying them following its recipes. However there's plenty more online if you do want to know more.
On the Udacity platform you'll find another Google offering - a free 4-lesson course focusing on TensorFlow for Deep Learning from Vincent Vanhoucke, Principal Scientist at Google, and technical lead in the Google Brain team. It is recommended that you already have some understanding of machine learning prior to tackling this course and for this there's another free course on Udacity - Intro to Machine Learning, the pre-requisite for which is some Python and quite a lot of maths. This course, like the Google videos above, uses scikit-learn.
Udacity's Nanodegrees are intended to achieve job readiness which translates into an emphasis on understanding and using the tools required. This point is echoed in a 4/5 star review of Intro to Machine Learning provided on Course Talk by its most helpful reviewer Greg Hamel - a student who has submitted 114 course reviews having completed 105 courses with the majority being on Computer Science and related topics. He says:
Intro to Machine Learning is an accessible first course in machine learning that prioritizes breadth, high level understanding and practical tools over depth and theory. You won't be an expert in any of the topics covered in this course by the time you're done, but you'll have a good foundation to build upon. If you are interested taking a similar course with many interesting mini projects that uses the R programming language, try MIT's Analytics Edge on edX. Coursera's Machine Learning with Andrew Ng is a logical next step to dig deeper into machine learning algorithm design and implementation, while Caltech's Learning from Data on edX is a great course if you are interested in machine learning theory.
In his review of Deep Learning he awards only 2 stars explaining:
Deep Learning is a shallow course that is akin to reading CliffsNotes instead of a textbook: you'll learn some terminology and be exposed to some interesting concepts but its abbreviated coverage is likely to confuse students who are new to neural networks while leaving more experienced students unsatisfied. This course seems like a rushed attempt to capitalize on the hottest buzzword in the hottest tech industry, which is a shame because it could have been a good course if it took the time to cover the topics in adequate detail. I give Deep Learning 2 out of 5 stars: Disappointing. *If you're interested in learning about the topics this course introduces in much more depth, check out the video lectures and course materials for CS231n, a deep learning course focused on image recognition offered by Stanford.
an excellent introduction to regression that covers several key machine learning algorithms while building understanding of fundamental machine learning concepts that extend beyond regression. If you have any interest in regression and have an environment that can run GraphLab, take this course.
He is almost as positive about the initial course in the Coursera specialization, which he says:
provides a broad overview of key areas in machine learning, including regression, classification, clustering , recommender systems and deep learning, using short programming case studies as examples. The course assumes basic Python programming skills and it uses a software package called GraphLab that requires a 64-bit operating system running Python 2.7.
The need to run GraphLab, which isn't open source, has led to some criticism from students but Greg's opinion is that
it is useful to be exposed to new tools and GraphLab seems cleaner than Python’s popular scikit-learn package.
His conclusion is:
What the professors lack in terms of polish they make up for with enthusiasm. Compatibility and setup issues will be a roadblock for some, but overcoming them is worth it. I give Machine Learning Foundations: A Case Study Approach 4.5 out of 5 stars: Great.
The overall student rating for Andrew Ng's Machine Learning, which started again this week is 4.9 out of 5 on the basis of 15,761 ratings. It currently ranks in second place on the list of The 50 Most Popular MOOCs of All Time having had 1122031 enrollments.
Having restarted on April 18th it is now on Coursera's new, more interactive platform, which in future will not be issuing certificates for individual courses, only for multi-course specializations. A notice on the Machine Learning page states:
May 31st is the last date for purchasing a certificate, after which the course will be offered without a certificate option. As long as you purchase the certificate before May 31st, you can complete the course any time and earn the certificate.
This is a classic MOOC and possessing a certificate for it may well be something you don't want to miss out on. The I Programmer team members who took the course, and earned their certificates when they were still free, can recommend the course content as being highly satisfying and a great way to gain an understanding of practical machine learning.