Posts

Showing posts with the label machine learning

Machine Learning: third book

Image
I am deviating a bit from the originally planned order of reading books as well as from the topic of TensorFlow, but I picked up the next book "Python - Machine Learning" by Wei-Meng Lee anyway from the local bookstore, since it presents some basic technologies that are relevant to ML. As the introduction states, the book takes a gentle approach to the ML topic, but it provides an interesting read nevertheless. First some fundamental Python libraries are presented: NumPy (multi-dimensional arrays), Pandas (Panel Data Analysis), matplotlib/Searborn (data visualization), and Scikit-learn (ML algorithms for classification, regression, clustering, decision tree, etc.). The book provides resources for data sets, discusses data cleaning, and goes over several ML examples for supervised learning (one regression chapter and three classification chapters) and unsupervised learning (one clustering chapter). The book finishes with a presentation of the Azure Machine Learning Studio (w…

Tensorflow: second book

Image
A while back, I posted on my interest in Tensorflow, and planned a few brief follow-up impressions of some books I bought. This was soon followed by a first posting on "Tensorflow for Deep Learning" with a follow-up on a CNN for a digit recognition example from that book. After that, the distractions of life and work took over, but now I am ready to continue these postings. Since then, I even bought a few new books!
I am really enthusiastic about the second book, "Learning TensorFlow" by Tom Hope, Yehezkel S. Resheff, and Itay Lieder. Unlike the first book, which was informative but a bit sparse on details, this book explains the details of constructing and running a TensorFlow computation graph really well. After the first three chapters, I was quite comfortable with the fundamental basic blocks of TensorFlow and experimenting with some different setups. What was particularly helpful was showing a toy graph first to explain underlying principles before moving on …

Tensorflow: first book (continued)

Image
Before moving to the next book, first a posting on an example given in the Tensorflow book by Ramsundar and Zadeh.
The chapter on convolutional neural networks discusses training a tensorflow architecture to recognize handwritten digits taken from the MNIST dataset. The given Python code automatically downloads the dataset from the Web and partitions the labeled data into a train, validation, and test set (as explained in the book, used to train the network, validate the performance of the model, and test the final model, respectively).
The ultimate objective of the algorithm is, given the tensor with handwritten digits shown below to the left, finding the tensor with labels shown below to the right. 
[7 2 1 0 4 1 4 9
 5 9 0 6 9 0 1 5
 9 7 3 4 9 6 6 5
 4 0 7 4 0 1 3 1
 3 4 7 2 7 1 2 1
 1 7 4 2 3 5 1 2
 4 4 6 3 5 5 6 0
 4 1 9 5 7 8 9 3]


Clearly a fun example, since recognizing digits is an intuitive, but non-straightforward problem. I highly recommend running and modifying the code to become …

TensorFlow: first book

Image
A brief impression after finishing the book "TensorFlow for Deep Learning - From Linear Regression to Reinforcement Learning" (by Ramsundar and Zadeh). 
The book introduces the concept of tensors, primitives and architectures for deep learning, and the basics of regression, various neural networks, hyperparameter optimization, and reinforcement learning. The art work in the figures is beautiful (something that convinced me to buy the book). The TensorFlow code examples can be downloaded from the book's website, making it easy to follow along with the discussion the book.
The book falls a bit short on detailed explanation, however. I found that many times when the discussion in the book was about to get interesting, it referred to other work for details instead. Several architectures were merely "explained" with a figure, no accompanying details in the text.
In addition, although I realize how hard it is to avoid errors in a book, the given linear regression ex…

TensorFlow for Deep Learning

Image
As a CS student, a long time ago in a country far away, I was very interested in AI (Artificial Intelligence), and not just for chess playing programs. In fact, if it weren't for my professor convincing me to continue with compilers and high-performance computing, I may have ended up specializing in the field of AI. Perhaps lucky for me, since AI has gone through many rounds of boom-and-bust.
Nowadays, however, machine learning in general, and deep learning in particular really seem to have taken AI in a very promising new direction. Since I feel machine learning will become an important, if not mandatory skill for computer scientists, I decided to buy a few books on TensorFlow and familiarize myself with the new paradigm.
For starters, I bought the three O'Reilly books below (other recommendations are welcome) and plan to do a few brief follow-up posts on this topic.