I'm a .Net programmer who is fairly new to neural networks, but I know some of the concepts. I have connected .Net to my copy of Mathematica 10

This is a classification

Our business problem is that we have these charts that have 2 or more lines (series) on them. Depending on what the lines are doing over time (increase / decrease, speed of increase / decrease) (and they vary independently), and how they vary with respect to each other, we have human analysts working here who can look at those charts and say "normal operation" or one of several types of exception conditions. They do this informally but quite accurately.

enter image description here

So, my questions is, what kind of neural network is this, that can classify this multiple time series data?

  • $\begingroup$ The Mathematica questions are off-topic here, but there is Mathematica once you have the conceptual issues sorted out. Your Q isn't that clear however. Can you show a plot of some sample data &/or say more about your ANN? $\endgroup$ – gung Feb 14 '15 at 22:27
  • $\begingroup$ @gung, thanks. Please see my edit. No ANN currently exists. $\endgroup$ – toddmo Feb 14 '15 at 22:50
  • $\begingroup$ Thank you. So you want an ANN to classify, for each line, whether it is going up or down, & how fast, & want it to do this in real time, is that right? $\endgroup$ – gung Feb 14 '15 at 22:50
  • $\begingroup$ @gung, actually it's more general than that. The human analyst can look at the above graph and classify it as one of about 8 error conditions, or normal. They are not looking at lines individually, but the graph as a whole. Several things are happening in the system at once and this time series data is plotted and the interplay between these lines and what the lines are doing form a classification. Kinda like if you saw a graph of taxes going up and income going down, you would classify that as "people in this country at this time were probably unhappy". $\endgroup$ – toddmo Feb 14 '15 at 23:14
  • $\begingroup$ I realize that you question is focused on neural networks. But, if you will be considering alternatives, you could use dynamic time warping for time series classification. See the relevant answer of mine. $\endgroup$ – Aleksandr Blekh Feb 15 '15 at 10:19

This is called sequence classifiation problem. The simplest ANN to do that is probably time-delay neural network (TDNN) that takes vector of current values together with N vectors of data values at previous time steps and predict current tag (one of 9 possible conditions in your case). So typical setup to try first can consist of input vectors array, one hidden layer and one output softmax layer. You sequence will need to be hand-labeled to obtain training data of course. This kind of NN is easy to implement and there are ready to use .NET libraries so you can avoid interfacing things with Mathematica if you want.

More advanced methods use recurrent neural networks (RNN) including long short-term memory and various hybrid architectures also exist together with a lot of tricks to make things work when they don't.

  • $\begingroup$ Good answer (+1). However, it could be much improved by providing additional details, small code sample and references to the corresponding literature, mentioned methods and software. $\endgroup$ – Aleksandr Blekh Feb 15 '15 at 10:23
  • $\begingroup$ Ok Denis thank you very much. Your description of my problem sounds accurate and I will research TDNN with input vectors and softmax output layer. I assume by hand-labeled you mean the "answers" for the supervised learning. We should have those from historical data given by the human analysts. $\endgroup$ – toddmo Feb 15 '15 at 21:28
  • $\begingroup$ Glad my answer was helpful. Yes, "hand-labeled" means human annotated data, past history is ok, as long as nature of signal is not changing. Should you encounter any problems with classifier, feel free to ask ) $\endgroup$ – Denis Tarasov Feb 16 '15 at 18:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.