You are here
Home > News > Five steps for getting started in machine learning: Top data scientists share their tips

Five steps for getting started in machine learning: Top data scientists share their tips

Click here to view original web page at

This device is unable to play the requested video.

If you want to carve out a career in machine learning then knowing where to start can be daunting.

Not only is the technology built on college-level math, jobs in the field typically ask for a Master's degree in a related technical field.

Yet if you're willing to work at it, it's never been easier to learn about machine learning, and getting started doesn't even require much mathematical knowledge.

Here's five tips for breaking into the field from senior data scientists and machine-learning engineers, speaking to TechRepublic at the AI Conference presented by O'Reilly and Intel AI.

Learning programming is a more important first step than learning math

If you plan to start tweaking the machine-learning models used then you'll need need a reasonably deep knowledge of math, spanning linear algebra, calculus and statistics.

SEE: IT leader's guide to deep learning (Tech Pro Research)

But for beginners to the field, learning the basics of programming and getting to grips with a language like Python, commonly used for machine-learning tasks, is more important, says Peter Cahill, founder and CEO of voice-interface specialist Voysis.

"If someone has programming fundamentals then, from a technical point of view, I think that's enough for them to dive into machine learning," he says.

"You're not gonna get very far if you can't program at all, because that's ultimately how you configure the machine-learning frameworks is through programming.

"I think strong math was probably more essential before than it is now. It's certainly helpful to have mathematical knowledge if you want to develop custom layers or if you're really going very, very deep on a problem. But for people starting out, it's not critical."

In some respects, it's just as important to have a willingness to seek out new information, says Yangqing Jia, director of engineering at Facebook.

"As long as you keep an exploratory mindset there's such an abundance of tools nowadays you'll be able to learn a lot of things yourself, and you have to learn things yourself because the field is growing really fast."

Learn the major machine-learning software frameworks

There are a wide range of machine-learning software frameworks, which allow users to design, train and validate neural networks — the brain-inspired mathematical models commonly used in machine learning — using a range of different programming languages.

"I think at this point we have tools that allow people to use machine learning quite easily," said Ben Lorica, chief data scientist at O'Reilly Media.

"By easily I mean if you have some programming skills, for example in Python, if you look [back to] several years ago, particularly in deep learning, the frameworks were still a little harder to use, now they're getting easier."

A popular choice is Google's TensorFlow software library, which allows users to write in Python, Java, C++, and Swift, and that can be used for a wide range of deep-learning tasks, such as image and speech recognition, and which executes on a wide range of CPUs, GPUs, and other processors. It is well-documented, and has many tutorials and implemented models that are available.

Another popular choice, especially for beginners, is PyTorch, a framework that can be used with the imperative programming model familiar to developers and allows developers to use standard Python statements. It works with deep neural networks ranging from Convolutional Neural Networks (CNNs) to Recurrent Neural Networks (RNNs) and runs efficiently on GPUs.

Facebook's Jia — who created the Caffe framework — suggests PyTorch or Tensorflow as being among the range of "really nice frameworks that it's good to start with", due to the breadth of tutorials and extensive documentation available.

Ashok Srivastava, chief data officer at Intuit, recommends using these frameworks alongside some of the publicly available datasets, such as ImageNet or MS COCO for image recognition or the more general UC Irvine Machine Learning Repository, which covers a wide range of areas.

Among the broad range of other frameworks available are Microsoft's Cognitive Toolkit, MATLAB, MXNet, Chainer, and Keras.

Use on-demand infrastructure for machine learning

While building your own machine-learning rig may be sensible for long-term cost savings, initially it will be easier to spin up some of machine-learning tailored infrastructure on a public cloud platform, according to Facebook's Jia.

"I'd probably start with available open-source tools in cloud offerings because sometimes it's really difficult to build an environment from scratch," he said.

"On the system side there is Docker, Kubernetes, and all kinds of virtualization approaches that provide you a pre-set environment, even on your desktop, [for example], Docker installs some pre-made images for all those AI systems. It's a pretty good [place to] start."

Virtual machines with underlying ML accelerators are available via each of the major cloud providers, including AWS, Google Cloud, and Microsoft Azure. Each also offers automated systems that streamline the process of training a machine-learning model with offerings such as drag-and-drop tools, including Microsoft's Machine Learning Studio, Google's Cloud AutoML and AWS SageMaker.

"Spend time on your problems and less time on your tooling, which has become really well constructed after maybe five years of development in the deep-learning field," said Jia.

Cut your teeth on the high quality tutorials and challenges available online

If you're interested in machine learning there's no shortage of highly regarded courses, tutorials and books available, some put together by leading figures in the field.

For example, you could check out these Coursera offerings, one by Geoff Hinton on neural networks and another co-created by Andrew Ng that provides a general overview of the topic, while this Udacity course was co-created by Sebastian Thrun, of Google self-driving car fame, and provides access to experts from OpenAI, Google Brain, and DeepMind.

Beyond these tutorials, you can also try your hand at implementing machine-learning models for one of the variety of contests held by the data science community hub Kaggle.

"Start by looking to the well-established tutorials. For example, in computer vision there's one pretty good one, and also try out a bunch of Kaggle challenges," said Jia.

"You can basically get a taste of what kind of problems people are solving and also how the existing folks are actually solving problems, and [then] internalize that knowledge and start applying those principles to a whole new set of problems."

Intuit's Srivastava described the breadth of materials available online for learning about machine learning as one of the most exciting aspects of the field.

Move on to real-world placements when you're ready

Once you understand the fundamentals of the field, O'Reilly Media's Lorica says it is important to demonstrate your ability to apply that knowledge in the real world.

"The main challenge for people is to go beyond working on toy examples to working on actual data projects from end-to-end," he says.

Those real-life projects could be internships or one of the many fellowships available worldwide, he added, such as the 10-week placement offered by ASI Data Science in London.

"The emphasis here is that they pair you with a company who has a real project and then you're mentored by someone in the organization and you work through a project.

"The key is you can learn a lot on your own, but it's really important working with data and learning the pitfalls, the gotchas and limitations of all these algorithms."

This real-world experience teaches the nitty gritty of the machine-learning process, he says, including the less-often discussed process of preparing data, which he says can be as much as 80 percent of the job, as well as how to interpret results produced by machine-learning models.

Ultimately demonstrating your worth via internships and fellowships is key to making yourself stand out to potential employers, says Lorica.

"A lot of us who have spent years in the field know the companies who have good data groups. So you hire out of those data groups or you hire out of the right fellowship programs."

Read more:

It is fair to share..