Hello dear readers, writing blogs about different tech-related kinds of stuff has always been a field of interest for me. Especially, when it comes to machine learning. Now as finally I’ve decided to jump into the pool, I hope to swim towards to end along with you all. :-D. From this day, we will be looking into the depths of machine learning and will try to understand some Machine Learning concepts through Python.
Note: This series is actually inspired by “Hands-on Machine Learning with Scikit-Learn, Keras & TensorFlow” by Aurelien Geron.
What is Machine Learning?
Machine Learning is an art of programming where the machine or a system gets the ability to learn something from its experience. A slightly more generalised definition of Machine Learning can be
“[Machine Learning is the] field of study that gives the computers the ability to learn without being explicitly programmed.” — Arthur Samuel, 1959
Another one could be, a more engineering-oriented example
“ A computer is said to learn from experience E with respect to some task Tand some performance measure P, improves with experience E.” — Tom Mitchell, 1997
John McCarthy, also known as the Father of Ai (Artificial Intelligence) used the term Artificial Intelligence for the first time in a document termed Artificial Intelligence and also one of the founders of the discipline of Artificial Intelligence. He quoted,
“It’s difficult to be rigorous about whether a machine really ‘knows’, ‘thinks’, etc., because we’re hard put to define these things. We understand human mental processes only slightly better than a fish understands swimming”
Now, let take an example of Machine Learning. Suppose, you want to enter a hotel and before entering into the hotel, the management would require you to verify either you contain any X virus or not. If Yes, you will not be allowed to enter the Hotel, otherwise you are allowed. For this, the system will take your data relating to your health-related activities and based on that data you provided it will classify whether you are infected or not.
In this case, the task T is to flag that either you are infected or not, the experience E is the training part of the system where it has learned from the previous data and P is the performance that does the system classified you as infected or not-infected and it is a form of a particular performance measure known as accuracy.
Now, if you just download a copy of the encyclopedia into your hard drive that your computer has a lot more data, but it is not becoming better at any task all of a sudden. thus, it is not Machine Learning.
Why we use Machine Learning?
A few decades ago, there was a tradition to write very complex code for complex problems such as playing chess between a human and a machine, filtering the emails as spam or not. Those complex codes could be in the form of complex nested if-then-else conditions where the programmer has to code all outputs for every condition.
Suppose an example of a Spam Filtering algorithm. If a user wants to detect an email as spam or not, it will have to find out the pattern(s) in the email’s subject and body, after finding a pattern(s), the user can distinguish it as spam or not. To code an algorithm for this problem, the programmer has to consider every possible pattern and put them into the algorithm which will eventually result in a tedious journey for the coder and still will not guarantee to provide results with good accuracy on patterns.
To tackle this, a programmer can use a machine learning algorithm where the model will learn the flow and patterns that exist in the data automatically and not only that it will be able to result in out of the box inputs.
Where Machine Learning is known for?
- It is well known for the problems in which the existing solutions require a lot of hand-tuning or long lists of rules.
- Adaption: A trained Machine Learning model has the ability to fit into new environments(inputs). I-e, a model can also answer those questions where it has never been trained on.
- Producing insights for complex problems and a large amount of data.
Types of Machine Learning Systems.
There are many different types of Machine Learning systems that are:
- Supervised Learning
- Unsupervised Learning
- Semisupervised Learning
- Reinforcement Learning
- Batch Learning
- Online Learning
- Instance-Based Learning
- Model-Based Learning
In the next part, we will be covering the understanding of the types of machine learning and in addition, we will try to uncover the challenges of machine learning and much more.
Signing off. Take care:D