Thomas Edison famously said that success is 90% perspiration and 10% inspiration. That’s nowhere truer than in machine learning. Even though the hype around artificial intelligence has never been higher, the reality of what it takes to actually work in the field - and what it takes to use it successfully - is mired in confusion.
Indeed, hype makes it look like 100% inspiration; it hides the work involved in building knowledge and learning skills.
So, to help tackle that, here are the 3 important elements to machine learning that might structure how you’d approach it.
This is the one thing that people overlook. And it’s easy to see why; the mixture of excitement and horror that artificial intelligence inspires could not be further away from a statistics textbook or a math class.
That’s not to say that learning the fundamentals of machine learning needs to feel like a trip back to school, however. Instead, it should feel like an exciting starting point that will allow you to build incredibly complex algorithms that organize, classify and predict.
While it’s important to have a solid foundation in statistics when working with machine learning systems, you shouldn’t feel like you need a comprehensive knowledge. In fact, engaging with statistical concepts and problems in a way that is practical and applied is actually a very effective way to learn.
But what if you’ve already got that foundation in stats? Well, you probably know that there’s always more to learn. And as you move to working with more complex and complicated algorithms, the more you’re going to need a detailed understanding of high-level stats and math. This means spending some time with these concepts can be valuable in getting your knowledge to the next step.
Python is today the go-to language for machine learning. The reason for this is simple: it’s accessible, powerful, and has a great ecosystem of frameworks and libraries around it that can be used to build machine learning systems.
Starting with Python, then, is an important step in the process of learning machine learning. This isn’t to say that other languages can’t be used, they can. But Python offers a relatively gentle learning journey that’s well suited to machine learning tasks. When you factor in the tools you can use alongside it - like, for example, PyTorch, it’s easy to see why Python just makes sense as a step in your learning process.
The theory and statistics, and then programming languages are all well and good, but the most important aspect of learning machine learning is developing real-world applications and projects. That’s when everything comes to life.
True, it’s not like it’s hard to find applications and tools that use machine learning in some way. But it’s different when you get to see how it’s done. And more importantly it feels different when you’ve gone out there and created something yourself.
But what are the things you can do?
Computer vision is possibly one of the most ubiquitous and visible uses of machine learning out there at the moment. It's the technology that supports everything from augmented reality to facial recognition - arguably two of the most talked about technology trends of 2019.
There are many ways of accomplishing computer vision, but a great place to begin is with OpenCV. It’s an open source computer vision library which means you can not only use it for free, but also use and repurpose the code in whatever way you wish. If you’re new to machine learning that saves you money as you experiment with new ideas and new projects, but it also gives you an opportunity to look more closely at the code you’re using to create your projects.
Natural language processing is another area in which machine learning is making its presence felt. While it might not have captured the attention of the public in the way that many computer vision applications have, the ability to classify, interpret, translate, and manipulate language can be incredibly powerful. From both an analytics perspective and a product one, it offers a sense of real power.
Such is the popularity of Natural language processing that cloud vendors offer NLP tools and frameworks as services on their platforms. But if you’re new to the field, or you simply want to experiment with some open source tools, there are, fortunately, plenty out there. Perhaps one of the best is NLTK (Natural Language Toolkit).
Machine learning is a diverse and fast-changing field. The topics mentioned here don’t really scratch the surface. But that doesn’t mean this isn’t a good place to begin. Indeed, with so many things to do and ways of learning, having a clear structure and set of resources can help you save time and focus on what matters.