Unless you’re quite out of touch with digital trends, you’d struggle to not have heard of the phrase Machine Learning (ML). Articles are shared online daily, software vendors and service providers have begun to offer Machine Learning as-a-service, thereby making it easier to integrate ML into your existing software products (no Ph.D. required!)
But what exactly is Machine Learning?
In this article, we separate fact from fiction and run through:
- An overview of what machine learning is
- Types of machine learning that are available
- Real-world applications of machine learning
Definition
Simply put, machine learning is a type of artificial intelligence or AI.
Software applications are traditionally programmed by a human. The machine then follows these rules and behaves in a predictable manner. Machine learning is a departure from this relatively static paradigm to a more dynamic model whereby the machine can learn without being programmed by a human.
[bctt tweet=”#MachineLearning is a departure from a relatively static paradigm to a more dynamic model ” username=”GAPapps”]
How is this possible?
The Process
For the machine to be able to make decisions independent of instruction or interaction, it must be supplied with training data.
Algorithms are also required to interpret said training data. The machine effectively mines the training data and applies one or more algorithms to identify patterns, then uses these patterns to adjust the behavior of the software automatically.
For example, imagine you have an application that extracts tweets where a hashtag is being mentioned, and you wanted to identify if each tweet expressed positive or negative emotion.
The machine would first need to know which words or phrases were expressive of positive and negative emotion (the training data). Armed with this, the machine could then attempt to classify incoming text as either positive or negative in emotion. This type of machine learning belongs to the “Supervised Learning” category.
Types of Learning
We’ve touched on this in another article but in the context of this article, it’s worth pointing out that machine learning generally falls into one of two camps:
Supervised learning
A supervised learning algorithm analyzes the training data and produces an inferred function, which can be used for mapping new examples. An optimal scenario will allow for the algorithm to correctly determine the class labels for unseen instances.
Source: Wikipedia
Classification is a form of Supervised learning. It is the process of predicting which category data belongs to, all based on training data that was previously supplied to the machine.
Unsupervised learning
Unsupervised machine learning is the machine learning task of inferring a function to describe hidden structure from “unlabeled” data (a classification or categorization is not included in the observations). Since the examples given to the learner are unlabeled, there is no evaluation of the accuracy of the structure that is output by the relevant algorithm—which is one way of distinguishing unsupervised learning from supervised learning and reinforcement learning.
Source: Wikipedia
Clustering is a form of Unsupervised learning. One example of this may be the machine attempts to organize data to describe its structure, thereby making it easier for humans to organize, and consequently derive meaning. It’s easy to see how machine learning and big data complement each other.
Algorithms
Algorithms are at the heart of machine learning, and there are many of them. These include the following, but are not limited to:
- Bayesian networks
- Neural networks
- Support Vector Machine (SVM)
- Decision tree
This is only a very small selection of the available algorithms; each have their own pros and cons, and you need to select the right tool for the task at hand. For example, some may work better than others for larger datasets than others. Some may consume more memory than others thereby increasing the time it takes for the algorithm to process your dataset.
Microsoft provides detailed explanations of their machine learning algorithms and provide information with regards to:
- The accuracy of the algorithm
- How long it takes to train the algorithm with data
- Parameters it accepts
You can read more about machine learning algorithms that Microsoft offers via their Azure platform here.
Real World Applications
Machine learning can be applied to many use cases in the real world. These include, but are not limited to the following:
- Email spam filtering
- Text-based sentiment analysis
- Real-time ads on web pages and mobile devices
- Pattern and image recognition
- Self-driving cars – Google, Uber
- Recommendations
- Finance and fraud detection
- Dynamic pricing models
- Speech recognition
[bctt tweet=”For a machine to be able to make decisions independently, it must be supplied with training data” username=”GAPapps”]
Email Spam
Ever wondered how your email spam filter mechanism works in Outlook or one of the free online email providers?
As often is the case, there are multiple solutions to any given problem. One solution to help tackle email spam is to implement a Bayesian Classifier. The Bayes rule is a statistical theorem that gives you the probability of an event considering prior evidence. Within the context of email spam, the classifier would be trained to identify spam messages by using samples of spam messages.
Speech Recognition
Skype Translator sounds like something out of sci-fi movie or Star Trek. Skype now has voice technology that helps to breaks down language barriers during a video call. It translates the real-time conversation between two people in two different languages, to their native language. It uses machine learning to achieve this, meaning the more you use it, the better it gets at understanding your language.
Marketing and advertising
This is probably one of the more mature forms of machine learning in operation online. Have you ever looked at products in Amazon then moments later noticed similar products being displayed in your Facebook or Twitter feed? Machine learning and big data are behind this too! By tracking what you “Like” and what you’ve viewed and the comments you post and share, machine learning can, with relative accuracy, place marketing creatives in your news feed on social channels thereby improving conversion rates for business.
Recommendations
Do you have a Netflix account? Machine learning is behind the recommendation engines that suggest movies you might be interested in. Or what about online e-commerce stores? Have you arrived at the virtual checkout and then been presented with the option of purchasing “other products you might be interested in”? Machine learning is behind all of this, it uses YOUR historical big data and other data sets such as similar consumers’ past behavior to drive consumer recommendations.
Summary
In this article, we’ve discussed Machine Learning at a high level, the types of machine learning that are available, and how it can be applied in the real world.
Reading this article may have given you some ideas as to how you can introduce machine learning into your existing software solutions or system to drive business efficiencies.
At Growth Acceleration Partners (GAP), we can help you integrate machine learning components into your existing software applications.
Our software development teams have been writing web applications in C# and ASP.NET for years. Based in Austin, TX, our .NET developers are located nearby in Latin America with primary development centers in Costa Rica and Colombia.
With this proximity, GAP has become the go-to outsource partner for .NET development. With similar time zones, and a culture that shares common values, GAP has satisfied hundreds of US-based companies.GAP’s .NET developers deliver on time in a cost-effective manner, solving complex business problems for our partners. We can provide your organization with a team of highly qualified data scientists and engineers who have expertise in areas such as machine learning and big data analytics, to name a few.
You can find out more about our .NET services on our website here.
Why not arrange a call with us, or send us an email?