# Everything You Need to Know About Popular Machine Learning Algorithms

learning is a scientific discipline that uses many different algorithms to build models. They help to build smart software systems for medical diagnosis, expenditure optimization, and more.

The reason why there are so many different algorithms is that they operate the best when applied to different problems. This phenomenon is also called the No Free Lunch theorem, which means that no algorithms can solve perfectly any given problem.

In this post, we will have a look at the most popular groups of algorithms and see what problems they help to solve.

## Classification and clustering algorithms

Imagine there are many objects, for example, photos of different fruits that need to be divided into classes. The program is given a finite set of classes and a number of examples for each one. This set is called a training sample. By processing them, the program learns about the different fruits, can recognize and place them in the correct group, for example, distinguish between an apple and banana. To learn more about how machine learning uses classification algorithms, read the article written by machine learning experts.

In machine learning, the classification task belongs to the supervised learning section. Logistic Regression, Naïve Bayes, Stochastic Gradient Descent, k-Nearest Neighbours, decision trees, random forests, and support vector machines are all examples of classification algorithms.

There is also unsupervised learning when the division of objects in the training sample into classes is not specified, and it is required to classify objects only on the basis of their similarity to each other. This type of classification is called clustering. K-Means, Mean-Shift, and DBSCAN are used for clustering.

## Regression

Simple linear regression is used to model the relationship between the two events. Usually, they are numerical variables. Don't confuse linear with logistic regression (which is a classification algorithm). For example, linear regression can be used to predict how the number of square meters in the flat affects its price: usually the bigger the place, the more it costs.

## Neural networks

Neural networks are based on the mathematical model, which is somewhat reminiscent of the functioning of our nervous system. We have neurons that form the nervous system.

Neural networks have a similar structure. Each neuron is a node of an interconnected system that gets some data as inputs and produces an output. The way how numerous incoming signals are formed into outgoing signals is determined by the calculation algorithm. Being organized in a large system, neurons are capable of performing very complex tasks of collecting information, analyzing it, and creating new data.

These are just some examples of the algorithms that are used in machine learning, however, there are many more. The choice of the algorithm depends on the problem you're trying to solve, as well as on the resources and skills that you have ― building a neural network is much more time and resource-intensive than building a Naive Bayes classifier.