Classification setup (Setup button)
   - algorithm
   - forward mapping and filter
   - triggering
Input list (left ">>" button)
Output list (right ">>" button)

Classification block performs one of the classification algorithms on the input vectors of the events from DataSet blocks connected to the input (left ">>" button) and sends resulting data to the DataSet blocks connected do the output (right ">>" button). Events in the output DataSets are constructed according to the forward mapping and filter rules. Results are also stored in the output vectors of events in the input DataSets. Each classification algorithm uses training patterns that are contained in DataSet pointed in the block's setup. Events in the training set must contain target vectors indicating class to which event belongs to. Target vector should consist of one element in case of two-class separation tasks; values recognized as "signal": 1.0, 0.95, 0.9; other values are treated as "background". Multi-class separation requires target vector length equal to the number of recognized classes. Each event has to be marked in the target vector with "signal" value placed on a position corresponding to the proper class.
Values returned as the result of classification of the event
x are estimators of the conditional likelihood:

P(x is C | x = input) = gC(x)∙pC / ∑gi(x)∙pi

where gi(x) are probability distribution functions and pi are a priori likelihoods.

To add the Classification block to the project, choose menu:

  • Edit - Add Component - Classification
Classification setup (Setup button)

Setup has only one independent control - block's name. Name should not contain white spaces nor "\" symbols - these characters may lead to mistakes in some cases.
Other controls are grouped in three tabs: classification setup, forward mapping and filter setup and triggering setup.
Apply button saves all parameters but doesn't start the calculations; Go! button saves parameters and starts calculations, it is enabled only in Manual trigger mode.

   - classification setup

Classification algorithms:

kNN:
k nearest neighbors; algorithm calculates outputs basing on the number of "signal" events among the k training events with the smallest distance to the classified event. It is simple, relatively fast and well known algorithm, but don't expect outstanding results.

Bayes: Class probability density distributions are estimated as a sums of the gaussian functions centered over events from the training set. Then conditional likelihood is calculated directly from the formula. Width of the gaussian functions is the user defined parameter. Algorithm is extremely time-consuming but a bit more reliable results than kNN.

LBGBins: Space of the training vectors is quantized with LBG algorithm to obtain
N representative vectors. These vectors become centroids of N sectors with uniform conditional likelihood calculated as a ratio of "signal" to "background" training events in the given sector (bin). Classified events are assigned to the nearest centroid and, in result, use its pre-calculated likelihood.

Remember: in most cases it is necessary to use some preprocessing (
N(0,1) normalization at least); this is true for all implemented algorithms.


clear input: Input
DataSets will be cleared after processing.
clear output: Output
DataSets will be cleared before processing. If unchecked - new events will be attached to the existing ones.

   - forward mapping and filter setup

When classification of events from input DataSets is done, theirs contents is sent to the output DataSets according to the forward mapping specifications. Destination events in each output DataSet may be composed in a different way. Select a DataSet in the Output Data Set list and put desired formatting strings for destination event vectors. In the image above there is a simple example:
- destination event input vector will be composed of the first and second element of the source event input vector;
- destination event output vector will be created with the length=1 and it will contain first element of the classification output vector;
- destination event target and not-used vector will not be allocated.
Events stored in the output
DataSets can be filtered (only events with the t1=0.95 will be sent to the "signal" DataSet in the example from the image above).

   - triggering setup

If Manual mode is selected, Go! button is enabled and it releases calculations. If Internal mode is chosen - Source button is enabled and it allows to select source of the trigger through the common Connection Add dialog window (Go! button is disabled); processing starts when one of the selected sources finished its own task.

--top--   --up--

Input list (left ">>" button)

Left button ">>" button opens the list of the training and testing DataSets (a bit extended Connection Add dialog window). Double-click on the item from the Available list adds new training set. Use lower "<<" button to add new item to the Testing sets list. Double-click on the item from the Training Sets and Testing Sets lists removes connection.

--top--   --up--

Output list (right ">>" button)

Connects the output of the Transform block to the destination DataSets. Opens common Connection Add dialog window.

--top--   --up--