📜 ⬆️ ⬇️

My experience with SOINN

For those who are not familiar with SOINN, I would say that this is a relatively new type of neural network called the Self Organizing Incremental Neural Network — a self-organizing, growing neural network.

Being engaged in algorithmic trading, for quite a long time I built trading robots on the basis of classical indicators and methods of technical analysis. Along the way, reading various articles, I came across references to neural networks that traders use to varying degrees of success for trading. This topic fascinated me.

The spirit captured from the very possibility of using AI in commerce.
I re-read everything I could find on neural networks, then installed the NeuroSolution package, and at the same time TraidingSolution, and I began to choose a villa on the Cote d'Azur ...
However, everything was not as simple and fast as I imagined. First of all, I ran into the problem of presenting data for the network. It’s not even how to scale them, but what kind of data to represent the networks, so that she could find the points of interest on the graph of price changes based on them.
By and large, this is the first and most important task that needs to be addressed before using any network. Otherwise, we will face the classic situation - “garbage at the entrance - garbage at the exit”.
')
To solve this problem, we had to try a large number of different ways and types of data presentation for the network. Ultimately, this method was found. I will not go into details, let me just say that in order to prepare the data for the network I had to write a rather complex program that was not related to the implementation of the network itself.
Next went the training. Classic nets were used on a small number of neurons. In the end, I was faced with the fact that the new data presented for training the network, push old.

And then I came across an article by Japanese / Chinese scientists about SOINN. Moreover, it was stated in the article that the Hasegawa laboratory website contains the example code for the implementation of a single-layer SOINN in C ++. I rushed to this site, but by that time the example had already been removed from there.
But praise Runetu! On the robotics site, one of our enthusiasts laid out and cleaned the SOINN example from Hasegawa, and even his own example of use.

I really liked the idea of ​​a self-developing network, which is not “stupid” as new knowledge is gained. I took the laid out library as a basis and wrote my SOINN implementation, “sharpened” for my tasks.
The first tests were encouraging. I used the “with teacher” network training method. The network very quickly (compared to classical networks) studied and found the patterns of interest in the source data.

Note that SOINN is a network that, by definition, is intended for classifying (clustering) data. Therefore, I refused from previously solved data prediction problems (predictions of the direction of movement of the price chart). Now solved the problem of pattern recognition, or finding the right patterns. Immediately make a reservation that we are not talking about recognizing the form of graphics. The pattern that searches for a network is a collection of a rather large set of data describing the most successful points for sale or purchase.

However, the example of SOINN, which was laid out by the authors, contained a version of the single-layer SOINN, although the classical SOINN should contain two layers. Moreover, apparently to simplify the example, the code did not implement some parts of the algorithm given in its mathematical description. Therefore, we had to supplement some modules with our own functions and implement a two-layer learning algorithm.

Currently, the trading robot is in the completion stage, on the basis of a trained SOINN. Preliminary results are encouraging.

I can not fail to note the usefulness and completeness of the article about SOINN from zkolenko. Having found it before, I would save a lot of time studying SOINN and everything connected with it.

Source: https://habr.com/ru/post/190280/


All Articles