This article will serve to simply explain the “what”, “how”, and “why” of machine learning. Machine learning is a system capable of learning from data without being orchestrated neither the best nor exact steps of how to do so. This is a high-level definition of machine learning and if you’re curious about the proliferation of its usage, here is a brief list of some big-name companies investing in ML:
Amazon Google Uber
IBM Netflix Apple
Facebook Luminoso Qualcomm
Ok, so there are probably a few other questions that you have at this point:
“What differentiates machine learning from ubiquitous software programming? Isn’t it the same as assigning a function to a program and seeing it do just that?”
Machine learning and software programming can arrive to the same solutions but limiting machine learning to just that would be counter-productive. A traditional program can come to a solution if it is programmed how to do so, but what happens if we needed to scale up the problem – without knowing how to exactly program it for more complex answers? This is where value can be drawn from machine learning. It differs from traditional programming – you can feed machine learning a hypothesized model and let it adapt to relevant data so that it produces a more advanced model or program, capable of tackling the most complex of tasks.
This isn’t to say that the future of problem solving will be replaced by machine learning. Traditional software programming will still have its place. Machine learning will be used for more niche categories, such as image recognition, autonomous driving, etc. As you can imagine, these categories aren’t programmable by traditional methods — they require a learning process by consumption of data.
“How does machine learning do just that – learn? Surely, it can’t learn in ways that a human child does by being taught what is right or wrong”.
That is a good question and it serves us well to transition to the “how” of machine learning. To answer this question, let us explore the steps of machine learning:
- Data aggregation — Good quality and quantity of relevant data determines the accuracy of a machine learning model.
- Model selection — Offering a preset or hypothesized model will enable the machine learning model to be more well-adapted to the presented data. For example, a model suited for acoustics-related data may not help the goal of image recognition.
- Simulated training — Arguably the most important process of machine learning. In this step, data will be used as fuel for training as we fine-tune our machine learning model. In the example of image recognition, training might involve the process of feeding the model thousands of images of certain objects or humans. The more training the machine receives, the more accurate the model.
- Assessment — After training, the model will need to be evaluated. This is a good time to use new or unused data to see how effective the performance of the model is. For example, after feeding our image recognition model thousands of images of iPhones, we can now show it a new iPhone image that is a set distance away or is partially concealed. From these results, we can fine tune our model by tweaking parameters or feeding it more data.
“What are the real-world applications of machine learning?”
- Cyber-security — ML models can be taught to combat against malware, especially those that lack sophisticated distinctions.
- Financial exchange — Proprietary algorithms can be developed to predict stock markets and financial transactions. This may be infantile in the current age but given time, we will see how sophisticated the machine learning model can become.
- Natural Language Processing (NLP) — Models that are focused on human speech patterns can benefit NLP to offer better AI-integrated customer service.
- Automated vehicles — Models integrated with data gathered by IoT devices will help to perfect the perfect smart car. These models will have a hand in personalizing your car ambiances, self-driving capabilities, road-side assistance, and more.
- Digital marketing — ML can be used to create a more personalized customer journey and bring relevant recommendations to the forefront of consumers’ news feeds.