Understanding neural networks

An artificial neural network (ANN) is a mathematical model, as well as its software or hardware implementation, built on the principle of organization and operation of biological neural networks - networks of nerve cells of a living organism

Engaging in the optimization of business processes using neural networks (anti-fraud systems, trading robots), we can conclude that the integration of systems with machine learning can significantly improve the competitive advantages of the market.

A characteristic of neural networks is the fact that they are able to learn how to improve their efficiency.

There is a huge mass of neural networks and different types of learning, but the main learning approaches are:

  • Neural networks studying with a teacher;
  • Neural networks, students without a teacher.

Neural networks studying with a teacher

Supervised learning involves the availability of a complete set of tagged data to form a model at all stages of its construction.

The presence of a fully marked data set means that each example of the training set corresponds to the response that the algorithm must receive. Thus, a data set marked with flower photos will teach a network of neurons composed of roses, daisies and daffodils. When the network receives a new photo, it compares it to the examples in the training data set to predict the response.

Basically, teacher training is used to solve two types of problems: classification and regression.

In classification problems, the algorithm predicts discrete values corresponding to the numbers of the classes to which the objects belong. In a sample of data learning with photographs of animals, each image will have a corresponding label, for example a cat, a koala or a turtle. The quality of the algorithm is estimated based on the accuracy with which it can properly classify new photos with koalas and turtles.

But regression tasks are associated with continuous data. An example, linear regression, calculates the expected value of the variable y, taking into account the specific values of x. (By the way, linear regression methods are widely used in statistics).

More utilitarian machine learning tasks involve a large number of variables. For example, a neural network that predicts the price of an apartment in a city based on its size, location and accessibility of public transport. The algorithm does the work of an expert who calculates the price of an apartment based on the data obtained.

It can be concluded that neural networks studying with a teacher are more efficient when there is a large sample of reliable data.

Neural networks, students without the help of a teacher

It is sometimes difficult to obtain a large number of clean and reliable data. Therefore, the algorithm must find previously unknown answers. In this situation, we are dealing with neural networks formed without a teacher.

In a training without a teacher, the model has a set of data, and there is no clear indication of what to do with it. The neural network tries to independently find correlations in the data, extracting useful signs and analyzing them. (When writing a trading robot for the investment pool of the Range.Trade project, the neural network found a lot of unidentified specialists between market phases and indications of custom indicators).

Grouping of data based on common features

Depending on the task, the model organizes the data in different ways.

  • Clustering. The algorithm finds common features in a sample of data and splits them.
  • Detection of anomalies. Banks can detect fraudulent transactions by identifying unusual actions in the buying behavior of customers. For example, it is suspect that a credit card is used in one city and after 5 minutes in another, located 3000 km from the first. The anti-fraud systems we have written for our customers are an example of this type of system.
  • Associations. Some features of the object correlate with other signs. Considering some key features of an object, the model can predict others with which there is a relationship.
  • Auto-encoders. Auto-encoders take input data, encode it, and then try to recreate the original data from the resulting code. There are not many real situations when using a simple autoencoder. But it is useful to add layers and features that develop: using noisy and original image versions for training, auto-encoders can remove the noise of video data, images or medical scans to improve the quality of the data.

In a training without a teacher, it is difficult to calculate the accuracy of the algorithm because there is no "correct answer" or tag in the data. But the marked data are often unreliable or too expensive to obtain. In such cases, by giving the model the freedom to search for dependencies, you can achieve good results. We used the data approach to form the shortest path algorithm using the formic optimization method. To have fun.

To find out if this task is suitable for optimization by neural networks, you can consult us.

Share this:

Tags:

    Let's do this together -
    Your business has a story

    Callback request

    We will call you back within an hour or at a convenient time for you

    Live Chat
    ×