ClassesClasses | | Operators

set_rejection_params_class_mlpT_set_rejection_params_class_mlpSetRejectionParamsClassMlpSetRejectionParamsClassMlp (Operator)

Name

set_rejection_params_class_mlpT_set_rejection_params_class_mlpSetRejectionParamsClassMlpSetRejectionParamsClassMlp — Set the parameters of a rejection class.

Signature

set_rejection_params_class_mlp( : : MLPHandle, GenParamName, GenParamValue : )

Herror T_set_rejection_params_class_mlp(const Htuple MLPHandle, const Htuple GenParamName, const Htuple GenParamValue)

void SetRejectionParamsClassMlp(const HTuple& MLPHandle, const HTuple& GenParamName, const HTuple& GenParamValue)

void HClassMlp::SetRejectionParamsClassMlp(const HTuple& GenParamName, const HTuple& GenParamValue) const

void HClassMlp::SetRejectionParamsClassMlp(const HString& GenParamName, const HString& GenParamValue) const

void HClassMlp::SetRejectionParamsClassMlp(const char* GenParamName, const char* GenParamValue) const

static void HOperatorSet.SetRejectionParamsClassMlp(HTuple MLPHandle, HTuple genParamName, HTuple genParamValue)

void HClassMlp.SetRejectionParamsClassMlp(HTuple genParamName, HTuple genParamValue)

void HClassMlp.SetRejectionParamsClassMlp(string genParamName, string genParamValue)

Description

set_rejection_params_class_mlpset_rejection_params_class_mlpSetRejectionParamsClassMlpSetRejectionParamsClassMlpSetRejectionParamsClassMlp sets the parameters of an automatically generated rejection class inside of a multilayer perceptron (MLP) given by MLPHandleMLPHandleMLPHandleMLPHandleMLPHandle. 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_mlpcreate_class_mlpCreateClassMlpCreateClassMlpCreateClassMlp. Here, the parameter NumOutputNumOutputNumOutputNumOutputnumOutput must be increased by one.

The parameters of the rejection class are selected with GenParamNameGenParamNameGenParamNameGenParamNamegenParamName and the respective values with GenParamValueGenParamValueGenParamValueGenParamValuegenParamValue.

'rejection_class_index'"rejection_class_index""rejection_class_index""rejection_class_index""rejection_class_index":

By default, the last class serves as the rejection class. If another class should be used, GenParamNameGenParamNameGenParamNameGenParamNamegenParamName must be set to 'rejection_class_index'"rejection_class_index""rejection_class_index""rejection_class_index""rejection_class_index" and GenParamValueGenParamValueGenParamValueGenParamValuegenParamValue to the class index.

'sampling_strategy'"sampling_strategy""sampling_strategy""sampling_strategy""sampling_strategy":

Currently, three strategies exist to generate samples for the rejection class during the training of the MLP. These strategies can be selected by setting GenParamNameGenParamNameGenParamNameGenParamNamegenParamName to 'sampling_strategy'"sampling_strategy""sampling_strategy""sampling_strategy""sampling_strategy" and GenParamValueGenParamValueGenParamValueGenParamValuegenParamValue to 'hyperbox_around_all_classes'"hyperbox_around_all_classes""hyperbox_around_all_classes""hyperbox_around_all_classes""hyperbox_around_all_classes", 'hyperbox_around_each_class'"hyperbox_around_each_class""hyperbox_around_each_class""hyperbox_around_each_class""hyperbox_around_each_class", or 'hyperbox_ring_around_each_class'"hyperbox_ring_around_each_class""hyperbox_ring_around_each_class""hyperbox_ring_around_each_class""hyperbox_ring_around_each_class". The sampling strategy 'hyperbox_around_all_classes'"hyperbox_around_all_classes""hyperbox_around_all_classes""hyperbox_around_all_classes""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'"hyperbox_around_each_class""hyperbox_around_each_class""hyperbox_around_each_class""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'"hyperbox_ring_around_each_class""hyperbox_ring_around_each_class""hyperbox_ring_around_each_class""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'"hyperbox_around_each_class""hyperbox_around_each_class""hyperbox_around_each_class""hyperbox_around_each_class" and 'hyperbox_ring_around_each_class'"hyperbox_ring_around_each_class""hyperbox_ring_around_each_class""hyperbox_ring_around_each_class""hyperbox_ring_around_each_class" provide the same result. If no rejection class sampling strategy should be used, which is the default, GenParamValueGenParamValueGenParamValueGenParamValuegenParamValue must be set to 'no_rejection_class'"no_rejection_class""no_rejection_class""no_rejection_class""no_rejection_class".

