This book illustrates less common machine learning algorithms mainly using the Python Theano library.
It covers many approaches including self-organising maps, PCA, deep learning (RNN, CNN, Autoencoders) as well as semi-supervised learning such as Contrastive Pessimistic Likelihood estimation (CPLE). It uses well-known datasets used in machine learning contests such as MNIST or CIFAR-10.
For a book about Deep learning, I like it better than Deep Learning: A Practitioner's Approach because it covers more ground but is not restricted to Deep Learning ideas. Yet, I found theoretical models of CNN, RNN, and the likes are only too briefly discussed.