MOA is an open source framework for Big Data stream mining. It includes a collection of machine learning algorithms (classification, regression, clustering, outlier detection, concept drift detection and recommender systems) and tools for evaluation.
This pull request consists the implementations of three one-class classifiers for use with MOA. These are as follows:
Autoencoder: A neural network that attempts to reconstruct the input. The autoencoder's structure is an input layer with one neuron for each non-class attribute, a hidden layer of two neurons and an output layer with one neuron for each non-class attribute. Partially modeled on Albert Bifet's Perceptron.java, also found in the MOA project. Includes a dependency on the Apache Commons Math linear algebra library.
Streaming Half-Space Trees: Implements Tan et al.'s Streaming Half-Space Trees one-class classifier [2].
Nearest Neighbour Description: A data stream adaptation of Tax's Nearest Neighbour Description, a one-class classifier based on the nearest neighbour method [3, Sec. 3.4.2].
These one-class classifiers were written for and used in my Master's thesis [1].
REFERENCES
[1] R. H. Moulton, “Clustering to Improve One-Class Classifier Performance in Data Streams,” Master's thesis, University of Ottawa, 2018.
[2] S. C. Tan, K. M. Ting, and T. F. Liu, “Fast anomaly detection for streaming data,” in IJCAI Proceedings-International Joint Conference on Artificial Intelligence, 2011, vol. 22, no. 1, pp. 1511–1516.
[3] D. M. J. Tax, “One-Class Classification: Concept-learning in the absence of counter-examples.” PhD Thesis, Delft University of Technology, 2001.
This pull request consists the implementations of three one-class classifiers for use with MOA. These are as follows:
Autoencoder: A neural network that attempts to reconstruct the input. The autoencoder's structure is an input layer with one neuron for each non-class attribute, a hidden layer of two neurons and an output layer with one neuron for each non-class attribute. Partially modeled on Albert Bifet's Perceptron.java, also found in the MOA project. Includes a dependency on the Apache Commons Math linear algebra library.
Streaming Half-Space Trees: Implements Tan et al.'s Streaming Half-Space Trees one-class classifier [2].
Nearest Neighbour Description: A data stream adaptation of Tax's Nearest Neighbour Description, a one-class classifier based on the nearest neighbour method [3, Sec. 3.4.2].
These one-class classifiers were written for and used in my Master's thesis [1].
REFERENCES [1] R. H. Moulton, “Clustering to Improve One-Class Classifier Performance in Data Streams,” Master's thesis, University of Ottawa, 2018. [2] S. C. Tan, K. M. Ting, and T. F. Liu, “Fast anomaly detection for streaming data,” in IJCAI Proceedings-International Joint Conference on Artificial Intelligence, 2011, vol. 22, no. 1, pp. 1511–1516. [3] D. M. J. Tax, “One-Class Classification: Concept-learning in the absence of counter-examples.” PhD Thesis, Delft University of Technology, 2001.