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 create_class_mlp. Here, the parameter NumOutput must be increased by one.
The parameters of the rejection class are selected with GenParamName and the respective values with GenParamValue.
By default, the last class serves as the rejection class. If another class should be used, GenParamName must be set to 'rejection_class_index' and GenParamValue to the class index.
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_around_each_class', or '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 default, GenParamValue must be set to 'no_rejection_class'.
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 classifed 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 write_class_mlp.
This operator modifies the state of the following input parameter:
Names of the generic parameters.
Default value: 'sampling_strategy'
List of values: 'hyperbox_tolerance', 'random_seed', 'rejection_class_index', 'rejection_sample_factor', 'sampling_strategy'
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.