## 3 Proposed Approach
### Possibilistic Fuzzy Multi-Class Novelty Detector  
The PFuzzND approach [5] is used for the dynamic novelty detection learning scenario. It is an improved version of the Fuzzy multi-class Novelty Detector for data streams [74], which is a fuzzy generalization of the offline-online framework presented in [11] for the MINAS approach. All the mentioned algorithms can be divided into two stages. During the first stage, called offline, the model is built using a labelled training dataset. The second stage, during which new classes may emerge and disappear and the old classes may also drift, is referred to as the online or the prediction stage. In the offline step of the PFuzzND algorithm, a decision model is learned from a labelled set of examples using the PFCM clustering method. To be more specific, for each known class a given number of clusters, \(k_{class}\), is designed, and this number is a user-defined parameter that can only increase (differently for each class) during the online stage until it reaches the maximum possible value \(c_{max}\). It also should be noted that \(k_{class}\) is the same for all known classes during the offline phase, and each class cannot be divided into more than \(c_{max}\geq k_{class}\) clusters. Furthermore, the maximum number of clusters, \(c_{max}\), that can be created for each class (normal or novel), is another user-defined parameter, which does not change during operation of the algorithm. Finally, it is assumed that generally only the portion \(p_{offline}\) of instances from the dataset are labelled, and, thus, they are used during the offline stage. Thus, let us denote the number of the classes, known at the offline stage, as \(L_{kn}\), then at the beginning of the online stage the decision model is defined as the set of \(L_{kn}\times k_{class}\) clusters found for all \(L_{kn}\) different known classes. Additionally, an empty external set, called short memory, is created at the end of the offline phase. Examples labelled during the online stage as unknown are stored in the short memory for a time period \(ts\), after this time limit, these instances are removed from the mentioned set. The latter can occur if it is established that they do not belong to the existing classes, and do not form novel classes either. Thus, these instances are considered as anomalies. Moreover, there are four additional user-defined parameters for the online phase of the PFuzzND approach:  
1. The minimum number of instances (denoted as \(N_{sm}\)) in the short memory to start the novelty detection procedure. 2. The initial threshold, \(\theta_{init}\), to launch the classification process of the unlabelled instances. 3. Two adaptation thresholds, \(\theta_{class}\) and \(\theta_{adapt}\), used during the classification step. During the online step, first, for each new instance, \(x_{j}\), its membership and typicality values related to all clusters, known at the moment, are calculated. Typicality values have more influence here as they are used to determine whether the instance \(x_{j}\) will be labelled by one of the existing classes or will be marked as unknown. For this purpose, the highest typicality value of the \(j\)-th instance and the corresponding existing class, \(y_{c}\) (\(c=\overline{1,L_{kn}}\)), are determined. Subsequently, the maximum typicality values are found for all instances considered before the new one arrives (and these instances should belong to the class \(y_{c}\)), and the mean value of these typicalities is calculated. Let us denote this mean value as \(m_{ct}\), where \(t\) is a timestamp, which shows how many instances were processed after the offline stage, and, therefore, is equal to 1 at the beginning of the online stage. If the highest typicality of the new instance, \(x_{j}\), is greater than the difference between the obtained mean value \(m_{ct}\) and the adaptation threshold \(\theta_{adapt}\), then the instance \(x_{j}\) belongs to the class \(y_{c}\)[5].