HandsOn Machine Learning with ScikitLearn and TensorFlow
Concepts, Tools, and Techniques to Build Intelligent Systems
Publisher: O'Reilly Media
Release Date: March 2017
Pages: 568
Read on Safari with a 10day trial
Start your free trial now Buy on AmazonWhere’s the cart? Now you can get everything on Safari. To purchase books, visit Amazon or your favorite retailer. Questions? See our FAQ or contact customer service:
18008898969 / 7078277019
support@oreilly.com
Through a series of recent breakthroughs, deep learning has boosted the entire field of machine learning. Now, even programmers who know close to nothing about this technology can use simple, efficient tools to implement programs capable of learning from data. This practical book shows you how.
By using concrete examples, minimal theory, and two productionready Python frameworks—scikitlearn and TensorFlow—author Aurélien Géron helps you gain an intuitive understanding of the concepts and tools for building intelligent systems. You’ll learn a range of techniques, starting with simple linear regression and progressing to deep neural networks. With exercises in each chapter to help you apply what you’ve learned, all you need is programming experience to get started.
 Explore the machine learning landscape, particularly neural nets
 Use scikitlearn to track an example machinelearning project endtoend
 Explore several training models, including support vector machines, decision trees, random forests, and ensemble methods
 Use the TensorFlow library to build and train neural nets
 Dive into neural net architectures, including convolutional nets, recurrent nets, and deep reinforcement learning
 Learn techniques for training and scaling deep neural nets
 Apply practical code examples without acquiring excessive machine learning theory or algorithm details
Table of Contents

The Fundamentals of Machine Learning

Chapter 1 The Machine Learning Landscape
 What Is Machine Learning?
 Why Use Machine Learning?
 Types of Machine Learning Systems
 Main Challenges of Machine Learning
 Testing and Validating
 Exercises

Chapter 2 EndtoEnd Machine Learning Project
 Working with Real Data
 Look at the Big Picture
 Get the Data
 Discover and Visualize the Data to Gain Insights
 Prepare the Data for Machine Learning Algorithms
 Select and Train a Model
 FineTune Your Model
 Launch, Monitor, and Maintain Your System
 Try It Out!
 Exercises

Chapter 3 Classification
 MNIST
 Training a Binary Classifier
 Performance Measures
 Multiclass Classification
 Error Analysis
 Multilabel Classification
 Multioutput Classification
 Exercises

Chapter 4 Training Models
 Linear Regression
 Gradient Descent
 Polynomial Regression
 Learning Curves
 Regularized Linear Models
 Logistic Regression
 Exercises

Chapter 5 Support Vector Machines
 Linear SVM Classification
 Nonlinear SVM Classification
 SVM Regression
 Under the Hood
 Exercises

Chapter 6 Decision Trees
 Training and Visualizing a Decision Tree
 Making Predictions
 Estimating Class Probabilities
 The CART Training Algorithm
 Computational Complexity
 Gini Impurity or Entropy?
 Regularization Hyperparameters
 Regression
 Instability
 Exercises

Chapter 7 Ensemble Learning and Random Forests
 Voting Classifiers
 Bagging and Pasting
 Random Patches and Random Subspaces
 Random Forests
 Boosting
 Stacking
 Exercises

Chapter 8 Dimensionality Reduction
 The Curse of Dimensionality
 Main Approaches for Dimensionality Reduction
 PCA
 Kernel PCA
 LLE
 Other Dimensionality Reduction Techniques
 Exercises


Neural Networks and Deep Learning

Chapter 9 Up and Running with TensorFlow
 Installation
 Creating Your First Graph and Running It in a Session
 Managing Graphs
 Lifecycle of a Node Value
 Linear Regression with TensorFlow
 Implementing Gradient Descent
 Feeding Data to the Training Algorithm
 Saving and Restoring Models
 Visualizing the Graph and Training Curves Using TensorBoard
 Name Scopes
 Modularity
 Sharing Variables
 Exercises

Chapter 10 Introduction to Artificial Neural Networks
 From Biological to Artificial Neurons
 Training an MLP with TensorFlow’s HighLevel API
 Training a DNN Using Plain TensorFlow
 FineTuning Neural Network Hyperparameters
 Exercises

Chapter 11 Training Deep Neural Nets
 Vanishing/Exploding Gradients Problems
 Reusing Pretrained Layers
 Faster Optimizers
 Avoiding Overfitting Through Regularization
 Practical Guidelines
 Exercises

Chapter 12 Distributing TensorFlow Across Devices and Servers
 Multiple Devices on a Single Machine
 Multiple Devices Across Multiple Servers
 Parallelizing Neural Networks on a TensorFlow Cluster
 Exercises

Chapter 13 Convolutional Neural Networks
 The Architecture of the Visual Cortex
 Convolutional Layer
 Pooling Layer
 CNN Architectures
 Exercises

Chapter 14 Recurrent Neural Networks
 Recurrent Neurons
 Basic RNNs in TensorFlow
 Training RNNs
 Deep RNNs
 LSTM Cell
 GRU Cell
 Natural Language Processing
 Exercises

Chapter 15 Autoencoders
 Efficient Data Representations
 Performing PCA with an Undercomplete Linear Autoencoder
 Stacked Autoencoders
 Unsupervised Pretraining Using Stacked Autoencoders
 Denoising Autoencoders
 Sparse Autoencoders
 Variational Autoencoders
 Other Autoencoders
 Exercises

Chapter 16 Reinforcement Learning
 Learning to Optimize Rewards
 Policy Search
 Introduction to OpenAI Gym
 Neural Network Policies
 Evaluating Actions: The Credit Assignment Problem
 Policy Gradients
 Markov Decision Processes
 Temporal Difference Learning and QLearning
 Learning to Play Ms. PacMan Using Deep QLearning
 Exercises
 Thank You!

Appendix Exercise Solutions
 Chapter 1: The Machine Learning Landscape
 Chapter 2: EndtoEnd Machine Learning Project
 Chapter 3: Classification
 Chapter 4: Training Linear Models
 Chapter 5: Support Vector Machines
 Chapter 6: Decision Trees
 Chapter 7: Ensemble Learning and Random Forests
 Chapter 8: Dimensionality Reduction
 Chapter 9: Up and Running with TensorFlow
 Chapter 10: Introduction to Artificial Neural Networks
 Chapter 11: Training Deep Neural Nets
 Chapter 12: Distributing TensorFlow Across Devices and Servers
 Chapter 13: Convolutional Neural Networks
 Chapter 14: Recurrent Neural Networks
 Chapter 15: Autoencoders
 Chapter 16: Reinforcement Learning

Appendix Machine Learning Project Checklist
 Frame the Problem and Look at the Big Picture
 Get the Data
 Explore the Data
 Prepare the Data
 ShortList Promising Models
 FineTune the System
 Present Your Solution
 Launch!

Appendix SVM Dual Problem

Appendix Autodiff
 Manual Differentiation
 Symbolic Differentiation
 Numerical Differentiation
 ForwardMode Autodiff
 ReverseMode Autodiff

Appendix Other Popular ANN Architectures
 Hopfield Networks
 Boltzmann Machines
 Restricted Boltzmann Machines
 Deep Belief Nets
 SelfOrganizing Maps
