Have you ever wondered how Facebook suggests to you the name of the person whose picture you have just uploaded? Or how Netflix knows which program you would like to see next and makes the appropriate suggestions? How do you get suggestions for similar products while shopping online?
Yes, it is Artificial Intelligence that makes all these predictions possible. But the world of AI is so huge that this answer alone wouldn’t be enough. The part of AI that make all these predictions is Machine Learning.
In this article, let’s understand what is machine learning.
What is Machine Learning?
Machine learning (ML) is a technology or concept that allows the machines to learn from the data (example and experience) provided by us, examine them and then predict future outcomes in whatever context it is being applied in. Unlike other applications, it doesn’t require coding or programming for its learning. However, an important part of ML is algorithms.
You provide data to these algorithms and based on the past data and examples, the algorithms build logic and suggest future actions.
How is Machine Learning different from Software Development?
In Software development, you define the Input and write rules to generate the desired Output. But in the case of Machine Learning, you provide the input and the output, and the rules are written accordingly. Isn’t that intelligence?!
How does machine learning work?
The concept of Machine Learning is possible because of algorithms. A machine learning algorithm (like any other algorithm) is a set of instructions and rules to be performed on data. A machine learning algorithm is provided with a set of training data to analyze them, build logic of the data and create a model of it. These models are used to make predictions. The more quality data you provide to the machine, the stronger and more accurate their predictions become.
While providing training data, some part of it is kept as testing data (usually in the ratio of 80:20) to check the accuracy of the output given by models. The result or prediction by the machine is tested for accuracy and if the accuracy is acceptable, then these algorithms are deployed. In case, the accuracy is not as expected, then these algorithms are provided with more quality data and trained over and over again until they deliver the expected accuracy.
The accepted range of accuracy depends on the applications for which the algorithms are built. For some applications, 85% to 90% accuracy is good enough while some critical applications may require higher accuracy.
The diagram below will help you understand this better –
The given loop goes on until the prediction by the algorithm is within an acceptable accuracy range.
Now that you are somewhat familiar with ML and how it works, let’s dive into the three main types of ML.
Supervised learning
In Supervised learning (SL), the model is trained with a set of data. This data set acts as a teacher and the model is like its student. Once the model is trained sufficiently, it starts making predictions.
One of the examples of SL is email filtering. We all receive emails, and we know that not all the emails are useful. Many of them are spam mails which serve no purpose and are for advertisement and promotion of services we may not be interested in. Machine learning, given enough examples and a training data set, can predict if certain emails are spam and move them to your spam folder. As you probably know from first-hand experience, these predictions may not always be accurate; however, most of the time, they do get them right!
Unsupervised learning
This type of ML is based on observation and includes Clustering and Association algorithms. When a data set is provided to a model, it automatically finds patterns and relationships in the data and creates clusters. A cluster is a set of observations which are similar to each other in some manner. Similarly, an Association algorithm finds relationships or patterns between different parts of the dataset. It also finds how frequently a pattern might be repeated.
Unsupervised Learning can group and separate the same type of observations but cannot label (classify) them. For example, if you provide the model images of four-wheelers and two wheelers, it will separate them into two categories, but it can’t label them (that is, identify them) as two wheelers and four wheelers. Later, when you provide a new image of a four-wheeler or two-wheeler, it will add that to the right cluster. The Facebook example given earlier is an example of unsupervised learning.
Reinforcement Learning
This type of ML is based on hit and trial. In this, an agent (which is an AI algorithm) interacts with the given environment (a task which needs to be solved by the AI agent) and finds out the best outcome. If the agent can solve the given task, then the outcome is considered as right, and the agent is rewarded with points and if the agent can’t solve the task then the outcome is considered as wrong and it is penalized.
Img Src: techvidvan.com
Depending on the rewarded points of the agent, the model trains itself. Once it is trained fully, it is ready for prediction. This type of ML continuously improves the quality and efficiency of the system. One of the examples of Reinforcement learning is Google’s autoML.
You must have seen notifications from Google photos which pick up two identical pictures and ask if both are the same? This is an example of Reinforcement Learning where the model adds your suggestion and keeps improving its quality.
Real time examples of Machine learning
Based on these three types, ML is being used for image recognition, medical diagnosis, speech recognition, learning association, classification, prediction, regression, financial services, extractions, face detection and many more applications. It has spread its roots in almost every industry including banking and finance, IT, healthcare and many more.
In the software and IT domain, AI is broadly used in Quality Assurance (such as software testing, defect analysis and efficiency analysis), Service Management, Project Management, Process Automation, and many other areas. Digité’s products are enabled with AI capabilities such as auto-population of tasks, recommendations of similar workitems, feedback to AI-powered recommendations, AI-enabled bots, a powerful bot trainer, etc. to help users manage their work much more easily with these AI/ ML capabilities.
The world of ML and AI is huge and can’t be covered in just one blog post! But I hope that this post has given you a general understanding of ML. If you’d like to learn more about our AI/ ML capabilities or would like to share your knowledge and experience with us, do write or get in touch with us.
Sunita Vyas
Technical Content Writer