Classification of Complex Robot Swarm Behaviors
MAS622J Final Project - Aisha Walcott - Fall 2006




Methods & Results


Overall kNN and the single hidden layer NN performed well on the data set. Computing the features was computationally expensive, but a one-time only task. Determining the best k for kNN is similar to determining the best number of neurons for neural nets. NNs, however, have a large number of parameters that can be tuned to improve recognition results. kNN is a good technique when one need to quickly get an idea of the usefulness of the features. The two approaches to discretizing the feature space potentially caused the loss of useful feature information. As a result, the Bayes Net was not as effective as the other techniques. Particularly, it was not able to correctly recognize Bubble Sort. Further investigation needs to be done to  determine the best way to discretize the feature space.

Overall this project proved to be very challenging, but very rewarding. It developed during the final weeks of the course. Data had to be collected, and large amount of pre-processing software had to be written. Much was learned by going through the complete pattern recognition process from setting up experiments , to collecting data, to preprocessing, to extracting features, and finally to applying pattern recognition algorithms.

For future work feature selection should be applied to determine which combination of features provide the best classification results. This may also lead to a reduction in the dimensionality of the feature space. Also, PCA and FLD can be applied to reduce the dimensionality of the data. More sophisticated techniques such as SVMs can be used, but at the cost of determining the kernel. Another interesting approach is to use the temporal dynamics of the Swarm and use HMMs to try to classify what behavior the Swarm is executing. This would be done by observing the "sub-behaviors" the Swarm executed in order to achieve their goal behavior. Finally,  additional data of each behavior should be collected. For example, 100 samples per behavior.