# Machine Learning: An Introduction

Nowadays, we hear about terms like artificial intelligence and machine learning a lot. Do you know what it really means? What are the different machine learning algorithms? How can you get started with machine learning? In this article, we will discuss answers to all these questions.

## Machine Learning: What It Really Is?

In generalized terms, machine learning popularly abbreviated as ML is a branch of computer science that helps machines imitate the way the human brain learns with the help of available data and algorithms.

Using machine learning, we can automate analytical model building. The analytical models can find errors and improve accuracy on their own while the learning process. The models that we create from the data can identify patterns, classify data, predict values, and make other decisions without any human intervention.

The term machine learning was coined by Arthur Samuel in 1959. Arthur Samuel automated playing checkers with the help of rote learning and learning by generalization. In 1962, Robert Nealey, who was a self-proclaimed checkers master, lost to IBM 7094 machine while playing checkers. This incident was a major milestone in ML. Fast forward to 2022, we are now creating autonomous vehicles and automating disease discovery with the help of machine learning algorithms.

Other applications of ML include spam detection, pattern recognition, movie recommendation system, image recognition, automatic speech recognition to create chat apps, and facial recognition. All of these applications are classified into different branches of computer science such as deep learning, computer vision, and artificial intelligence. However, ML algorithms are used in each of these applications.

## Different Types of Machine Learning Algorithms

Based on the type of available data and required output, we use various machine learning algorithms. Let us discuss each of them one by one.

### Supervised Machine Learning

When we have labeled data in which the independent variables and their outputs are known, we use supervised machine learning algorithms. The provided dataset can have any number of data points and each record in the data will have a designated label or output value that depends on the data points.

Initially, the parameters of a ML model have default values. While training the model using a supervised ML algorithm, we use error functions to compare the output of the model with the actual output given in the dataset for that record. After that, adjustments are made to the parameters so that the model can produce accurate results.

Finally, we check the accuracy of the supervised learning model using the test data.

We can broadly classify the supervised learning methods into classification and regression algorithms.

• Regression Algorithms are used when there is a relationship between input and output variables in the dataset. We use regression algorithms in the prediction of attributes that can take continuous values. For example, we can use regression algorithms in weather forecasting, price prediction, and stock market prediction. Some of the most used regression algorithms are linear regression, multiple regression, and polynomial regression.
• Classification algorithms are used when we have to categorize the data inputs into various categories or classes such as True/False. A common use of classification algorithms is the classification of e-mails into various categories in the natural language process. Sentiment analysis is also an example of classification. The most common classification algorithms include Bayesian classifiers,  decision tree models, random forests, support vector machines, and logistic regression.

While supervised learning algorithms help us in various tasks, they become inefficient in various complex tasks. When the test data is entirely different from the training data, supervised ML algorithms can fail to produce correct results. Also, training the ML model requires computational power and time. In addition to that, we need to have correct details about all the possible outputs in order to build an efficient supervised learning model. Due to these drawbacks, unsupervised machine learning algorithms are used in various applications.

Suggested Reading: User’s Activity Logging in Asp.net Core MVC Application

### Unsupervised Machine Learning

As the name suggests, unsupervised machine learning algorithms are used to extract knowledge and build models from unlabeled data. The unlabeled new data is fed into the algorithm and the algorithm does the rest to build the ML model. The model itself finds hidden patterns and insights in the given data. This is done by finding the underlying structure of the dataset, grouping the dataset into various categories based on the proximity of records in the data from each other, and representing the data in a compressed and understandable format.

Unsupervised machine learning algorithms are mainly of two types.

• Clustering Algorithms: Clustering works by finding the proximity of records in the data. The clusters are chosen in a manner such that the records in a single cluster have a maximum similarity. On the other hand, records from two different clusters have the least possible similarity. In clustering, we are given unlabeled data in form of text, records, or images. The unlabeled data is then fed into the machine learning model. The machine learning model then finds the common features among the data objects and groups them into different clusters.
• Association Mining: Association mining is used to find the relationship between different variables in a dataset. With the help of association mining, you can predict the presence of one variable if another variable is present in the record. Mostly, association mining is used in market basket analysis to predict the inventory requirements.

## How Machine Learning Models Are Built?

A machine learning model is built using several steps.

• First, the available data sets are split into training data and test data (normally in the ratio of 70:30). After splitting the data, the machine learning model is trained.
• Based on the type of algorithm, the model contains several parameters. Using the functions defined in the algorithms and the test data, the parameters of the ML model are decided.
• Once the model is trained, we test the accuracy of the model using the test data. It is calculated on the basis of the percentage of outputs that are correctly predicted by the machine learning model.

## How Can You Learn Machine Learning?

To learn machine learning, you can start with learning a programming language. I would suggest you learn python as it has resource-rich ML libraries that will help you build ML models very easily.

After you learn to code basic programs, you will need a strong knowledge of mathematical tools that are used in machine learning. Linear algebra, probability, statistics, and convex optimization are some of the domains that will help you grasp ML concepts very easily. You can read these concepts from courses at MITOCW.

Thereafter, you can start with the ML course by Andrew Ng on Coursera. This course is taught very well and you will find it very useful. The course content, assignments, and exercises will provide you with a good learning experience and you will enjoy learning ML concepts.

Once you finish this course, you can start doing projects to sharpen your skills. Additionally, you can do an internship to have a glimpse of how machine learning is used in industry and real-life applications.