'hyperbox_tolerance'"hyperbox_tolerance""hyperbox_tolerance""hyperbox_tolerance""hyperbox_tolerance":

The factor 'hyperbox_tolerance'"hyperbox_tolerance""hyperbox_tolerance""hyperbox_tolerance""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.

'rejection_sample_factor'"rejection_sample_factor""rejection_sample_factor""rejection_sample_factor""rejection_sample_factor":

The number of rejection samples is the number of provided samples multiplied by 'rejection_sample_factor'"rejection_sample_factor""rejection_sample_factor""rejection_sample_factor""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'"rejection_sample_factor""rejection_sample_factor""rejection_sample_factor""rejection_sample_factor".

'random_seed'"random_seed""random_seed""random_seed""random_seed":

To ensure reproducible results, a random seed can be set with 'random_seed'"random_seed""random_seed""random_seed""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_mlpwrite_class_mlpWriteClassMlpWriteClassMlpWriteClassMlp.

Execution Information

This operator modifies the state of the following input parameter:

The value of this parameter may not be shared across multiple threads without external synchronization.

Parameters

MLPHandleMLPHandleMLPHandleMLPHandleMLPHandle (input_control, state is modified)  class_mlp HClassMlp, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

MLP handle.

GenParamNameGenParamNameGenParamNameGenParamNamegenParamName (input_control)  string(-array) HTupleHTupleHtuple (string) (string) (HString) (char*)

Names of the generic parameters.

Default value: 'sampling_strategy' "sampling_strategy" "sampling_strategy" "sampling_strategy" "sampling_strategy"

List of values: 'hyperbox_tolerance'"hyperbox_tolerance""hyperbox_tolerance""hyperbox_tolerance""hyperbox_tolerance", 'random_seed'"random_seed""random_seed""random_seed""random_seed", 'rejection_class_index'"rejection_class_index""rejection_class_index""rejection_class_index""rejection_class_index", 'rejection_sample_factor'"rejection_sample_factor""rejection_sample_factor""rejection_sample_factor""rejection_sample_factor", 'sampling_strategy'"sampling_strategy""sampling_strategy""sampling_strategy""sampling_strategy"

GenParamValueGenParamValueGenParamValueGenParamValuegenParamValue (input_control)  string(-array) HTupleHTupleHtuple (string / real / integer) (string / double / int / long) (HString / double / Hlong) (char* / double / Hlong)

Values of the generic parameters.

Default value: 'hyperbox_around_all_classes' "hyperbox_around_all_classes" "hyperbox_around_all_classes" "hyperbox_around_all_classes" "hyperbox_around_all_classes"

List of values: 'hyperbox_around_all_classes'"hyperbox_around_all_classes""hyperbox_around_all_classes""hyperbox_around_all_classes""hyperbox_around_all_classes", 'hyperbox_around_each_class'"hyperbox_around_each_class""hyperbox_around_each_class""hyperbox_around_each_class""hyperbox_around_each_class", 'hyperbox_ring_around_each_class'"hyperbox_ring_around_each_class""hyperbox_ring_around_each_class""hyperbox_ring_around_each_class""hyperbox_ring_around_each_class", 'no_rejection_class'"no_rejection_class""no_rejection_class""no_rejection_class""no_rejection_class"

Result

If the parameters are valid, the operator set_rejection_params_class_mlpset_rejection_params_class_mlpSetRejectionParamsClassMlpSetRejectionParamsClassMlpSetRejectionParamsClassMlp returns the value 2 (H_MSG_TRUE). If necessary, an exception is raised.

Possible Predecessors

create_class_mlpcreate_class_mlpCreateClassMlpCreateClassMlpCreateClassMlp

Possible Successors

train_class_mlptrain_class_mlpTrainClassMlpTrainClassMlpTrainClassMlp

Module

Foundation


ClassesClasses | | Operators