Doing an unsupervised machine learning project

Machine learning is looking for ways so that systems can learn like humans. We humans have the ability to understand our surroundings and learn from them without anyone teaching us. In fact, we have a capability called unsupervised machine learning; That is, without a more intelligent observer, we can perfect our intelligence. But it should be kept in mind that this will be a time-consuming process before reaching definitive results; Because the things we learn may be wrong or incomplete.

One of the main branches of machine learning is called unsupervised machine learning, and in this article we intend to explain the concept of unsupervised learning to you. We also introduce you to the unsupervised machine learning service in Bigpro1; A service that you can use in your projects with a few simple clicks.

Unsupervised machine learning in simple language

Consider a child seeing a cat for the first time. In fact, he has no idea what to name the cat. However, in his mind he tries to create a new class of beings. To do this, without even knowing it, he takes some of the characteristics that are obvious in a cat as criteria for a cat (although the child does not know the name of the creature is a cat). So if it later sees an entity that most closely matches those attributes, it will add it to the created category.

The child has no idea that the name of the creature is cat, but can later distinguish cats from other creatures by observing them. Humans have the potential to learn from birth; So that even without a teacher we can learn new things and use them. It can be said that the best teacher for human is experience!

We consider this type of learning unsupervised learning. In general, in the science of artificial intelligence we are looking for ways to design intelligent systems that behave as humanly as possible. But man is a very complex creature; At least it can’t be made like it yet. Therefore, it is tried to include only some human characteristics in the systems.

Unsupervised machine learning looks for ways to build intelligent systems that learn from existing (unlabeled) data without the supervision of an expert. Implementing a reliable system that has the ability to learn without supervision is not an easy task for two reasons:

  1. Unsupervised machine learning for intelligent systems requires a huge amount of data. Data collection can be a long and difficult process.
  2. Unsupervised machine learning requires powerful hardware. Although it can be done with normal hardware, but if the data volume is small, you cannot get a reliable output.

Unsupervised learning can be used to identify overlooked risks and opportunities. However, if you are looking for a simple and reliable way to use unsupervised machine learning to model your data, we suggest using unsupervised machine learning in Bigpro1; A reliable platform at a reasonable cost.

The difference between supervised and unsupervised learning

Previously, in a separate article, we discussed supervised machine learning. However, it’s good to have an overview to better understand the difference between supervised and unsupervised machine learning.

In supervised learning, it is assumed that a set of training patterns whose correct classification is known is available. In fact, in supervised learning, that intelligent system should be able to find a pattern between the data and responses in each category, and then arrive at a specific pattern for each category. In this way, after entering new data, they can be analyzed with the obtained patterns and placed in the appropriate category.

Because the training data is already classified, systems using supervised learning typically have more predictable results than unsupervised machine learning. Unlike supervised learning where there is a ready-made output for every input, in unsupervised machine learning only input data is available and the system using unsupervised learning must be able to analyze and cluster that data.

In the unsupervised machine learning mode, using some algorithms such as the neural network algorithm, similar data are recognized and placed in certain categories. In fact, this work is equivalent to clustering of input data. Unsupervised machine learning is also used in other tasks, which are discussed below.

Clustering in unsupervised machine learning

Since the first goal in unsupervised machine learning is to classify the input data, it is not bad to learn more about the concept of clustering. A simple example of clustering can be seen in the image below:


As you can see we have a series of input data that are not grouped and we expect the system we designed to cluster them. The system takes data as input and then analyzes and clusters them with high accuracy.

Therefore, clustering actually seeks to identify similar data and categorize them.

But since there are different types of data with different characteristics, it is not possible to define and implement an algorithm without general supervision for clustering input data. That is why there are different models for clustering. Each model includes its own algorithms. Clustering is mostly used in unsupervised machine learning and another concept called classification is used in supervised machine learning.

Types of clustering

In general, clustering can be divided into the following two groups:

  • Hard Clustering

In this method, each data is either available in a cluster or not.

  • Soft Clustering

In this method, the probability of the presence of each data in a cluster is checked, and there is no certainty about whether or not it exists. For example, imagine that you are going to analyze the customers of your store so that you can know them better and offer products according to their tastes. You cannot create a new category (group, cluster) for each person. What you need to do is to divide them into different groups.

For simplicity in understanding the issue, suppose we don’t have more than three categories, which are: library, cosmetics and electronic devices.

If we use hard clustering algorithm, a customer either exists in a cluster or not. In other words, we are facing a binary decision.

If we use soft clustering algorithm, we can check the probability of one customer in each cluster. In this case, by using the combination of these probabilities, we can display products from each cluster depending on the probability of a customer being in it.

Clustering algorithms

There are many algorithms for clustering, each of which has its own definition of “similarity between two data”. There are more than 100 known algorithms for clustering. However, the most common clustering algorithms are:

  • Density-Based Methods
  • Hierarchical Based Methods
  • Partitioning Algorithms
  • Grid-based Algorithms

Applications of unsupervised machine learning

Unsupervised machine learning has many applications for which a separate article can be written. However, we intend to briefly explain some of the places where unsupervised machine learning is used.

Data mining

Data mining is the first step in data analysis that aims to discover knowledge from data. This process includes the use of data visualization tools, static analysis tools, etc. One of the most important data analysis tools, especially for big data, is the unsupervised learning tool in Bigpro1.

Data analysis

Anomaly detection

Anomaly detection seeks to find data, events or observations that are far from the normal behavior of a data set; It means data that have very different characteristics compared to other data. This can be a technical violation or a prelude to creating a new category.

Abnormality diagnosis-تشخیص ناهنجاری

Text processing in unsupervised learning

One of the most important applications of unsupervised machine learning is in text processing. Text processing is looking for ways to extract valuable data from texts. For example, when you type a question in the Google search box to find a result, you must have seen that it shows you the answer on the main page; This is an example of text processing to find answers to questions.
Natural Language Processing

Pattern recognition

Pattern recognition seeks to find a general way to identify and predict some data. For example, for handwriting processing, the pattern of each letter can be found and later if another type of that letter is observed, it can be calculated according to the pattern and finally predicted.
pattern- تشخیص الگو در یادگیری بدون نظارت

Predictive models

In simple words, building predictive models is a statistical technique that predicts the future by using machine learning and data mining and using previous data that is combined with historical information. Predictive models are used almost everywhere; For example, to predict the future purchases of customers of a store or to predict stock prices. Of course, each of these needs accurate and massive data sets.

prediction- مدل های پیش‌بینی کننده


Unsupervised machine learning, which is called by many titles (unsupervised machine learning, unsupervised learning, etc.), is one of the subsets of machine learning that seeks methods for clustering input data. Unlike supervised learning, unsupervised machine learning involves only unlabeled input data that needs to be labeled.

The most common algorithm used in unsupervised learning is clustering. Clustering actually seeks to identify similar data and categorize them. In general, clustering can be divided into hard and soft categories. In the hard way, a data is actually either in a cluster or not. In the soft method, the probability of a data in a cluster is checked.

Since each data can have different characteristics, there are different clustering methods mentioned above. Some applications of unsupervised machine learning include text processing, data mining, anomaly detection, building models to predict new data, etc.