set_rejection_params_class_mlp — Set the parameters of a rejection class.
set_rejection_params_class_mlp sets the parameters of an
automatically generated rejection class inside of a multilayer
perceptron (MLP) given by
MLPHandle. In some applications,
it is desirable to know whether a feature vector is similar to one
of the training set. If a feature vector lies outside of the
provided training set, it should be classified as a special
rejection class. This means that the feature vector is different to
the confidence area of the classifier. If a rejection class should
be created automatically, an additional class must be specified
while creating the classifier in
NumOutput must be increased by one.
The parameters of the rejection class are selected with
GenParamName and the respective values with
By default, the last class
serves as the rejection class. If another class should be used,
GenParamName must be set to
GenParamValue to the
Currently, three strategies
exist to generate samples for the rejection class during the
training of the MLP. These strategies can be selected by setting
GenParamName to 'sampling_strategy' and
GenParamValue to 'hyperbox_around_all_classes',
'hyperbox_ring_around_each_class'. The sampling strategy
'hyperbox_around_all_classes' takes the bounding box of all
training samples that have been provided so far. The sampling
strategy 'hyperbox_around_each_class' is similar with the
only difference that the bounding box around each class is taken as
the area where the rejection samples are generated. The sampling
strategy 'hyperbox_ring_around_each_class' generates
samples only in the enlarged areas around the bounding box of each
class, thus generating a hyperbox ring around the original samples.
Please note that with increasing dimensionality the sampling
strategies 'hyperbox_around_each_class' and
'hyperbox_ring_around_each_class' provide the same result.
If no rejection class sampling strategy should be used, which is the
GenParamValue must be set to
The factor 'hyperbox_tolerance' describes by what amount the bounding box should be enlarged in all dimensions. Then, inside this box samples are randomly generated from a uniform distribution. The default value is 0.2.
The number of rejection samples is the number of provided samples multiplied by 'rejection_sample_factor'. If not enough samples are generated, the rejection class may not be classified correctly. If the rejection class has too many samples, the normal classes are classified as rejection class. The default value is 1.0. Note that the training time will increase by a factor of , where is the value of 'rejection_sample_factor'.
To ensure reproducible results, a random seed can be set with 'random_seed'. The default value is 42.
Because this operator only parametrizes the training of the MLP, the
values are not saved by
This operator modifies the state of the following input parameter:
During execution of this operator, access to the value of this parameter must be synchronized if it is used across multiple threads.
MLPHandle(input_control, state is modified) class_mlp
Names of the generic parameters.
Default value: 'sampling_strategy'
List of values: 'hyperbox_tolerance', 'random_seed', 'rejection_class_index', 'rejection_sample_factor', 'sampling_strategy'
→(string / real / integer)
Values of the generic parameters.
Default value: 'hyperbox_around_all_classes'
List of values: 'hyperbox_around_all_classes', 'hyperbox_around_each_class', 'hyperbox_ring_around_each_class', 'no_rejection_class'
If the parameters are valid, the operator
set_rejection_params_class_mlp returns the value 2 (H_MSG_TRUE). If
necessary, an exception is raised.