Is Neural Network Toolbox capable of this or can you recommend anything else?
3 views (last 30 days)
Show older comments
muhkuhmw on 22 Jul 2015
Commented: muhkuhmw on 24 Jul 2015
I don't share any experiences with Mathlab and/or Neural Networks in general.
I just wan't to know, if my task can be accomplished by NNT or if I do have the very wrong idea of neural networks.
I have 8 rows of measurement values that come in every 4 seconds and change by nature. When I do specific tasks, they change even more.
I manually added two more rows to tell WHAT happened and WHERE. 4 (or 5) cases of WHERE and integer values of WHAT (more like HOW MUCH) happened.
Of course there is a lot of input data...
In the end I want the Neural Network to be able to tell me WHERE WHAT happened based on the incoming measurement values.
So I want to "train" it with something like this:
and as a result it shall later be able to give me the responding HOW MUCH + WHERE values for new measurements..
Nick Hobbs on 24 Jul 2015
From what I understand your goal is to predict the 9th and 10th columns based on the information in columns 1 to 8. More specifically, where there is a large jump in the data in the field MV1 HL, you want your neural network to provide you with WHERE and HOW MUCH happened. A neural network can do this for you, as a neural network simply creates a function given data (assuming that there is a function for the parameters you provide). The most direct way I can think of to handle this is to not label columns 9 and 10 with 0's, but instead label them all with the same action. So for example, rows 4-9, will all have HOW MUCH 70 and WHERE 0. Then when you do your data analysis, just look for cases where the HOW MUCH or WHERE categories change. You could do this with a feed forward neural network, where one output neuron is a regression neuron whose goal it is to predict HOW MUCH, and then you could have 4 or 5 output neurons for the value of WHERE and take the value which is highest for the appropriate WHERE. However, this method assumes that these values are independent of the previous input (That they can only be predicted only based on the current time step).
If you have a guarantee that the change is only between a time step T and T-1, an alternative method to handle the analysis would be for the neural network to not only include 8 pieces of data, but 16 pieces of data. So the network would take as input all of the variables in columns 1-8 for time T and all of the variables in columns 1-8 for time T-1. Then you would train the network on the types of changes it should provide you the values of WHERE and HOW MUCH. As an example in your code, you would provide columns 1-8 with rows 3-4, and tell the network the output is HOW MUCH 70 and WHERE 0.
To summarize these two approaches, in the first example, you could try to design a neural network which would try to create the function f(MV1 HL, MV2 HL, MV1 HR, MV2 HR, MV1 VL, MV2 VL, MV1 VR, MV2 VR) = HOW MUCH, WHERE. This method assumes that the data can be differentiated solely based on these values, and are not dependent on the previous time step.
If you have a guarantee that the change is between two time steps of T and T-1, you could create a neural network which takes in 16 parameters. This method should also allow you to maintain your 0's (You would train the network such that if two values are close together, to provide a value of 0). This network would try to create the following function f(MV1 HL(T), MV2 HL(T), MV1 HR(T), MV2 HR(T), MV1 VL(T), MV2 VL(T), MV1 VR(T), MV2 VR(T), MV1 HL(T-1), MV2 HL(T-1), MV1 HR(T-1), MV2 HR(T-1), MV1 VL(T-1), MV2 VL(T-1), MV1 VR(T-1) MV2 VR(T-1)) = HOW MUCH, WHERE. For this setup, however, you will need a large number of training examples because you would have 16 input parameters and the network must learn to differentiate the cases.
Find more on Descriptive Statistics in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!