Machine Learning with TensorFlow
Nishant Shukla
  • MEAP began July 2016
  • Publication in January 2018 (estimated)
  • ISBN 9781617293870
  • 280 pages (estimated)
  • printed in black & white

We're living in a big data world. Being able to make near-real-time decisions becomes increasingly crucial. To succeed, we need machine learning systems that can turn massive amounts of data into valuable insights. But when you're just starting out in the data science field, how do you get started creating machine learning applications? The answer is TensorFlow, a new open source machine learning library from Google that they use in their own successful products like Search, Maps, YouTube, Translate, and Photos. The TensorFlow library can take your high level designs and turn them into the low level mathematical operations required by machine learning algorithms.

"An excellent introduction to the concepts of TensorFlow and various fitting techniques."

~ Ken Fricklas

"Should be studied by every machine learning developer."

~ William Wheeler

"Excellent book for learning machine learning with Tensorflow."

~ Ursin Stauss

Table of Contents detailed table of contents

Part 1: My Machine Learning Rig

1. A machine-learning odyssey

1.1. Machine learning fundamentals

1.2. Data representation and features

1.3. Distance Metrics

1.4. Types of Learning

1.4.1. Supervised Learning

1.4.2. Unsupervised Learning

1.4.3. Reinforcement Learning

1.5. Existing Tools

1.5.1. Theano

1.5.2. Caffe

1.5.3. Torch

1.5.4. Computational Graph Toolkit

1.6. TensorFlow

1.7. Overview of future chapters

1.8. Summary

2. TensorFlow essentials

2.1. Ensuring TensorFlow works

2.2. Representing tensors

2.3. Creating operators

2.4. Executing operators with sessions

2.4.1. Understanding code as a graph

2.4.2. Session configurations

2.5. Writing code in Jupyter

2.6. Using variables

2.7. Saving and Loading Variables

2.8. Visualizing data using TensorBoard

2.8.1. Implementing a moving average

2.8.2. Visualizing the moving average

2.9. Summary

Part 2: Core Learning Algorithms

3. Linear regression and beyond

3.1. Formal notation

3.1.1. How do you know the regression algorithm is working?

3.2. Linear Regression

3.3. Polynomial Model

3.4. Regularization

3.5. Application of linear regression

3.6. Summary

4. A gentle introduction to classification

4.1. Formal Notation

4.2. Measuring Performance

4.2.1. Accuracy

4.2.2. Precision and Recall

4.2.3. Receiver operating characteristic curve

4.3. Using linear regression for classification

4.4. Using logistic regression

4.4.1. Solving one-dimensional logistic regression

4.4.2. Solving two-dimensional logistic regression

4.5. Multiclass classifier

4.5.1. One versus all

4.5.2. One versus one

4.5.3. Softmax regression

4.6. Application of classification

4.7. Summary

5. Automatically clustering data

5.1. Traversing files in TensorFlow

5.2. Extracting features from audio

5.3. K-means clustering

5.4. Audio segmentation

5.5. Clustering using a self-organizing map

5.6. Application of clustering

5.7. Summary

6. Hidden Markov models

6.1. Example of a not-so-interpretable model

6.2. Markov Model

6.3. Hidden Markov Model

6.4. Forward algorithm

6.5. Viterbi decode

6.6. Uses of Hidden Markov Models

6.6.1. Modeling a video

6.6.2. Modeling DNA

6.6.3. Modeling an image

6.7. Application of hidden Markov models

6.8. Summary

Part 3: The Neural Network Paradigm

7. A peek into autoencoders

7.1. Neural Networks

7.2. Autoencoder

7.3. Batch training

7.4. Working with images

7.5. Application of autoencoders

7.6. Summary

8. Reinforcement learning

8.1. Formal notions

8.1.1. Policy

8.1.2. Utility

8.2. Applying reinforcement learning

8.3. Implementation

8.4. Applications of reinforcement learning

8.5. Summary

9. Convolutional neural networks

9.1. Drawback of neural networks

9.2. Convolutional neural networks

9.3. Preparing the image

9.3.1. Generate filters

9.3.2. Convolve using filters

9.3.3. Max-pooling

9.4. Implementing a convolutional neural network in TensorFlow

9.4.1. Measuring performance

9.4.2. Training the classifier

9.5. Tips and tricks to improve performance

9.6. Application of convolutional neural networks

9.7. Summary

10. Recurrent neural networks

10.1. Contextual information

10.2. Introduction to recurrent neural networks

10.3. Implementing a recurrent neural network

10.4. A predictive model for timeseries data

10.5. Application of recurrent neural networks

10.6. Summary

11. Sequence-to-sequence models for chatbots

11.1. Classification

11.2. Recurrent neural networks

11.3. Classification and RNNs

11.4. Seq-to-seq architecture

11.5. Vector representation of symbols

11.6. Putting it all together

11.7. Gathering dialogue data

11.8. Summary

12. Utility landscape

12.1. Preference model

12.2. Image embedding

12.3. Ranking images

12.4. Summary

12.5. What’s next?


Appendix A: Installation

A.1. Installing TensorFlow using Docker

A.1.1. Install Docker on Windows

A.1.2. Install Docker on Linux

A.1.3. Install Docker on OSX

A.1.4. How to user Docker

A.2. Installing Matplotlib

About the Technology

Machine Learning with TensorFlow teaches you machine learning algorithms and how to implement solutions with TensorFlow. You'll start with an overview of machine learning concepts. Next, you'll learn the essentials you'll need to begin using TensorFlow before moving on to specific machine learning problems and solutions. With lots of diagrams, code examples, and exercises, this tutorial teaches you cutting-edge machine learning algorithms and techniques to solve them. Each chapter zooms into a prominent example of machine learning, such as classification, regression, anomaly detection, clustering, and neural networks. Cover them all to master the basics, or cater to your needs by skipping around. By the end of this book, you'll be able to solve classification, clustering, regression, and prediction problems in the real world.

What's inside

  • Formulating machine learning frameworks for real-world problems
  • Understanding machine learning problems
  • Solving problems with TensorFlow
  • Visualizing algorithms with TensorBoards
  • Using well-studied neural network architectures
  • Reusing provided code for your own applications

About the reader

This book is for programmers who have some experience with Python and linear algebra concepts like vectors and matrices. No experience with machine learning is necessary.

About the author

Nishant Shukla is a computer vision researcher at UCLA, focusing on machine learning techniques with robotics. He has been a developer for Microsoft, Facebook, and Foursquare, and a machine learning engineer for SpaceX, as well as the author of the Haskell Data Analysis Cookbook.

Manning Early Access Program (MEAP) Read chapters as they are written, get the finished eBook as soon as it’s ready, and receive the pBook long before it's in bookstores.
MEAP combo $44.99 pBook + eBook + liveBook
MEAP eBook $35.99 pdf + ePub + kindle + liveBook

FREE domestic shipping on three or more pBooks