serial classification of timeseries "phases" with neural network
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Brian
el 21 de Mzo. de 2013
Respondida: Dan
el 8 de Sept. de 2016
Hello,
I'm just getting acquainted with methods of machine learning, and am experimenting with neural networks at the moment. I need some advice how to approach a specific task of classification where serial ordering is important as well.
My current goal is to examine a data timeseries, and classify it into successive phases. I have not seen any examples of classificaiton where there is a serial dependence between classes, and a fixed order that must be satisfied.
To better explain the data set, and the task scenario, the data is acquired from a motion analysis system. There are 7 motion-tracked markers on someone's hand/arm, and the dataseries is captured in 3D, i.e. 21 features total.
There are multiple repetitions of the following behavioural task: 1. trial begins with hand at rest 2. after short delay, a the hand is lifted and moves to a target location to pick up an object 3. the object is lifted (from target-0), and then set down at another location (target-1) 4. the object then picked up from target-1 and set down at target-2
In other words the phases I need to classify would be: phase 1 would be from the beginning of the timeseries until the hand is lifted phase 2 the relatively motionless period during grasping the object at target-0 until lifting the object at target-0 phase 3 the time spent in motion from lifting the object at target-0 to setting down the object at target-1 phase 4 the relatively motionless period during setting the object at target-1, to lifting it from target-1 phase 5 the time spent in motion from lifting the object at target-1 to setting down the object at target-2
My goal is to train a neural network to recognize when the hand is initially lifted from the neutral position, when the hand reaches the target-0 to lift the object, when the hand sets down the object at target-1, and when the hand lifts from target-1 and then sets down object at target-2.
I can manually create the correct classifications for training data very easily, as the data stream is easy to classify through a visual inspection of the plotted timeseries. My use for applying a solution with a neural network is to infer when each movement phase starts/ends for many separate iterations (over a thousand) of this pattern of movement.
Any suggestions how to approach this problem?
If the info provided isn't adequate to understand my data or classification challenge, I'll post a reply with links to some plots.
Thanks, Brian
p.s. I'm not so much worried about data preprocessing as I am about how to construct, train and use an appropriate neural network model.
0 comentarios
Respuesta aceptada
Greg Heath
el 23 de Mzo. de 2013
Inputs to both both static and dynamic nets have a fixed number of inputs. There may be problems if the significant temporal length of feature vectors is variable.
If you are considering a stream of multivariable data with variable length feature regions separated by variable length non-feature regions, it will be very, very difficult.
The success of a this type of classifier depends on preprocessing. Therefore you have to have a clear idea of
1. How to recognize the presence of target data
2. How to extract the data from the steam
0 comentarios
Más respuestas (2)
Dan
el 8 de Sept. de 2016
You may wish to consider lstm's ( long short term memory networks ( or recurrent nn's in general ) . https://github.com/yechengxi/LightNet Has a simple implementation with an example for predicting the next letter in a sequence ( a letter is really a class in this case) . Good luck Dan
0 comentarios
Greg Heath
el 21 de Mzo. de 2013
1. Obtain N training pairs of I-dimensional inputs and corresponding O-dimensional targets
2. If the task is classification between c mutually exclusive categories, the targets can be columns of the c-dimensional unit matrix eye(c). Then outputs can be interpreted as estimates of class conditional posterior probabilities, conditional on the input.
3. For an arbitrary input, the input is assigned to the category corresponding to the maximum output component.
4. Form input and target matrices with dimensions [ I N ] and [ O N ], respectively.
5. Use patternnet
help patternnet
doc patternnet
6. Practice on one or more of the MATLAB classification/pattern-recognition data sets
help nndatsets
7. Search through the NEWSGROUP and ANSWERS for posts containing the keyword PATTERNNET.
Hope this helps.
Greg
2 comentarios
Ver también
Categorías
Más información sobre Sequence and Numeric Feature Data Workflows en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!