Arthur Samuel, a pioneer in the field of artificial intelligence and computer gaming, coined the term “Machine Learning”. He defined machine learning as – “Field of study that gives computers the capability to learn without being explicitly programmed”.
In a very layman manner, Machine Learning(ML) can be explained as automating and improving the learning process of computers based on their experiences without being actually programmed i.e. without any human assistance. The process starts with feeding good quality data and then training our machines(computers) by building machine learning models using the data and different algorithms. The choice of algorithms depends on what type of data do we have and what kind of task we are trying to automate.
Example: Training of students during exam.
While preparing for the exams students dont actually cram the subject but try to learn it with complete understanding. Before the examination, they feed their machine(brain) with a good amount of high-quality data (questions and answers from different books or teachers notes or online video lectures). Actually, they are training their brain with input as well as output i.e. what kind of approach or logic do they have to solve a different kind of questions. Each time they solve practice test papers and find the performance (accuracy /score) by comparing answers with answer key given, Gradually, the performance keeps on increasing, gaining more confidence with the adopted approach. Thats how actually models are built, train machine with data (both inputs and outputs are given to model) and when the time comes test on data (with input only) and achieves our model scores by comparing its answer with the actual output which has not been fed while training. Researchers are working with assiduous efforts to improve algorithms, techniques so that these models perform even much better
Basic Difference in ML and Traditional Programming?
- Traditional Programming : We feed in DATA (Input) + PROGRAM (logic), run it on machine and get output.
- Machine Learning : We feed in DATA(Input) + Output, run it on machine during training and the machine creates its own program(logic), which can be evaluated while testing.
What does exactly learning means for a computer?
A computer is said to be learning from Experiences with respect to some class of Tasks, if its performance in a given Task improves with the Experience.
A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E
Example: playing checkers.
E = the experience of playing many games of checkers
T = the task of playing checkers.
P = the probability that the program will win the next game
In general, any machine learning problem can be assigned to one of two broad classifications:
Supervised learning and Unsupervised learning.
How things work in reality:-
- Talking about online shopping, there are millions of users with an unlimited range of interests with respect to brands, colors, price range and many more. While online shopping, buyers tend to search for a number of products. Now, searching a product frequently will make buyers Facebook, web pages, search engine or that online store start recommending or showing offers on that particular product. There is no one sitting over there to code such task for each and every user, all this task is completely automatic. Here, ML plays its role. Researchers, data scientists, machine learners build models on the machine using good quality and a huge amount of data and now their machine is automatically performing and even improving with more and more experience and time.
Traditionally, the advertisement was only done using newspapers, magazines and radio but now technology has made us smart enough to do Targeted advertisement (online ad system) which is a way more efficient method to target most receptive audience.
- Even in health care also, ML is doing a fabulous job. Researchers and scientists have prepared models to train machines for detecting cancer just by looking at slide – cell images. For humans to perform this task it would have taken a lot of time. But now, no more delay, machines predict the chances of having or not having cancer with some accuracy and doctors just have to give an assurance call, thats it. The answer to – how is this possible is very simple -all that is required, is, high computation machine, a large amount of good quality image data, ML model with good algorithms to achieve state-of-the-art results.
Doctors are using ML even to diagnose patients based on different parameters under consideration.
- You all might have use IMDB ratings, Google Photos where it recognizes faces, Google Lens where the ML image-text recognition model can extract text from the images you feed in, Gmail which categories E-mail as social, promotion, updates or forum using text classification,which is a part of ML.
How ML works?
- Gathering past data in any form suitable for processing.The better the quality of data, the more suitable it will be for modeling
- Data Processing – Sometimes, the data collected is in the raw form and it needs to be pre-processed.
Example: Some tuples may have missing values for certain attributes, an, in this case, it has to be filled with suitable values in order to perform machine learning or any form of data mining.
Missing values for numerical attributes such as the price of the house may be replaced with the mean value of the attribute whereas missing values for categorical attributes may be replaced with the attribute with the highest mode. This invariably depends on the types of filters we use. If data is in the form of text or images then converting it to numerical form will be required, be it a list or array or matrix. Simply, Data is to be made relevant and consistent. It is to be converted into a format understandable by the machine
- Divide the input data into training,cross-validation and test sets. The ratio between the respective sets must be 6:2:2
- Building models with suitable algorithms and techniques on the training set.
- Testing our conceptualized model with data which was not fed to the model at the time of training and evaluating its performance using metrics such as F1 score, precision and recall.
Pre-requisites to learn ML:
- Linear Algebra
- Statistics and Probability
- Graph theory
- Programming Skills – Language such as Python, R, MATLAB, C++ or Octave