DEV Community

Cover image for Practical Applications of Machine Learning
Geoffrey Ward
Geoffrey Ward

Posted on

Practical Applications of Machine Learning

Why Machine Learning?

In the past few years, we've seen a massive spike in the popularity of AI technologies. Largely, this is due to a growing level of accessibility for interacting with these technologies, leading to increased development. To this effect, there are now many popular Machine Learning libraries available for use with Javascript, such as BrainJS and TensorFlow. Personally, I'm fascinated with the implications of this kind of digital thinking, and so I'm endeavoring to spend the next few weeks talking about the different aspects of machine learning.

So What is Machine Learning?

Machine Learning is a process through which a machine can "learn" certain inputs. There are three main schools when it comes to machine learning strategies- supervised, unsupervised, and reinforcement. Supervised machine learning is the most popular paradigm and the easiest of the styles to implement. Think of using flashcards to learn a new language. Supervised learning is very similar. In this paradigm, the machine is given inputs, with a series of example-label pairs. A picture of a car, for instance, with the label "car." Using these inputs, the machine will begin attempts to parse out the objects contained within photographs. When it guesses correctly, you let the machine know that it was correct, which will continue to make the machine more accurate in its guesses. This type of learning is described as task-based because the machine is highly focused on a single task.

Unsupervised learning is, unsurprisingly, the opposite of supervised learning. In these instances, the machine is not provided with any labels. The machine must organize this unlabeled data as best as it can. This more closely resembles the real world, as much of the data in the real world is naturally unlabelled. These types of systems are largely data-driven and can be seen in recommendation systems, such as the comprehensive ones used by Netflix and Amazon

The most unique paradigm of machine learning is reinforcement learning. Describing reinforcement learning is more difficult, but it can be thought of as 'learning from one's mistakes'. This style is very behaviour driven. In reinforcement learning, the machine begins by making a lot of mistakes. These mistakes are relayed to the machine, and over time, the machine begins performing with fewer and fewer mistakes. These feedback loops will eventually result in very efficient processes.

Implementations of Machine Learning

These three paradigms of machine learning do not exist in a vacuum apart from each other, however. Quite the opposite, oftentimes different styles are incorporated together to reinforce the learning process given a particular task, which can make classifying them independently into a murky process. If you were using reinforcement style to teach a machine to play a video game, for instance, maybe you'd like to incorporate supervised learning tactics to teach the machine about the various power-ups scattered throughout the level. Utilizing all of the learning processes together allows programmers to implement the most efficient strategies for teaching a machine a task, very similar to how humans learn in the real world. A flashcard of a sheep is fine, but at some point, a human must go out in the real world and observe a sheep outside of the context of a flashcard.

Machine learning has the potential for implementation on all kinds of processes throughout our daily lives, which is part of the reason that we've seen these technologies spike in popularity. The implications of its use make machine learning one of the most exciting opportunities for us as programmers moving forward. As these technologies continue to become more available and less obtuse, we can expect to continue seeing them creep into every aspect of our digital lives.

Top comments (0)