RAD: On-line Anomaly Detection for Highly Unreliable Data

Classification algorithms have been widely adopted to detect anomalies for various systems, e.g., IoT, cloud and face recognition, under the common assumption that the data source is clean, i.e., features and labels are correctly set. However, data collected from the wild can be unreliable due to careless annotations or malicious data transformation for incorrect anomaly detection. In this paper, we present a two-layer on-line learning framework for robust anomaly detection (RAD) in the presence of unreliable anomaly labels, where the first layer is to filter out the suspicious data, and the second layer detects the anomaly patterns from the remaining data. To adapt to the on-line nature of anomaly detection, we extend RAD with additional features of repetitively cleaning, conflicting opinions of classifiers, and oracle knowledge. We on-line learn from the incoming data streams and continuously cleanse the data, so as to adapt to the increasing learning capacity from the larger accumulated data set. Moreover, we explore the concept of oracle learning that provides additional information of true labels for difficult data points. We specifically focus on three use cases, (i) detecting 10 classes of IoT attacks, (ii) predicting 4 classes of task failures of big data jobs, (iii) recognising 20 celebrities faces. Our evaluation results show that RAD can robustly improve the accuracy of anomaly detection, to reach up to 98 device attacks (i.e., +11 under 40 noisy labels. The proposed RAD is general and can be applied to different anomaly detection algorithms.



There are no comments yet.


page 1


Enhancing Robustness of On-line Learning Models on Highly Noisy Data

Classification algorithms have been widely adopted to detect anomalies f...

Evaluation of Point Pattern Features for Anomaly Detection of Defect within Random Finite Set Framework

Defect detection in the manufacturing industry is of utmost importance f...

Global Information Guided Video Anomaly Detection

Video anomaly detection (VAD) is currently a challenging task due to the...

Challenges and Solutions to Build a Data Pipeline to Identify Anomalies in Enterprise System Performance

We discuss how VMware is solving the following challenges to harness dat...

BAD: Blockchain Anomaly Detection

Anomaly detection tools play a role of paramount importance in protectin...

Improving Predictability of User-Affecting Metrics to Support Anomaly Detection in Cloud Services

Anomaly detection systems aim to detect and report attacks or unexpected...

RadArnomaly: Protecting Radar Systems from Data Manipulation Attacks

Radar systems are mainly used for tracking aircraft, missiles, satellite...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

I Introduction

Anomaly detection is one of the core operations for enforcing dependability and performance in modern distributed systems [44, 29]. Anomalies can take various forms including erroneous data produced by a corrupted IoT device or the failure of a job executed in a datacenter [7, 6, 47].

Dealing with this issue has often been done in recent art by relying on machine learning-based classification algorithms over system logs [11, 13] or backend collected data [46, 17]. These systems often rely on the assumption of clean datasets from which the classifier learns to distinguish between data corresponding to a correct execution of the system from data corresponding to an abnormal execution of the latter (i.e., anomaly detection). As workloads at real systems are highly dynamic over time, it is even more challenging to predict anomalies that can not be easily distinguished from the system dynamics, compared to the systems with static workloads.

In this context, a rising concern when applying classification algorithms is the accessibility to a reliable ground truth for anomalies [9]. Typically, anomaly data is manually annotated by human experts and hence the generation of anomaly labels is subject to quality variation, so-called noisy labels. For instance, annotating service failure types for data centers is done by operators.

However, standard machine learning algorithms typically assume clean labels and overlook the risk of noisy labels. Moreover, recent studies point out the increasing dirty data attacks that can maliciously alter the anomaly labels to mislead the machine learning models [18, 10, 15]. As a result, anomaly detection algorithms need to capture not only anomalies that are entangled with system dynamics but also the unreliable nature of anomaly labels.

Indeed, a strong anomaly classification model can be learned by incorporating a larger amount of datasets; however learning from data with noisy labels can significantly degrade the classification accuracy, even for deep neural networks, at a non-negligible computation resource 

[39, 45]. Such a concern leads us to ask the following question: how to build an anomaly detection framework that can robustly differentiate between true and noisy anomalies and efficiently learn anomaly classification models from a succinct amount of clean data. The immediate challenge of capturing the dynamics of data quality lies at the fact that label qualities are not directly observable but only via anomaly classification outcomes that in turn are coupled with the noise level of data labels.

We extend Robust Anomaly Detector (RAD) [47]

, a generic framework that continuously learns an anomaly classification model from streams of event logs or images that are subject to label noise. The original design of RAD is composed of two layers of learning models, i.e., a data label model and an anomaly classifier. The label model aims at differentiating the label quality, i.e., noisy v.s. true labels, for each batch of new data and only ”clean” data points are fed in the anomaly classifier. The anomaly classifier predicts the event outcomes that can be in multiple classes of (non)anomalies, depending on the specific anomaly use case. In this extension, we derive three alternatives of RAD, namely, voting, active learning and slimmed, which use additional information, e.g., opinions of conflicting classifiers and queries of oracles. Moreover, we iteratively update the prediction of historical windows such that the weak prediction can be continuously improved the latest model.

To demonstrate the effectiveness of RAD, we consider three use cases, i.e., detecting 10 classes of attacks on IoT devices [23], predicting four types of task failures for big data processing cluster [31, 34] and recognising the 20 most abundant celebrity faces [25] from open datasets. Our results show that RAD can effectively and continuously cleanse the data, i.e., selecting data streams with clean labels, and result in better anomaly detection accuracy per additional included data stream, compared to classifiers without continuous data cleansing. Specifically, under 30% noise, RAD achieves up to 98.35%, 84.72% (comparing to 96.1% and 80.92% of no selection on dataset) for detecting IoT device attacks and predicting cluster task failures, respectively. If we implement RAD Active Learning on cluster dataset with the same noise level, the final accuracy could reach to 88.1%. For face image dataset, final accuracy of RAD Slimmed under 30% noise achieves to 74.14% (comparing to 46.47% of no selection on dataset). Furthermore, our study also shows that RAD is stable even when the noise is very strong. And if we don’t have many clean data at beginning to pre-train the model, RAD Active Learning and RAD Active Learning Limited could still perform very well from a very bad starting model.

The remainder of the paper is organized as follows. Section II describes the motivating case studies. Sections III and IV present the proposed RAD framework and the results of its experimental evaluation, respectively. Section V describes the related work, and finally, Section VI draws our conclusions and lessons learned.

Ii Motivating case studies

(a) Use case of IoT thermostat device attacks
(b) Use case of Cluster task failures
(c) Use case of Face Recogniton
Fig. 1: Impact of noisy data on anomaly classification

To qualitatively demonstrate the impact of noisy data on anomaly detection, we use three case studies.

  • Detecting IoT device attacks from inspecting network traffic data collected from commercial IoT devices [23]. This dataset contains nine types of IoT devices which are subject to 10 types of attacks. Specifically, we focus on the Ecobee thermostat device that may be infected by Mirai malware and BASHLITE malware. Here we focus on the scenario of detecting and differentiating between 10 attacks. It is important to detect those attacks with high accuracies against all load conditions and data qualities.

  • Predicting task execution failures for big data jobs running at a Google cluster [31, 33]. This trace contains a month-long jobs execution record from Google clusters. Each job contains multiple tasks, which can be terminated into four different states: finish, fail, evict, or kill. The last three states are considered as anomaly states. To minimise the computational resource waste due to anomaly states, it is imperative to predict the final execution state of task upon their arrivals.

  • Recognizing celebrity faces from photos of the FaceScrub dataset [25]. The set is a collection of photos of celebrities roughly half female and half male. The task is to recognize faces by matching each photo to the identity of the celebrity shown on it. Here we focus on the face recognition of the 20 celebrities with the highest number of photos in the dataset totalling to 3.3K images. Faces are widely used in biometric identification systems in many security applications, e.g., access control. This makes the robustness of such systems critical. Furthermore, this image dataset is studied also because we want to show the broad applicability of our proposed framework.

The details about data definition, and statistics, e.g., number of feature and number of data points, can be found in Section IV-A

. To recognize anomalies/faces in each use case, related studies have applied different machine learning classification algorithms, from simple ones, e.g., k-nearest neighbour (KNN), to complex ones, e.g., deep neural networks (DNN), under scenarios with different levels of label noise. Here, we evaluate how the detection accuracy changes relative to different levels of noises. We focus on offline scenarios where we split the data in a training set affected by label noise and a clean evaluation set.

Ii-a Anomaly Detection

Classification models are learned from 14,000 training records and evaluated on a clean testing dataset of 6,000 records. We specifically apply KNN, nearest centroid and multilayer perceptron (MLP) (a.k.a feed-forward deep neural networks) on both the IoT device attacks and the cluster task failures. Fig. 

(a)a and Fig. (b)b summarize the accuracy results.

One can see that noisy labels clearly deteriorate the detection results for both IoT attacks and task failures, across all three classification algorithms. For standard classifiers, like KNN and nearest centroid, the detection accuracy decays faster than MLP that is more robust to the noisy labels. Such an observation holds for both use cases. In IoT attacks, MLP can even achieve a similar accuracy as the case of no label noises, when 50% of label classes are altered.

Ii-B Face Recognition

For face recognition we use 2,639 images with varying degrees of label noise as the training set and 665 clean images as the testing set. Due to the particularity of image data, we use MLP and a specific CNN (Convolutional Neural Network) - ResNet (Residual neural Network)  

[14] as classification models. Fig. (c)c shows the accuracy results under the different label noise levels.

One can see, similar to the previous use cases, that label noise strongly affects the performance of both classifiers, although, the effect here is approximately linear. Moreover, ResNet performs better than MLP for this dataset under any noise level.

Above three experiments clearly show that under the presence of noisy label data, all the models are corrupted. The stronger the noise, the worse the model’s accuracy. These cases motivate us to design the RAD framework and its extension. To resist the influence of noisy label data on learning process.


Iii Design Principles of RAD Framework

In this section, we will introduce the framework of RAD along with its three extensions RAD Voting, RAD Active Learning and RAD Slimmed. Different from other three, RAD Slimmed is specifically designed to deal with image dataset. All the symbols used to explain the designs are summarized in Table I.

Iii-a System Model

We consider a dataset that consists of several data instances. Each data instance has features. Each data instance belongs to a class , where . Data instances are either part of a pre-labeled dataset with labels used for training or non-labeled instances part of a dataset used for inference. Furthermore, a labeled data instance is either correctly labeled (i.e., clean data instance), or incorrectly labeled (i.e., noisy data instance). We use the indicator variable to indicate clean and dirty labels. Wrong labels can stem from several reasons ranging from subjectivity, and data-entry errors, to malicious error injection. The quality of a dataset is measured as the percent of clean labeled data instances, denoted here as .

Symbol Description
label quality predictor
anomaly detection classifier
th training data batch
th cleansed data batch from
th test data batch
prediction of th test data batch from
percent of clean labeled data of th batch

”unclean” data of th batch determined by
th cleansed data batch from
”unclean” data of th batch determined by
data with true label from Expert of th batch
indicator of prediction, 1 for clean, 0 for dirty
indicator of prediction, 1 for clean, 0 for dirty
TABLE I: Symbol description

Data instances arrive at the learning system continuously over time in batches. denotes the batch of labeled data arriving at time and having labels . In general we denote the time window with the subscript . We assume that a small initial batch of data instances has only clean labels, that is . Subsequent batches, include varying proportions of noisy labels, i.e . For simplicity we consider arriving batches of equal size, , but not necessarily at regular times.

A classification request consists of a batch of non-labeled data instances for which the classifier predicts the class of each data instance. At each batch arrival, the classification output is thus an array of the predicted classes for each non-labeled data instance.

Fig. 2: RAD learning framework. Each block is a machine learning algorithm and . Data used to train is represented by colored arrows from the top. The flowchart is iterated at every batch arrival with new labelled and unlabelled data coming in (black arrows on the left). The labelled training data for is cleansed based on the label quality predicted by . The incoming unlabelled data is classified by to generate the main output (black arrow on the right).

Iii-B Objectives and Overview of RAD Framework

We propose the RAD learning framework. Its objective is threefold:

  1. Accurately learn a data model from noisy data.

  2. Continuously update the learned model based on new incoming data.

  3. Propose a general approach that caters to different machine learning algorithms, and different application use cases.

Fig. 2 describes the overall architecture of RAD. RAD comprises two main components. A label quality model aims at discerning clean labels from dirty labels and a classifier model targets the specific classification task at hand.

Iii-B1 Determining Data Noise

The first component of RAD aims to determining for each data instance in

if it is correctly or incorrectly labeled. The objective of the label quality model is to select the most representative data instances to train a strong classifier model. It solicits data instances with clean labels, avoiding the pitfall that the classifier overfits the noise. RAD uses supervised-learning algorithms to continuously train the label quality model from accumulated predicted clean data instances, which are highly correlated to a stronger classifier.

is the label quality model that is trained with data instances received up to time , that is . Upon the arrival of a new batch of data instances at time , we use the currently learned label quality model to predict the label quality for each data instance in by comparing the given and predicted class . If they coincide, we consider the label as clean , otherwise as dirty . Then we build as the subset of data instances from with and discard the instances with . We incorporate into the existing training set for both the future label quality model and current classifier model .

Iii-B2 Generic Approach to Handle Dynamic Data

The second component of RAD is the dynamic data classifier . is trained on all the predicted clean data instances received until time , that is . We assume that contains only clean data instances to kickstart the framework and use the label quality model to cleanse and produce . Thus, the RAD learning framework uses the batch-by-batch updated data label quality model to enrich the training data of the classification model.

RAD follows a generic approach since the proposed classification framework can be used with any supervised machine learning algorithm, such as SVM, KNN, random forest, nearest centroid, DNN, etc. Moreover, RAD can be applied to a large spectrum of different applications where noisy data are collected and must be cleansed before used to train the classification model. Examples are the failure detection, attack diagnosis and face recognition illustrated in Section 


Iii-C Extensions to the Base RAD

The base framework can be extended in many different ways. Here we present three extensions addressing specific pitfalls and opportunities.

Iii-C1 Voting and History

The base RAD aims for separation of concerns with distinctive goals for the two models. However this approach biases the results towards the label quality model . Hence we want the classifier model to also play a role in selecting clean data instances. We do this via the voting extension shown in Fig. 3.

Comparing to the base RAD, predicted dirty labels having are not discarded by but passed to as uncertain data . Then the classifier is used to further cleanse the uncertain data to produce . For each data instance in we predict its class using and looking for agreement with the given class and the class predicted by . We add data instances to if either equals , or if equals . In the latter we replace the given class by the predicted class. Then we incorporate both and into the training set for the classifier model . We also send to the label model to retrain for the next batch.

Fig. 3: RAD voting correction.

Batches of data instances not added to at time are not immediately discarded but kept in a batch of inactive data. The idea is that since the accuracy of the classifier improves over time (see Section IV-C), we can use the new classifier to re-evaluate old batches of inactive data and further increase the training data. More in detail we maintain a list of the batches of inactive data ordered by their size. After we finished training a new classifier we select the two biggest batches and re-process them via the voting system as before.

Iii-C2 Active Learning

In RAD Voting we use the two models and to correct labels and increase the overall amount of data used for training aiming for improved framework accuracy. However still not all data is used. To increase further the amount of training data we resort to active learning, i.e., we ask an expert for the true class of the data instances we are least certain about.

Fig. 4 shows the structure of RAD Active Learning. The difference with the structure of RAD Voting is that in RAD Active Learning we send the most uncertain data instances not to the inactive set but to an oracle to ask for the true label. In RAD Active Learning, potentially every data instance will be used to train and and there is no inactive data anymore. In reality, consulting an oracle for every single uncertain data instance might be too expensive. Hence we also consider RAD Active Learning Limited which additionally imposes a configurable limit on the number of queries to be asked to the oracle at each batch arrival. If the number of uncertain data instances exceeds this limit, we use random sampling.

Fig. 4: RAD - Active Learning.

Iii-C3 RAD Slimmed

The RAD framework requires two models. Depending on the complexity of the models used the cost of training might be excessive. Especially in scenarios relying on complex deep neural networks, such as Convolutional Neural Networks (CNNs) for image classification, it might be to expensive and time consuming to train two models. To reduce the computational costs we propose a slimmed version of RAD Active Learning named RAD Slimmed. The idea is to partially delegate the role of the label quality model to the oracle.

Fig. 5: RAD Slimmed.

In RAD Slimmed new data batches arrive directly at the model, see Fig. 5. For each data instance we compare the given label and to the predicted label . If they are the same we add to . If they differ we ask the oracle for the true label (possibly within a given query budget) and add it to . To train the model for the next data batch arrival, we use as before plus from the past two arrivals. The reasoning is that stemming from an oracle has all correct labels and hence we want to double the learning from these data.

Iv Experimental Evaluation

In this section, we implement RAD, RAD Voting and RAD Active Learning on IoT and Cluster datasets. Evolution of learning accuracy under 30% and 40% noise level are reported for all three frameworks. For RAD, impact of noise level on final accuracy is discussed in section. IV-D. For RAD Voting, analysis on percentage of active and active-truth data changing over time is carried out in section. IV-G. RAD Active Learning and its small update RAD Active Learning Limited are explained in section. The Impact of size of initial data batch on above frameworks are studied in section. IV-I. To demonstrate the applicability of the framework to image dataset, RAD Slimmed is proposed, the results of RAD Slimmed with different limitations are reported in section.IV-J.

Iv-a Use Cases and Datasets

In order to demonstrate the general applicability of the proposed RAD framework for anomaly detection, we consider the following three use cases: (i) Cluster task failures , (ii) IoT botnet attacks and (iii) Face recognition. In our experiments, we use real data collected in cluster and IoT platforms and real celebrity face images.

The cluster task traces comprise data instances each corresponding to a task with 27 features capturing information related to static and dynamic system states, e.g. the task start/end times, the task resource utilisations, the hosting machine, etc. Each class is labeled based on its scheduling state. A detailed description of the features and labels can be found in [31]. In particular, we are interested in the four possible termination classes: finish, fail, evict, or kill. We filter out other classes. The resulting class distribution is dominated by successful tasks (finish) 77.8%, followed by kill 22.0%, fail 0.2%, and evict 0.1%. Similar to [33]

, we aim to predict the task outcome to reduce the resource waste and improve the overall scheduling and system performance, e.g., in case of lack of resources and need to kill a task, help choosing the task with the least probability to succeed. We apply RAD to continually train a noise-resistant model for better accuracy.

The IoT dataset comprises data instances describing 23 network packet-level statistics recursively computed over five different time scales totalling to 115 features. This traffic statistics are collected during normal operation, labeled as benign, or under one of ten different malicious attacks stemming from devices infected by either the BASHLITE or Mirai malware. Malicious traffic covers mainly scanning for vulnerable devices and various flooding attacks. The dataset provides traces collected at different IoT devices. More details are provided in [23]. We aim to apply RAD to build a noise-resistant model to categorize the attacks for post fact analysis, e.g., for threat assessment.

The FaceScrub [25] dataset is used for face recognition. Original FaceScrub contains more than 100,000 face images of 530 people, with about 200 images per person. Male and Female images are almost equal. We use a subset of 3.3K FaceScrub images to fit the limits of our compute resources. The 3.3K images cover the 20 people which have the highest number of images, 12 males and 8 females. FaceScrub images were retrieved from the Internet and are taken under real-world situations (uncontrolled conditions). We resize all images to 128*128 pixels. Name is the only annotation we use. The face recognition system has been widely used in security equipment. We apply RAD Slimmed to FaceScrub dataset to show that our framework can help to build also robust face recognition models.

The main dataset characteristics are summarized in Table II.

Use case Cluster task failures IoT device attacks FaceScrub
#trainig data instances 60,000 33,000 2,639
#test data instances 6,000 6,000 665
#classes K 4 11 20
#features 27 115 128*128
data batch size 600 300 400
initial batch size 6,000 6,000 639
TABLE II: Dataset description

Iv-B Experimental Setup

(a) With data noise level of 30%
(b) With data noise level of 40%
Fig. 6: Evolution of learning over time – Use case of IoT thermostat device attacks
(a) With data noise level of 30%
(b) With data noise level of 40%
Fig. 7: Evolution of learning over time – Use case of Cluster task failures

RAD is developed in Python using scikit-learn [27]

. The main performance evaluation metric is accuracy. Experiments are carried out 3 times, results are aggregated by computing mean.

Noise. We inject noise into the two datasets by exchanging the true label of data instances with a random one. The label noise is symmetric, i.e., following the noise completely at random model [12] where a label is picked with equal probability from all classes except the true one. The noise level

represents the percentage of data instances with noisy labels. We emulate time-varying noise by drawing for each new data batch the noise level from a Gaussian distribution with 20% standard deviation and the targeted mean level. We assume that all data is affected by label noise, except the testing data.

Continual learning.

We start with an initial data batch of 6000 data instances for the Cluster task failures and the IoT devices dataset. Then, data instances arrive continuously in batches of 600 (Cluster) and 300 (IoT) data instances. Both the initial and subsequent data batches are affected by noise. To kick-start the label and classification models in RAD we assume to know which initial data instances are affected by noise (no assumptions for the subsequent data batches). We select 6000 clean data instances as the test dataset for both use case. Test dataset will be used at the end of each epoch to evaluate the accuracy of the trained classification model. We show the evolution of the model accuracy over data batch arrivals until the performance of RAD converges.

Label model.

We use a multilayer perceptron to assess the quality of each label. For IoT and Cluster dataset, the neural network consists of two layers with 28 neurons each. The precision and robustness of the label model are critical to filter out the noisy/malicious labels and provide a clean training set to the classification model. We considered different models, but neural networks provided the best results in terms of accuracy and stability over time. Adaboost gave excellent accuracy when training from the initial data with ground truth, but resulted too sensitive to the unknown noise of subsequent data batches. Random forest is also known to be robust against label noise 

[12], however its accuracy was below the neural network one.

Classification model. We use KNN to assign the correct class label to each data instance filtered by the label model. We set the number of neighbours to five. Higher values can increase the resilience of the algorithm to residual noise, but also induce extra computational cost. The current choice stems from good results in preliminary experiments.

Slimmed framework. For the face recognition task we use RAD Slimmed. In this case we use ResNet [14]

as classification model. ResNet is a type of CNN architectures which introduces residual functions to alleviate the vanishing gradient problem in training deep neural networks improving the classification performance.

Baselines. The proposed RAD is compared against two baseline data selection schemes: (i) No-Sel, where all data instances of arriving batches are used for training the classification model; and, (ii) Opt-Sel which emulates an omniscient agent who can perfectly distinguish between clean and noisy labels. The two baselines are representative of the worst and best possible data selection strategies and we expect RAD to fall in between. In addition, we consider the Full-Clean baseline which simulates perfectly recovered labels, i.e., all wrong labels have been correctly identified and recovered by, e.g., an oracle. This represents the ideal solution which provides all clean data in each data batch.

Iv-C Handling Dynamic Data

(a) IoT thermostat device attacks
(b) Cluster task failures
Fig. 8: Impact of data noises on RAD accuracy

We start by illustrating how RAD enables to increase the anomaly detection accuracy over time, despite the presence of noise. Fig. 6 and 7

show the evolution of the mean and variance of the classification accuracy achieved by RAD on the thermostat and task failure datasets, respectively. Each figure moreover presents results under two levels of label noise: 30% and 40%. We compare RAD against no selection (

No-Sel) and optimal selection (Opt-Sel). One can notice that learning from all data instances without cleansing (i.e., No-Sel curves) gives consistently lower accuracy in all cases. For the attacks classification on the thermostat, the accuracy even oscillates and diverges. The performance when using RAD is better. First because the accuracy does not diverge. Second because it always consistently increase until it saturates. The end accuracies are around 98% and 84% for the IoT attack and cluster tasks datasets, respectively. While for the first dataset the accuracy of RAD follows closely the accuracy of Opt-Sel, for the second dataset RAD follows Opt-Sel at first but then saturates after 40 data batch arrivals. RAD is efficient for various classification applications, however not optimal for all of them. Note that RAD gives also more stable results as shown by shorter errorbars which in magnitude are in line with the ones obtained by an ideal data cleansing. For No-Sel the bars are significantly larger. We discuss the results for other IoT devices in Section IV-E.

Fig. 9: Data selection – Use case of IoT thermostat device attacks with 30% noise level.

Fig. 9 presents the variations of noise over time for one run on IoT thermostat dataset where the mean noise rate is set to 30%. Overlaid is the number of data selected by RAD and the overlap between the selected and actually clean data. Results highlight the sharpness of data selection and its parsimony.

In summary: (i) continual learning is advantageous compared to using only the initial dataset; however, (ii) continual learning exposes us to possible classification accuracy degradation stemming from noisy labels if proper data selection is lacking, (iii) RAD improves the classification accuracy compared to taking all labels, (iv) the data selection of RAD is good, and close to being optimal in some cases.

Iv-D Evaluation of Noise Robustness of RAD

Next we investigate the impact of different noise levels on the RAD performance in terms of classification accuracy.

Fig. (a)a and (b)b present the classification accuracy for various levels of noise, ranging from 0% (all data are clean) up to 90% for our two main reference datasets: IoT thermostat device attacks and Cluster task failures. Accuracy is measured once the learning has converged. Once again, the RAD performance is compared to learning from all data (No-Sel) and an omniscient data cleanser (Opt-Sel).

As illustrated in Section II, for No-Sel the noisier the data are, the worse the classification accuracy, dropping to 20% and 42% for the tasks and thermostat datasets, respectively. A decreasing trend can also be found for RAD and Opt-Sel, however the drops are significantly smaller: at most 5%. As there is by definition no noise in Opt-Sel case, the decrease in classification accuracy is only due to the reduction of the overall amount of clean data to learn from. Since the data cleansing of RAD is not perfect, the accuracy reduction is caused by noise pollution and overall clean data reduction. Nevertheless, the impact is small and any huge accuracy pitfall is avoided which results in RAD’s performance being close to Opt-Sel. We can conclude that RAD can limit the impact of the amount of noise across a wide range of noise levels.

Iv-E Analysis of All Datasets

Summary results are reported in Table III and Table IV. In addition to the average accuracy after the last batch arrival, we also underline the accuracy improvement room obtained by comparing Full-Clean to the No-Sel, shown in the improvement room column, and relative accuracy improvement of RAD to the No-Sel strategy, shown in the improvement column.

Algorithm Initial accuracy No-Sel Opt-Sel Full-Clean Proposed algorithm Improvement room Improvement
RAD 80.83% 80.92% 87.57% 88.43% 84.72% 7.51% 3.8%
RAD Voting 81.12% 80.85% 87.65% 88.31% 84.0% 7.46% 3.15%
RAD Active Learning 80.43% 79.56% 87.43% 88.27% 88.1% 8.71% 8.54%
RAD Active Learning Limited 80.87% 79.71% 87.8% 87.95% 87.35% 8.24% 7.64%
TABLE III: Evaluation of the all algorithms for Cluster task failures datasets with 30% noise level
Algorithm Initial accuracy No-Sel Opt-Sel Full-Clean Proposed algorithm Improvement room Improvement
RAD 94.75% 96.1% 98.35% 98.27% 98.1% 2.17% 2.0%
RAD Voting 95.25% 95.32% 98.08% 98.47% 98.07% 3.15% 2.75%
RAD Active Learning 95.53% 95.21% 98.23% 98.43% 98.41% 3.22% 3.2%
RAD Active Learning Limited 95.23% 95.67% 98.27% 98.5% 98.45% 2.83% 2.78%
TABLE IV: Evaluation of the all algorithms for IoT device attacks datasets with 30% noise level

All results are positive, with varying magnitude depending on the dataset. In all cases, the proposed RAD improves between 2% to 4% the accuracy compared to blindly taking all data instances. However, more important than the absolute gain is the trend. For example, for the thermostat dataset, we can observe that RAD converges over time to a stable level as well as Opt-Sel model, but No-Sel diverges. This means that as time goes by, No-Sel becomes worse and worse.

Even more than the benefits of continual learning might be important the resilience to high levels of noise. Under such levels, the classification accuracy without data cleansing diverges for all datasets. Even if it is rare to have noise levels of 90% or above, they might still happen for short periods of time in case of attacks to the auto-labelling system via flooding of malicious labels. Hence this property can be crucial for the dependability of the auto-labelling system.

Iv-F Limitation of RAD Framework

Though RAD works well for datasets of Cluster task failures and IoT device attacks. We can still see the potential limitations of this framework, for example: (1) the assumption of availability of a small fraction of clean data which may not be possible; (2) if data is coming at high rates, or the structure of quality model becomes more complicated, training and prediction time of first layer will slow down the system; (3) as anomaly classifier receives only the data selected by label model, there is a risk that the classifier model overfits to label model. To address these issues we devised two extensions presented in Section III-C that are evaluated in the next subsections.

Iv-G RAD Voting and History Extension

(a) Iot data with noise level of 30%
(b) Iot data with noise level of 40%
Fig. 10: Evolution of learning over time – Use case of IoT thermostat device attacks with RAD Voting
(a) Cluster data with noise level of 30%
(b) Cluster data with noise level of 40%
Fig. 11: Evolution of learning over time – Use case of Cluster task failures with RAD Voting
(a) Iot data with noise level of 30%
(b) Cluster data with noise level of 30%
Fig. 12: Active and active-truth – voting

In the first extension we let both the label and classifier models vote on the label quality and include the possibility to recover instances from history to be evaluated as the models performance improves over time.

We evaluate the accuracy of RAD Voting over time and different noise levels in Fig. 10 and Fig. 11 for the IoT thermostat and Cluster task failures, respectively. We can see that in the case of task failures the RAD Voting performance is similar to the RAD performance. However, for IoT dataset, RAD Voting converges faster than RAD, and even outperforms Opt-Sel. This is because we correct labels in RAD Voting algorithm, which increases the number training instances compared to Opt-Sel. The higher the noise is, the more RAD Voting outperforms Opt-Sel.

To better understand the different performance between the two data sets let us define active as the percent of data used for training till time :

Knowing the number of true clean labels used per batch we further define active-truth as the percent of true clean active data.

In both formulas, we exclude the initial clean batch . Intuitively, tells how much of the incoming data we use for training, and shows how clean the used training data is.

Fig. 12(a) and (b) plot over time these two metrics for the IoT and task failures datasets, respectively. As seen in Fig. 12(a), for the IoT dataset both and improve over time. This means that the active data percentage both the amount of active data, i.e. , and the quality of active data improve over time. On the contrary, looking at Fig. 12(b), for the Cluster dataset does not improve over time even if

increases. We impute this to the fact that both

and predict the same wrong class and this class is used to replace the original label of the data instance.

Table III and Table IV summarize and compare the RAD Voting performance to the performance of RAD and the other extensions for the Cluster and IoT datasets. One thing to note in these two tables is that the values within the columns: Initial accuracy, No-Sel, Opt-Sel and Full-Clean should theoretically be the same, respectively. However due to the random initialization of the parameters of machine learning models, there are always minor differences between runs.

Iv-H RAD Active Learning

RAD Active Learning extends the RAD with the ability of asking an oracle to provide the true label for the data instances where the two models do not agree. First we consider RAD Active Learning with no limits on the number of oracle requests followed by RAD Active Learning Limited which limits the number of oracle interactions.

Fig. 14 and Fig. 13 show the performance of RAD Active Learning for the IoT and Cluster datasets, respectively. The figures compare RAD Active Learning to two baselines: Opt-Sel and Full-Clean. We can see that RAD Active Learning is almost as good as Full-Clean across the two different datasets and different noise levels. Moreover, this is accomplished by consulting the oracle for only about 35% (30% noise level) and 39% (40% noise level) of the data instances (not counting the initial clean batch ).

(a) Cluster data with noise level of 30%
(b) Cluster data with noise level of 40%
Fig. 13: Evolution of learning over time – active learning
(a) Iot data with noise level of 30%
(b) Iot data with noise level of 40%
Fig. 14: Evolution of learning over time – active learning

In reality consulting every single uncertain data instance with expert might be too expensive. Hence we consider RAD Active Learning Limited which limits the capacity of consultation with expert. Table III and Table IV summarize and compare the results of RAD Active Learning and RAD Active Learning Limited with a 20% limit for the two datasets. The results show that limiting the consultations degrades slightly the performance compared to RAD Active Learning, but it is still very close to Full-Clean. This stems from the fact that most data instances we select to send to the oracle are indeed instances affected by label noise and we use the oracle to correct these. Without our framework to filter out the uncertain data, we would not know which data labels are noisy. So we can either give the whole dataset to the oracle to clean up the dataset which likely is expensive, or randomly select a limited number of data instances and acknowledge that some consultations will be wasted on already clean data instances.

Iv-I Impact of Initialization

Here we study the impact on the RAD and its extensions of the amount of available ground truth data, i.e., the size of the initial dataset . We vary the number of initial clean data instances from 100 to 6000, and measure the classification accuracy after 90 data batch arrivals. Her we consider the Opt-Sel baseline since the No-Sel baseline is meant for the framework configuration, not its performance evaluation.

In Fig. (a)a and Fig. (b)b show the results for the IoT and Cluster datasets, respectively.

In both figures Opt-Sel is quite independent from the number of initial data instances (). This is due to the fact that after 90 batch arrivals the amount of training data is enough to be in the accuracy saturation region. However for RAD and RAD Voting, the size of does matter: the larger the better. At their performances are close to Opt-Sel for IoT dataset, and at they completely overlap. RAD Voting outperforms RAD in both datasets when is 100. This is because RAD Voting can correct data labels increasing the number of training instances. Finally, RAD Active Learning and RAD Active Learning Limited (20% limit) do not depend on the size of , since they can ask the oracle for the label of uncertain data instances.

This justifies our earlier choice of having 6000 data instances as it enables to achieve the best accuracy. However, all proposed frameworks could also perform well with only half of the data instances in .

(a) IoT thermostat device attacks
(b) Cluster task failures
Fig. 15: Impact of size of initial data batch on RAD accuracy with 30% noise level

Iv-J RAD Slimmed on Image Data

We conclude our evaluation section by testing our framework with image data using RAD Slimmed to labelling a subset of FaceScrub face images with the celebrity name. We allow 120 consultations with the oracle for each batch of 400 data instances, i.e., 30%. Fig. 16 shows the accuracy results across the batch arrivals. We can observe that RAD Slimmed is close to the Full-Clean baseline. Another thing we could notice is that all three curves suffer a periodic up-down pattern. This is because each time a new batch comes, we only use this new batch data as training dataset. As different batches provide different subviews of the data the empirical distribution can be different as well as the calculated optimum, but the model remains. So for the first epoch of a new batch, we will generate a gradient which is based on new data but applied on an old model. This can influence the accuracy of the model. Moreover when retraining on each new data batch we reset the learning rate which causes a bump in the learning rate. Therefore, even if all batches follow the same distribution, the system could temporarily wander off from the previous optimum.

More complete results are showed in Table V with varying consultation limits. We see that increasing the consultations limit allows the final accuracy to get closer and closer to Full-Clean. The difference between No-Sel and is that No-Sel uses directly the noisy label data to train the classifier, whereas 0% uses the classifier to filter the uncertain data instances, but it is not allowed to send it to the oracle for consultation.

Fig. 16: FaceScrub with noise level of 30%
Initial accuracy No-Sel Opt-Sel Full-Clean 0% 10% 20% 30%
63.61% 46.47% 80.15% 84.36% 48.72% 66.32% 70.68% 74.14%
TABLE V: Evaluation of the RAD Active Learning Limited for FaceScrub with different limits per batch

V Related Work

Machine learning has been extensively used for failure detection [30, 28, 32, 8], attack prediction [1, 4, 3, 20, 19, 48], and face recognition [37, 35, 42]. Considering noisy labels in classification algorithms is also a problem that has been explored in the machine learning community as discussed in [12, 5, 24].

The problem of classification in presence of noisy labels can be organized into various categories according to, on the one hand, the type of classification algorithm subject to noise, and on the other hand, the techniques used to remove the noise.

Regarding the type of classification algorithm, the problem of noisy labels has been studied both for binary classification where noisy labels are considered as symmetric (e.g., [21]) and for classification with multiple classes where noisy labels are considered as asymmetric, e.g., [26, 36]. In the context of this paper, we consider the problem of classification with multiple classes. Furthermore, noisy labels have been considered in various types of classifiers KNN [43], SVM [2], and deep neural networks [40]. In the context of this paper, our proposed approach is agnostic to the underlying classifier type as noise removal is performed ahead of the classification.

To deal with noise, various techniques have been explored including forward loss correction. These algorithms learn about the label noise by adjusting the loss to the end of the model. However, these solutions either rely on strong assumptions or have limited accuracy as they generally do not rely on clean labels to remove the noise. More accurate solutions, which rely on clean labels during the training phase have thus been explored (e.g., [41, 22, 16]). These solutions generally train a separate network for distinguishing noisy labels from clean ones. Robustness to label noise has also been studied for GANs performing image recognition, both in the context of known and unknown noise distribution [38]. However, all these solutions have been designed and tested on static datasets and in an off-line setting. Instead in the context of this paper, we consider a dynamic model where the network has been trained using cleaned labels continues to learn over time.

Vi Concluding Remarks

While machine learning classification algorithms are widely applied to detect anomalies, the commonly employed assumption of clean anomaly labels often does not hold for the data collected in the wild due to careless annotation and malicious dirty label pollution. The noisy labels can significantly degrade the accuracy of anomaly detection with an increasing amount of data and are challenging to tackle due to the lack of ground truth of label quality. In this paper, we present a on-line framework for robust anomaly detection, RAD, which can continuously learn the system dynamics and anomaly behaviours from streams of arriving data after filtering out suspicious noisy data.

RAD is a general framework that composes of sequence of quality and classification models, where the former captures the label dynamics and the latter focus on detection anomaly. To overome the limtations of on-line learning, the additional features of RAD are repeatitively cleaninsing and oracle queries which are based on the learning capacity varying over time. We demonstrate the effectiveness of RAD on three uses cases, i.e., detecting IoT device attacks, predicting task failure at Google clusters and recognising celebrity faces using FaceScrub. RAD can robustly improve the detection accuracy against different levels of label noises, reaching up to 74%, 83% and 98% accuracy for recognising face, predicting task failure and detecting IoT device attacks, respectively, whereas learning directly from all the data streams without filtering degrades the detection accuracy.


  • [1] M. Agarwal, D. Pasumarthi, S. Biswas, and S. Nandi. Machine learning approach for detection of flooding dos attacks in 802.11 networks and attacker localization. Int. J. Machine Learning & Cybernetics, 7(6):1035–1051, 2016.
  • [2] W. An and M. Liang.

    Fuzzy support vector machine based on within-class scatter for classification problems with outliers or noises.

    Neurocomput., 110:101–110, June 2013.
  • [3] M. Anbar, R. Abdullah, B. N. Al-Tamimi, and A. Hussain. A machine learning approach to detect router advertisement flooding attacks in next-generation ipv6 networks. Cognitive Computation, 10(2):201–214, 2018.
  • [4] S. Banescu, C. S. Collberg, and A. Pretschner. Predicting the resilience of obfuscated code against symbolic execution attacks via machine learning. In E. Kirda and T. Ristenpart, editors, 26th USENIX Security Symposium, USENIX Security 2017, Vancouver, BC, Canada, August 16-18, 2017., pages 661–678. USENIX Association, 2017.
  • [5] B. Biggio, B. Nelson, and P. Laskov. Support vector machines under adversarial label noise. In Asian Conference on Machine Learning, pages 97–112, 2011.
  • [6] R. Birke, G. Ioana, Lydia Y. Chen, D. Wiesmann, and T. Engbersen. Failure analysis of virtual and physical machines: patterns, causes and characteristics. In IEEE/IFIP DSN, pages 1–12, 2014.
  • [7] R. Birke, A. Podzimek, Lydia Y. Chen, and E. Smirni. Virtualization in the private cloud: State of the practice. IEEE Trans. Network and Service Management, 13(3):608–621, 2016.
  • [8] J. R. Campos, M. Vieira, and E. Costa. Exploratory study of machine learning techniques for supporting failure prediction. In 14th European Dependable Computing Conference, EDCC 2018, Iaşi, Romania, September 10-14, 2018, pages 9–16. IEEE Computer Society, 2018.
  • [9] S. Cerf, R. Birke, and Lydia Y. Chen. Duo learning for classifications with noisy labels. In Continual Learning Workshop, in conjunction with Neural Information Processing Systems (NIPS), 2018.
  • [10] Y. Fan, J. Li, and D. Zhang. A method for identifying critical elements of a cyber-physical system under data attack. IEEE Access, 6:16972–16984, 2018.
  • [11] Z. Fang, J. Tzeng, C. C. Chen, and T. Chou. A study of machine learning models in epidemic surveillance: Using the query logs of search engines. In Pacific Asia Conference on Information Systems, PACIS 2010, Taipei, Taiwan, 9-12 July 2010, page 137. AISeL, 2010.
  • [12] B. Frénay and M. Verleysen. Classification in the presence of label noise: A survey. IEEE Trans. Neural Netw. Learning Syst., 25(5):845–869, 2014.
  • [13] G. Giantamidis and S. Tripakis. Learning moore machines from input-output traces. In J. S. Fitzgerald, C. L. Heitmeyer, S. Gnesi, and A. Philippou, editors, FM 2016: Formal Methods - 21st International Symposium, Limassol, Cyprus, November 9-11, 2016, Proceedings, volume 9995 of Lecture Notes in Computer Science, pages 291–309, 2016.
  • [14] K. He, X. Zhang, S. Ren, and J. Sun. Deep residual learning for image recognition.

    2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR)

    , pages 770–778, 2015.
  • [15] Y. He, G. J. Mendis, and J. Wei.

    Real-time detection of false data injection attacks in smart grid: A deep learning-based intelligent mechanism.

    IEEE Trans. Smart Grid, 8(5):2505–2516, 2017.
  • [16] D. Hendrycks, M. Mazeika, D. Wilson, and K. Gimpel. Using trusted data to train deep networks on labels corrupted by severe noise. In 32nd Conference on Neural Information Processing Systems (NIPS 2018), Montréal, Canada.
  • [17] T. H. Huang, C. Yu, and H. Kao. Data-driven and deep learning methodology for deceptive advertising and phone scams detection. In

    2017 Conference on Technologies and Applications of Artificial Intelligence (TAAI)

    , pages 166–171, Dec 2017.
  • [18] J. Kang, I. Joo, and D. Choi. False data injection attacks on contingency analysis: Attack strategies and impact assessment. IEEE Access, 6:8841–8851, 2018.
  • [19] D. Karagiannis and A. Argyriou. Jamming attack detection in a pair of RF communicating vehicles using unsupervised machine learning. Vehicular Communications, 13:56–63, 2018.
  • [20] R. Kozik, M. Choras, M. Ficco, and F. Palmieri. A scalable distributed machine learning approach for attack detection in edge computing environments. J. Parallel Distrib. Comput., 119:18–26, 2018.
  • [21] J. Larsen, L. Nonboe, M. Hintz-Madsen, and L. K. Hansen. Design of robust neural network classifiers. In Acoustics, Speech and Signal Processing, 1998. Proceedings of the 1998 IEEE International Conference on, volume 2, pages 1205–1208. IEEE, 1998.
  • [22] Y. Li, J. Yang, Y. Song, L. Cao, J. Luo, and L.-J. Li. Learning from noisy labels with distillation. In ICCV, pages 1928–1936, 2017.
  • [23] Y. Meidan, M. Bohadana, Y. Mathov, Y. Mirsky, A. Shabtai, D. Breitenbacher, and Y. Elovici.

    N-baiot—network-based detection of iot botnet attacks using deep autoencoders.

    IEEE Pervasive Computing, 17(3):12–22, 2018.
  • [24] N. Natarajan, I. S. Dhillon, P. K. Ravikumar, and A. Tewari. Learning with noisy labels. In Advances in neural information processing systems, pages 1196–1204, 2013.
  • [25] H.-W. Ng and S. Winkler. A data-driven approach to cleaning large face datasets. 2014 IEEE International Conference on Image Processing, ICIP 2014, pages 343–347, 01 2015.
  • [26] G. Patrini, A. Rozza, A. K. Menon, R. Nock, and L. Qu. Making deep neural networks robust to label noise: A loss correction approach. In Proc. IEEE Conf. Comput. Vis. Pattern Recognit.(CVPR), pages 2233–2241, 2017.
  • [27] F. Pedregosa, G. Varoquaux, A. Gramfort, V. Michel, B. Thirion, O. Grisel, M. Blondel, P. Prettenhofer, R. Weiss, V. Dubourg, J. Vanderplas, A. Passos, D. Cournapeau, M. Brucher, M. Perrot, and E. Duchesnay. Scikit-learn: Machine learning in Python. Journal of Machine Learning Research, 12:2825–2830, 2011.
  • [28] A. Pellegrini, P. di Sanzo, and D. R. Avresky. A machine learning-based framework for building application failure prediction models. In 2015 IEEE International Parallel and Distributed Processing Symposium Workshop, IPDPS 2015, Hyderabad, India, May 25-29, 2015, pages 1072–1081. IEEE Computer Society, 2015.
  • [29] C. Pham, L. Wang, B. Tak, S. Baset, C. Tang, Z. T. Kalbarczyk, and R. K. Iyer. Failure diagnosis for distributed systems using targeted fault injection. IEEE Trans. Parallel Distrib. Syst., 28(2):503–516, 2017.
  • [30] T. Pitakrat, A. van Hoorn, and L. Grunske. A comparison of machine learning algorithms for proactive hard disk drive failure detection. In P. Kruchten and S. Malek, editors, Proceedings of the 4th international ACM Sigsoft symposium on Architecting critical systems, ISARCS 2013, Vancouver, BC, Canada, June 17-21, 2013, pages 1–10. ACM, 2013.
  • [31] C. Reiss, J. Wilkes, and J. L. Hellerstein. Google cluster-usage traces: format+ schema. Google Inc., White Paper, pages 1–14, 2011.
  • [32] U. Reuter, A. Sultan, and D. S. Reischl. A comparative study of machine learning approaches for modeling concrete failure surfaces. Advances in Engineering Software, 116:67–79, 2018.
  • [33] A. Rosà, L. Y. Chen, and W. Binder. Failure analysis and prediction for big-data systems. IEEE Trans. Services Computing, 10(6):984–998, 2017.
  • [34] A. Rosà, Lydia Y. Chen, and W. Binder. Understanding the dark side of big data clusters: An analysis beyond failures. In IEEE/IFIP DSN, pages 207–218, 2015.
  • [35] F. Schroff, D. Kalenichenko, and J. Philbin. Facenet: A unified embedding for face recognition and clustering. In IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2015, Boston, MA, USA, June 7-12, 2015, pages 815–823. IEEE Computer Society, 2015.
  • [36] S. Sukhbaatar, J. Bruna, M. Paluri, L. Bourdev, and R. Fergus. Training convolutional networks with noisy labels. arXiv preprint arXiv:1406.2080, 2014.
  • [37] Y. Taigman, M. Yang, M. Ranzato, and L. Wolf. Deepface: Closing the gap to human-level performance in face verification. In 2014 IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2014, Columbus, OH, USA, June 23-28, 2014, pages 1701–1708. IEEE Computer Society, 2014.
  • [38] K. K. Thekumparampil, A. Khetan, Z. Lin, and S. Oh. Robustness of conditional gans to noisy labels. In Advances in Neural Information Processing Systems, pages 10291–10302, 2018.
  • [39] V. N. Vagin and M. V. Fomina. Problem of knowledge discovery in noisy databases. Int. J. Machine Learning & Cybernetics, 2(3):135–145, 2011.
  • [40] A. Vahdat. Toward robustness against label noise in training deep discriminative neural networks. In NIPS, pages 5601–5610, 2017.
  • [41] A. Veit, N. Alldrin, G. Chechik, I. Krasin, A. Gupta, and S. J. Belongie. Learning from noisy large-scale datasets with minimal supervision. In CVPR, pages 6575–6583, 2017.
  • [42] H. Wang, Y. Wang, Z. Zhou, X. Ji, D. Gong, J. Zhou, Z. Li, and W. Liu. Cosface: Large margin cosine loss for deep face recognition. In 2018 IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2018, Salt Lake City, UT, USA, June 18-22, 2018, pages 5265–5274. IEEE Computer Society, 2018.
  • [43] D. R. Wilson and T. R. Martinez. Reduction techniques for instance-basedlearning algorithms. Mach. Learn., 38(3):257–286, Mar. 2000.
  • [44] J. Xue, R. Birke, Lydia Y. Chen, and E. Smirni. Spatial-temporal prediction models for active ticket managing in data centers. IEEE Trans. Network and Service Management, 15(1):39–52, 2018.
  • [45] C. Zhang, S. Bengio, M. Hardt, B. Recht, and O. Vinyals. Understanding deep learning requires rethinking generalization. In 5th International Conference on Learning Representations, ICLR 2017, Toulon, France, April 24-26, 2017, Conference Track Proceedings. OpenReview.net, 2017.
  • [46] M. Zhang, T. Li, H. Shi, Y. Li, and P. Hui. A decomposition approach for urban anomaly detection across spatiotemporal data. In S. Kraus, editor, Proceedings of the Twenty-Eighth International Joint Conference on Artificial Intelligence, IJCAI 2019, Macao, China, August 10-16, 2019, pages 6043–6049. ijcai.org, 2019.
  • [47] Z. Zhao, S. Cerf, R. Birke, B. Robu, S. Bouchenak, S. B. Mokhtar, and L. Y. Chen. Robust anomaly detection on unreliable data. In 49th Annual IEEE/IFIP International Conference on Dependable Systems and Networks, DSN 2019, Portland, OR, USA, June 24-27, 2019, pages 630–637, 2019.
  • [48] B. Zhou, J. Li, J. Wu, S. Guo, Y. Gu, and Z. Li. Machine-learning-based online distributed denial-of-service attack detection using spark streaming. In 2018 IEEE International Conference on Communications, ICC 2018, Kansas City, MO, USA, May 20-24, 2018, pages 1–6. IEEE, 2018.