| Prev | Start of Chapter | Next Chapter | Contents | Index | (18 out of 18)

Novelty Filter


The Novelty Filter is a filter that prevents a Data Set from being filled with redundant data. Whenever you add a data pair to the attached Data Set, the Novelty Filter checks whether there are more than a specified number of data pairs within a specified distance of the new data pair. If there are, the Novelty Filter removes the older data pair. The filter can also archive the removed data pairs to another Data Set.

To filter a Data Set, connect the filters`s capability link to it. To archive the removed data pairs in another Data Set, connect the filter's action link to it. Neither of these connections requires a port in the Data Set.

The Novelty Filter sends a control signal on its cp-out path whenever the filter detects a novel data pair.

Choosing Which Points to Keep

Whenever the attached Data Set receives a new data pair, the Novelty Filter encloses the input value with a rectangular cell. If that cell contains more than the maximum specified in the attribute Points per Cell, the Novelty Filter removes the oldest data pair from it. You set the sizes of the cell in the configuration panel. Each input has its own cell size, which is one-half the cell's width.

In the example below, there are three newly added data pairs (the filled circles) and a large number of existing data pairs (the empty circles). Each data pair has two inputs (X1 and X2). In the Novelty Filter's configuration panel, the size for X1 is 1 and the size for X2 is 2. This means that each new point is enclosed by a cell that is 2 by 4 units large. The maximum Points per cell is 3.


The following list describes how the Novelty Filter handles the three new points:

  1. Since the cell contains fewer than the maximum Points per cell, nothing is removed.

  2. Since the cell contains exactly the maximum Points per cell, nothing is removed.

  3. Since the cell contains more than the maximum Points per cell, the oldest data pair in the cell is removed. In this picture, that data pair has an X through it.

Deciding Whether a Data Pair is Novel

The Novelty Filter passes a control signal when it receives a data pair that it determines is novel. However, a data pair is not novel just because the filter keeps it. An incoming data pair is judged to be novel if either of the following criteria is satisfied:

  1. If the input cell contains only the newly received data pair, the data pair is novel.

  2. If the input cell contains other data pairs, the Novelty Filter averages the target values (or Y values) for those data pairs. Then, it computes the target values for the received data pair and encloses it in a cell. You specify the dimensions for the cell in the filter's configuration panel. These are different dimensions from the ones for the input cell. If the average output values fall outside the cell, the newly received data pair is novel.

Making Values Permanent

When you select make permanent from the block's menu, the block saves the sizes of all the input and output values.

Configuring

This is the configuration panel for the Novelty Filter.


Set Number of Inputs to the number of input values in each data pair, and set Number of Targets to the number of output values in each data pair. Set Points per Cell to the maximum number of data pairs you want inside each cell.

Once you have specified these attributes, select Edit Input Cell Sizes and Edit Target Cell Sizes to edit the cell sizes. The block displays a spreadsheet, which lets you enter the size for each input and output value.

For more information on the spreadsheet, see "Using the GXL Spreadsheet to Edit Data".

When you connect more than one filter to a Data Set, Execution Priority lets you determine when each executes. For more information, see "Choosing When a Data Set Filter Executes".

Example

In the example below, whenever the Current Data Set receives a data pair, the Novelty Filter removes any data pairs from the Unique Data Set that are close to it and places those data pairs in the Excess Data Set.


See Also

For more information on how to use this block, see the pages below.

Click here for more information...
Basic Block Behavior
Saving a Block's Data After Resetting G2
Outlier Filter
Data Pair Outlier Filter
First-Order Exponential Filter
Data Pair Quality Filter
Maximum Age Filter
Size Limitation Filter

| Prev | Start of Chapter | Next Chapter | Contents | Index | (18 out of 18)

Copyright © 1996, Gensym Corporation, Inc.