Figure 5.1: General architecture for training
Our input consists of training data consisting of a set of streams, as described in chapter 3. Associated with each stream is a label. We also have a description of the format of the data in terms of which channels there are for the particular domain.
These raw data are then fed into two processes: the global feature calculator and the event extractor. The global feature calculator extracts information about the stream as a whole which may prove useful for classification, but is not associated with a particular part of a stream. This may include measures like the maxima and minima of particular channels, the energy level of a channel and so on. In some domains, these features are very useful for a preliminary classification.
The second is the event extractor. This uses the parametrised event primitives provided to it to search through the stream for anything that fits the requirements of the primitives. The event primitives depend on the domain itself. Each parametrised event primitive is a particular shape or type of event that occurs in the given domain. There is no requirement that there be only one type of event primitive. Different types of events may be extracted simultaneously.
The output from the event extractor is a set of events, each being described in terms of which parametrised event primitive it is an instance of and the parameters obtained from the actual data.
For each of the different event primitives, clustering can be performed in terms of the parameters that describe that primitive's features. This then allows the creation of groups of events that have similar characteristics. We can then consider each of these clusters as a synthetic event, i.e. we can now look at our original training streams and check for the presence or absence of that particular synthetic event.
This is exactly what the event attribution stage does. It checks for the presence or absence of the synthetic events output from the clustering algorithm. Of course, the event attribution can be more complicated, and rather than giving a binary yes/no answer, it could give a confidence measure based on the probability it assesses that the particular training stream has a particular synthetic event. Thus the more confident the event attributor is that the training stream has an event belonging to a given cluster, the higher the score it gets.
The attributes coming from global feature calculation and from the extraction-clustering-attribution process are then combined. What we now have is a set of featuress, that for all intents and purposes, we can treat as a normal set of attributes. We then apply feature selection to select the best set of features (and also possibly to reduce the number of event primitives we are searching for) and apply conventional attribute-value learning techniques.
As a result, we can produce a classifier that we then use in the recognition architecture.
Figure 5.2: General architecture for testing
The recognition architecture uses similar, though not identical, components to those used in training. It uses global feature calculation as in the first case - the only difference is that for recognition, we need only calculate the particular global features that were found to be useful for classification. Similarly, we do a selective event search, i.e. we need only search for events that were found to be useful to the classifier. We recombine the data from both sources as before. We can then use the classifier we constructed by the training architecture, to finally get a single class label.