  Novelty detection is a process for distinguishing the observations that
differ in some respect from the observations that the model is trained on.
Novelty detection is one of the fundamental requirements of a good
classification or identification system since sometimes the test data contains
observations that were not known at the training time. In other words, the
novelty class is often is not presented during the training phase or not well
defined.
  In light of the above, one-class classifiers and generative methods can
efficiently model such problems. However, due to the unavailability of data
from the novelty class, training an end-to-end model is a challenging task
itself. Therefore, detecting the Novel classes in unsupervised and
semi-supervised settings is a crucial step in such tasks.
  In this thesis, we propose several methods to model the novelty detection
problem in unsupervised and semi-supervised fashion. The proposed frameworks
applied to different related applications of anomaly and outlier detection
tasks. The results show the superior of our proposed methods in compare to the
baselines and state-of-the-art methods.
