M
M
mrolivka2018-10-03 01:25:41
Neural networks
mrolivka, 2018-10-03 01:25:41

How to design a neural network correctly?

Greetings. For some time now, I have been closely interested in machine learning, neural networks and everything related to it for performing multiclassification and regression tasks. There are the following conditions:
1. Dataset which contains the input data for multiclassification and regression, and the classification should take place on the data obtained after the regression and at the same time take into account the past "experience" .
2. Data input, on which the neural network should perform regression and multiclassification, and return the calculated values. Classification format a<-b<-c where a - class=-1, b - class=0, c - class=1.
Approximate representation of the neural network topology. Asterisks mark the main values ​​(x1,x2,x1_nn,x2_nn) on the basis of which multiclassification should take place (x6,x6_nn):

Topology image
5bb3ebcbebfd9265695576.jpeg
Desirable features, but optional at this stage:
1. Self-learning based on the difference between predicted (xn_nn) and actual values ​​(xn).
2. Adding input data as a separate branch (xn) to improve forecasting results.
The basis of the C++ language. Heard about R, but not familiar with it. Python can be sort of used through crutches (ZeroMq), but I haven’t figured out the crutches themselves yet. Ideally, a trained neural network is connected via .dll, a function is called, a calculation takes place, and so on until the next call. I am new to machine learning, so errors are possible both in the representation and in the tasks.
I would like to understand if it is possible to do this, how to organize everything correctly, with good performance and preferably a simple implementation =) Which topology is best suited for the given tasks? What libraries, packages to use (I look towards CatBoost from Yandex, but everything is not so simple there either)? Books, tutorials, articles, videos, everything that can be useful is ready to study up and down, just tell me where (I have already rummaged through a lot of information). Thank you for reading to the end.

Answer the question

In order to leave comments, you need to log in

2 answer(s)
I
ivodopyanov, 2018-10-03
@mrolivka

1. Classification and regression are different tasks. In principle, it is possible to organize as you described, but in this case, the regression results will be a kind of bottleneck for classification. Why limit the amount of information available to a classifier?
2. The network topology is usually much more complex than one hidden layer, as shown in your picture and depends on the nature of the input data. Is the data a sequence or a one-time "snapshot" of the state of the environment? Are they homogeneous or come from different sources? Etc. It's easier just to give a hint on the problem statement.
3. Python is easier to use for machine learning. CatBoost is a library for gradient boosting (a completely different algorithm and architecture than neural networks). In Python, one of the most convenient and simple libraries for training neural networks is keras. There is also sklearn, where several other, more "simple" algorithms are implemented.

D
dmshar, 2018-10-03
@dmshar

I still don't understand what the question is.
If "how to do it" - despite the fact that "this" is almost the entire course on ML and
DL - then looking for an answer on the forum in the presence of just an ocean of resources on the net is somehow strange.
If how to do it in C ++ "- then there seems to be no lack of information either.
Oh really? How did you manage to do it - you can't find anything.
Well, for starters, it might help:
https://www.amazon.com/C-Machine-Learning/dp/1786468409
https://www.oreilly.com/library/view/machine-learn... "
" https://www.amazon.com/Deep-Belief-Nets-CUDA-Feedf... "
https://www.amazon.com/Data-Mining-Algorithms-Patt... "
https://habr. com/post/335838/
www.mlpack.org

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question