Machine learning and data-driven algorithms have gained a growth of interest during the past decades due to the computation capability of the computers which has increased and the quantity of data available in various domains. One possible application of machine learning is to perform unsupervised anomaly detection. Indeed, among all available data, the anomalies are supposed to be very sparse and the expert might not have the time to label all the data as nominal or not. Many solutions exist to this unsupervised problem, but are known to provide many false alarms, because some scarce nominal modes might not be included in the training dataset and thus will be detected as anomalies. To tackle this issue, we propose to present an existing iterative algorithm, which presents potential anomaly to the expert at each iteration, and compute a new boundary according to this feedback using One Class Support Vector Machine.
EURASIP Proceedings of European Signal Processing Conference (EUSIPCO) 2020
Matlab folder contains contains:
data, a folder with all the datasets in .mat. These datasets were adapted from those available on Shubhomoy Das github
results, an empty folder for saving the results. Note that the algorithms take several hours to process all the datasets. A folder containing the processed datasets is available here if you want to save some time
aad_ocsvm.m, which corresponds to Algorithm 1 in the corresponding paper
main_EUSIPCO.m, which is the main file to launch
OneClass_feedback.m, which solves problem (6) and equivalently (4)
plot_boundary_evolution.m, which plots Figure 1
plot_comp_datasets.m, which plots Figure 2
plot_sv.m, which plots Figure 3
plotc.m, which plots the boundary decision of a OCSVM classifier and is used for Figure 1
process_datasets.m, which performs the algorithm on each datasets
Due to COVID, the conference was online and here is my presentation