Machine learning does not always need a teacher. Unsupervised learning is another form of learning mechanism. Unsupervised learning is often used in signal processing information extraction, dataset dimensionality reduction, signal separation, and many more situations. Unsupervised learning has no teachers involved, so it does not necessarily yield the expected outputs. Instead, an unsupervised network, once trained, forms internal representations for encoding features of the input and, therefore, creates new classes automatically. (Becker, 1991) In layperson's words, unsupervised learning can discover knowledge. Furthermore, unsupervised networks can be viewed as information encoders and can perform data reduction to extract most significant information. Although unsupervised learning may lead to outcomes without significant physical meanings, the behaviour of some well-structured unsupervised models are known. They have links to certain statistical methods, providing an important means to perform data mining and compression. For example, unsupervised learning can be used to perform principal components analysis (PCA) and independent component analysis (ICA).