Unsupervised Deep Learning Algorithms