
Hands-on Machine Learning
Description
Book Introduction
From practical examples to the latest machine learning trends like stable diffusion.
The best practical guides presented by experts at major AI conferences.
** Decomposition for the convenience of readers (Volumes 1 and 2)
**Updated full code to latest library version
** Includes "Practice Problems + Answers" and "Machine Learning Project Checklist"
If mathematics has "The Essentials of Mathematics," artificial intelligence has "Hands-On Machine Learning"!
"Hands-On Machine Learning" has been further upgraded and reflects feedback from the first and second editions, and is now available in its third edition.
To more effectively achieve the goal of "learning while actually implementing machine learning," we've structured complex topics and improved them to allow for sequential learning based on difficulty.
We've also refined and supplemented the existing explanations to make them more user-friendly and clearer so that anyone can easily understand them.
Finally, as this is a rapidly evolving field, we've updated the entire code version and technology trends to the latest information (you can check out the updates to the third edition in the "Publisher's Review" below).
Even beginners with no prior knowledge of machine learning can easily practice using Jupyter Notebooks available online.
Translator Park Hae-seon's helpful additional explanations are also included, allowing you to learn easily and without frustration.
The best practical guides presented by experts at major AI conferences.
** Decomposition for the convenience of readers (Volumes 1 and 2)
**Updated full code to latest library version
** Includes "Practice Problems + Answers" and "Machine Learning Project Checklist"
If mathematics has "The Essentials of Mathematics," artificial intelligence has "Hands-On Machine Learning"!
"Hands-On Machine Learning" has been further upgraded and reflects feedback from the first and second editions, and is now available in its third edition.
To more effectively achieve the goal of "learning while actually implementing machine learning," we've structured complex topics and improved them to allow for sequential learning based on difficulty.
We've also refined and supplemented the existing explanations to make them more user-friendly and clearer so that anyone can easily understand them.
Finally, as this is a rapidly evolving field, we've updated the entire code version and technology trends to the latest information (you can check out the updates to the third edition in the "Publisher's Review" below).
Even beginners with no prior knowledge of machine learning can easily practice using Jupyter Notebooks available online.
Translator Park Hae-seon's helpful additional explanations are also included, allowing you to learn easily and without frustration.
- You can preview some of the book's contents.
Preview
index
[Part 1: Machine Learning]
Chapter 1: Machine Learning at a Glance
1.1 What is machine learning?
1.2 Why use machine learning?
1.3 Application Cases
1.4 Types of Machine Learning Systems
_1.4.1 Training Guidance Method
__Supervised learning
__Unsupervised learning
__Readiness Learning
__Self-directed learning
__Reinforcement learning
_1.4.2 Batch Learning and Online Learning
__Batch learning
__Online learning
_1.4.3 Case-Based Learning and Model-Based Learning
__Case-Based Learning
__Model-based learning
1.5 Key Challenges in Machine Learning
_1.5.1 Insufficient amount of training data
_1.5.2 Non-representative training data
_1.5.3 Low quality data
_1.5.4 Unrelated characteristics
_1.5.5 Overfitting training data
_1.5.6 Underfitting the training data
_1.5.7 Key Summary
1.6 Testing and Validation
_1.6.1 Hyperparameter Tuning and Model Selection
_1.6.2 Data inconsistency
Practice problems
Chapter 2 Machine Learning Projects from Start to Finish
2.1 Working with Real Data
2.2 Seeing the Big Picture
_2.2.1 Problem Definition
_2.2.2 Selecting Performance Measurement Indicators
_2.2.3 Home Inspection
2.3 Importing Data
_2.3.1 Running example code using Google Colab
_2.3.2 Saving code and data
_2.3.3 The Convenience and Risks of Interactive Environments
_2.3.4 Code in the book and code in the notebook
_2.3.5 Data Download
_2.3.6 Data Structure Overview
_2.3.7 Creating a test set
2.4 Exploration and Visualization for Data Understanding
_2.4.1 Visualizing Geographic Data
_2.4.2 Investigating Correlations
_2.4.3 Experimenting with trait combinations
2.5 Preparing Data for Machine Learning Algorithms
_2.5.1 Data Cleaning
_2.5.2 Handling Text and Categorical Features
_2.5.3 Feature Scales and Transforms
_2.5.4 Custom Converter
_2.5.5 Conversion Pipeline
2.6 Model Selection and Training
_2.6.1 Training and evaluating on the training set
_2.6.2 Evaluating with cross-validation
2.7 Model Fine Tuning
_2.7.1 Grid Search
_2.7.2 Random Search
_2.7.3 Ensemble Methods
_2.7.4 Best Model and Error Analysis
_2.7.5 Evaluating the System with a Test Set
2.8 Launching, Monitoring, and System Maintenance
2.9 Try it yourself!
Practice problems
Chapter 3 Classification
3.1 MNIST
3.2 Binary classifier training
3.3 Performance Measurement
_3.3.1 Measuring accuracy using cross-validation
_3.3.2 Error matrix
_3.3.3 Precision and Recall
_3.3.4 Precision/Recall Tradeoff
_3.3.5 ROC curve
3.4 Multi-classification
3.5 Error Analysis
3.6 Multi-label classification
3.7 Multi-output classification
Practice problems
Chapter 4 Model Training
4.1 Linear regression
_4.1.1 Normal equations
_4.1.2 Computational Complexity
4.2 Gradient descent
_4.2.1 Batch gradient descent
_4.2.2 Stochastic Gradient Descent
_4.2.3 Mini-batch gradient descent
4.3 Polynomial regression
4.4 Learning Curve
4.5 Linear model with regulation
_4.5.1 Ridge Regression
_4.5.2 Lasso Regression
_4.5.3 ElasticNet
_4.5.4 Early Termination
4.6 Logistic Regression
_4.6.1 Probability Estimation
_4.6.2 Training and Cost Functions
_4.6.3 Decision Boundary
_4.6.4 Softmax Regression
Practice problems
Chapter 5 Support Vector Machines
5.1 Linear SVM Classification
_5.1.1 Soft Margin Classification
5.2 Nonlinear SVM classification
_5.2.1 Polynomial Kernel
_5.2.2 Similarity characteristics
_5.2.3 Gaussian RBF kernel
_5.2.4 Computational Complexity
5.3 SVM regression
5.4 SVM theory
5.5 Dual Problem
_5.5.1 Kernel SVM
Practice problems
Chapter 6 Decision Trees
6.1 Decision Tree Learning and Visualization
6.2 Prediction
6.3 Class probability estimation
6.4 CART training algorithm
6.5 Computational Complexity
6.6 Gini impurity or entropy?
6.7 Regulatory Parameters
6.8 Regression
6.9 Sensitivity to axial direction
6.10 Distribution Problems in Decision Trees
Practice problems
Chapter 7: Ensemble Learning and Random Forests
7.1 Voting-based classifier
7.2 Bagging and Pasting
_7.2.1 Bagging and Pasting in Scikit-learn
_7.2.2 OOB Evaluation
7.3 Random Patches and Random Subspaces
7.4 Random Forest
_7.4.1 Extra Tree
_7.4.2 Feature Importance
7.5 Boosting
7.5.1 AdaBoost
_7.5.2 Gradient Boosting
_7.5.3 Histogram-based gradient boosting
_7.6 Stacking
Practice problems
Chapter 8 Dimensional Reduction
8.1 The Curse of Dimensions
8.2 Approaches to Dimensionality Reduction
_8.2.1 Projection
_8.2.2 Manifold Learning
8.3 Principal component analysis
_8.3.1 Distributed Preservation
_8.3.2 Main ingredients
_8.3.3 Projecting to d-dimension
_8.3.4 Using scikit-learn
_8.3.5 Proportion of Variance Explained
_8.3.6 Choosing the Appropriate Number of Dimensions
_8.3.7 PCA for Compression
_8.3.8 Random PCA
_8.3.9 Progressive PCA
8.4 Random projection
8.5 Local linear embedding
8.6 Other dimensionality reduction techniques
Practice problems
Chapter 9 Unsupervised Learning
9.1 Cluster
_9.1.1 k-means
__k-means algorithm
__How to initialize Centroid
__k-means speedup and mini-batch k-means
__Finding the optimal number of clusters
_9.1.2 Limitations of k-means
_9.1.3 Image segmentation using clusters
_9.1.4 Semi-supervised learning using clusters
_9.1.5 DBSCAN
_9.1.6 Other clustering algorithms
9.2 Gaussian Mixture
_9.2.1 Outlier Detection Using Gaussian Mixtures
_9.2.2 Selecting the number of clusters
_9.2.3 Bayesian Gaussian Mixture Model
_9.2.4 Algorithms for Outlier Detection and Outlier Detection
Practice problems
[Part 2: Neural Networks and Deep Learning]
Chapter 10: Introduction to Artificial Neural Networks Using Keras
10.1 From Biological Neurons to Artificial Neurons
_10.1.1 Biological Neurons
_10.1.2 Logical Operations Using Neurons
_10.1.3 Perceptron
_10.1.4 Multilayer Perceptron and Backpropagation
_10.1.5 Multilayer Perceptron for Regression
_10.1.6 Multilayer Perceptron for Classification
10.2 Implementing a Multilayer Perceptron with Keras
_10.2.1 Building an Image Classifier with the Sequential API
__Loading a Dataset with Keras
__Creating a model with the Sequential API
__Compile model
__Model training and evaluation
Making predictions with the __model
_10.2.2 Building a Multilayer Perceptron for Regression with the Sequential API
_10.2.3 Building Complex Models with the Functional API
_10.2.4 Creating Dynamic Models with the Subclassing API
_10.2.5 Saving and Restoring Models
_10.2.6 Using Callbacks
_10.2.7 Visualizing with TensorBoard
10.3 Tuning Neural Network Hyperparameters
_10.3.1 Number of hidden layers
_10.3.2 Number of neurons in the hidden layer
_10.3.3 Learning rate, batch size, and other hyperparameters
Practice problems
Chapter 11: Training Deep Neural Networks
11.1 Gradient Vanishing and Runaway Problems
_11.1.1 Glorot and He Initialization
_11.1.2 Advanced Activation Functions
__LeakyReLU
__ELU and SELU
__GELU, Swish, Mish
_11.1.3 Batch Normalization
__Implementing Batch Normalization with Keras
_11.1.4 Gradient Clipping
11.2 Reusing pretrained layers
_11.2.1 Transfer Learning with Keras
_11.2.2 Unsupervised Pretraining
_11.2.3 Pre-training in auxiliary tasks
11.3 High-Speed Optimizer
_11.3.1 Momentum Optimization
_11.3.2 Nesterov Acceleration Slope
_11.3.3 AdaGrad
_11.3.4 RMSProp
_11.3.5 Adam
_11.3.6 AdaMax
_11.3.7 Nadam
_11.3.8 AdamW
_11.3.9 Learning Rate Scheduling
11.4 Avoiding Overfitting Using Regularization
_11.4.1 l1 and l2 regulation
_11.4.2 Dropout
_11.4.3 Monte Carlo Dropout
_11.4.4 Max-norm regulation
11.5 Summary and Practical Guidelines
Practice problems
Chapter 12: Custom Models and Training with TensorFlow
12.1 Overview of TensorFlow
12.2 Using TensorFlow Like NumPy
_12.2.1 Tensors and Operations
_12.2.2 Tensors and NumPy
_12.2.3 Type Conversion
_12.2.4 Variables
_12.2.5 Other data structures
12.3 Custom Models and Training Algorithms
_12.3.1 User-defined loss functions
_12.3.2 Saving and Loading Models with Custom Elements
_12.3.3 Customizing the activation function, initialization, regulation, and limits
_12.3.4 Custom Metrics
_12.3.5 Custom Layers
_12.3.6 Custom Models
_12.3.7 Losses and metrics based on model components
_12.3.8 Computing Gradients with Automatic Differentiation
_12.3.9 Custom Training Iterations
12.4 TensorFlow Functions and Graphs
_12.4.1 Autograph and Tracing
_12.4.2 How to use TensorFlow functions
Practice problems
Chapter 13: Data Loading and Preprocessing with TensorFlow
13.1 Data API
_13.1.1 Chain transformation
_13.1.2 Data Shuffling
_13.1.3 Reading lines from multiple files one at a time
_13.1.4 Data Preprocessing
_13.1.5 Combining Data Loading and Preprocessing
_13.1.6 Prefetch
_13.1.7 Using Keras and Datasets
13.2 TFRecord Format
_13.2.1 Compressed TFRecord file
_13.2.2 Protocol Buffers Overview
_13.2.3 TensorFlow Protocol Buffers
_13.2.4 Example Reading and Parsing Protocol Buffer
_13.2.5 Handling Lists of Lists with SequenceExample Protocol Buffers
13.3 Preprocessing Layers in Keras
_13.3.1 Normalization layer
_13.3.2 Discretization layer
_13.3.3 CategoryEncoding layer
_13.3.4 StringLookup layer
_13.3.5 Hashing Layer
_13.3.6 Encoding categorical features using embeddings
_13.3.7 Text Preprocessing
_13.3.8 Using Pretrained Language Model Components
_13.3.9 Image Preprocessing Layer
13.5 TensorFlow Dataset Project
Practice problems
Chapter 14: Computer Vision Using Convolutional Neural Networks
14.1 Visual Cortex Structure
14.2 Convolutional Layer
_14.2.1 Filter
_14.2.2 Stacking Multiple Feature Maps
_14.2.3 Implementing a Convolutional Layer with Keras
_14.2.4 Memory Requirements
14.3 Pooling layer
14.4 Implementing a Pooling Layer in Keras
14.5 CNN Structure
_14.5.1 LeNet-5
_14.5.2 AlexNet
_14.5.3 GoogLeNet
_14.5.4 VGGNet
_14.5.5 ResNet
_14.5.6 Xception
_14.5.7 SENet
_14.5.8 Other notable structures
_14.5.9 Choosing the Right CNN Architecture
14.6 Implementing a ResNet-34 CNN with Keras
14.7 Using Pretrained Models in Keras
14.8 Transfer Learning Using Pretrained Models
14.9 Classification and Location Estimation
14.10 Object Detection
_14.10.1 Fully Convolutional Neural Networks
_14.10.2 YOLO
14.11 Object Tracking
14.12 Semantic Segmentation
Practice problems
Chapter 15 Sequence Processing Using RNNs and CNNs
15.1 Circular Neurons and Circular Layers
_15.1.1 Memory Cells
_15.1.2 Input and Output Sequences
15.2 Training the RNN
15.3 Forecasting Time Series
_15.3.1 ARMA Model
_15.3.2 Preparing Data for Machine Learning Models
_15.3.3 Predicting with a linear model
_15.3.4 Predicting with a Simple RNN
_15.3.5 Predicting with Deep RNNs
_15.3.6 Forecasting Multivariate Time Series
_15.3.7 Predicting Multiple Time Steps Ahead
_15.3.8 Predicting with a Sequence-to-Sequence Model
15.4 Handling Long Sequences
_15.4.1 Fighting the Unstable Gradient Problem
_15.4.2 Solving short-term memory problems
__LSTM cell
__GRU cell
Processing sequences with __1D convolutional layers
__WaveNet
Practice problems
Chapter 16: Natural Language Processing Using RNNs and Attention
16.1 Generating Shakespearean Styles with Char-RNN
_16.1.1 Creating a Training Dataset
_16.1.2 Building and Training a Char-RNN Model
_16.1.3 Generating fake Shakespeare text
_16.1.4 RNN with state
16.2 Sentiment Analysis
_16.2.1 Masking
_16.2.2 Reusing Pretrained Embeddings and Language Models
16.3 Encoder-Decoder Networks for Neural Machine Translation
_16.3.1 Bidirectional RNN
_16.3.2 Beam Search
16.4 Attention Mechanism
_16.4.1 Transformer Structure: All You Need Is Attention
__Position encoding
__Multi-head attention
16.5 Recent Innovations in Language Modeling
16.6 Vision Transformer
16.7 Hugging Face's Transformers Library
Practice problems
Chapter 17: Autoencoders, GANs, and Diffusion Models
17.1 Efficient Data Representation
17.2 Performing PCA with an Undercomplete Linear Autoencoder
17.3 Stacked Autoencoders
_17.3.1 Implementing a Stacked Autoencoder with Keras
_17.3.2 Reconstruction Visualization
_17.3.3 Visualizing the Fashion MNIST Dataset
_17.3.4 Unsupervised Pretraining Using Stacked Autoencoders
_17.3.5 Weight Binding
_17.3.6 Training Autoencoders One by One
17.4 Convolutional Autoencoder
17.5 Noise Reduction Autoencoder
17.6 Sparse Autoencoder
17.7 Variational Autoencoder
_17.7.1 Generating Fashion MNIST Images
17.8 Generative Adversarial Networks
_17.8.1 Difficulties in GAN Training
_17.8.2 Deep Convolutional GAN
_17.8.3 ProGAN
__Mini-batch standard deviation layer
__Same learning rate
__Pixel-wise normalization layer
_17.8.4 StyleGAN
__Mapping Network
__synthetic network
17.9 Diffusion Model
Practice problems
Chapter 18: Reinforcement Learning
18.1 Learning to Optimize Rewards
18.2 Policy Exploration
18.3 OpenAI Gym
18.4 Neural Network Policy
18.5 Behavioral Evaluation: The Credit Assignment Problem
18.6 Policy Gradient
18.7 Markov Decision Processes
18.8 Time difference learning
18.9 Q-Learning
_18.9.1 Exploration Policy
_18.9.2 Approximate Q-Learning and Deep Q-Learning
18.10 Implementing Deep Q-Learning
18.11 Variations of Deep Q-Learning
_18.11.1 Fixed Q-Value Target
_18.11.2 Double DQN
_18.11.3 Priority-based experience playback
_18.11.4 Dueling DQN
18.12 Other Reinforcement Learning Algorithms
Practice problems
Chapter 19: Training and Deploying Large-Scale TensorFlow Models
19.1 Serving TensorFlow Models
_19.1.1 Using TensorFlow Serving
Export to __SavedModel
__Installing and starting TensorFlow Serving
__Querying TF Serving with REST API
__Querying TF Serving with the gRPC API
__Deploying a new version of the model
_19.1.2 Creating a Prediction Service in Vertex AI
_19.1.3 Running Batch Prediction Jobs in Vertex AI
19.2 Deploying Models to Mobile or Embedded Devices
19.3 Running the Model on a Web Page
19.4 Using GPUs to Speed Up Computation
_19.4.1 Buy a GPU
_19.4.2 Managing GPU RAM
_19.4.3 Assigning Operations and Variables to Devices
_19.4.4 Running in Parallel on Multiple Devices
19.5 Training Models on Multiple Devices
_19.5.1 Model Parallelism
_19.5.2 Data Parallelism
Data parallelism using the mirrored strategy
__Data parallelism using centralized parameters
__bandwidth saturation
_19.5.3 Large-Scale Training Using the Distributed Strategy API
_19.5.4 Training a Model on a TensorFlow Cluster
_19.5.5 Running Large-Scale Training Jobs in Vertex AI
_19.5.6 Hyperparameter Tuning for Vertex AI
Practice problems
In conclusion
[Part 3 Appendix]
Appendix A: Practice Problem Answers
Appendix B Machine Learning Project Checklist
B.1 Define the problem and draw the big picture
B.2 Collect data
B.3 Explore the data
B.4 Prepare the data
B.5 Choose a few possible models
Fine-tuning the B.6 model
Launching the B.7 solution
Launching the B.8 system!
Appendix C Automatic Differentiation
C.1 Manual Differentiation
C.2 Finite difference approximation
C.3 Forward mode automatic differentiation
C.4 Automatic differentiation in reverse mode
Appendix D Special Data Structures
D.1 String
D.2 Ragged tensor
D.3 Sparse tensors
D.4 Tensor Arrays
D.5 Set
D.6 Queue
Appendix E TensorFlow Graph
E.1 TF functions and concrete functions
E.2 Exploring Function Definitions and Function Graphs
E.3 Tracing Details
E.4 Expressing Control Flow with Autographs
E.5 Handling Variables and Other Resources in TF Functions
E.6 Using (or Not Using) TF Functions with Keras
Chapter 1: Machine Learning at a Glance
1.1 What is machine learning?
1.2 Why use machine learning?
1.3 Application Cases
1.4 Types of Machine Learning Systems
_1.4.1 Training Guidance Method
__Supervised learning
__Unsupervised learning
__Readiness Learning
__Self-directed learning
__Reinforcement learning
_1.4.2 Batch Learning and Online Learning
__Batch learning
__Online learning
_1.4.3 Case-Based Learning and Model-Based Learning
__Case-Based Learning
__Model-based learning
1.5 Key Challenges in Machine Learning
_1.5.1 Insufficient amount of training data
_1.5.2 Non-representative training data
_1.5.3 Low quality data
_1.5.4 Unrelated characteristics
_1.5.5 Overfitting training data
_1.5.6 Underfitting the training data
_1.5.7 Key Summary
1.6 Testing and Validation
_1.6.1 Hyperparameter Tuning and Model Selection
_1.6.2 Data inconsistency
Practice problems
Chapter 2 Machine Learning Projects from Start to Finish
2.1 Working with Real Data
2.2 Seeing the Big Picture
_2.2.1 Problem Definition
_2.2.2 Selecting Performance Measurement Indicators
_2.2.3 Home Inspection
2.3 Importing Data
_2.3.1 Running example code using Google Colab
_2.3.2 Saving code and data
_2.3.3 The Convenience and Risks of Interactive Environments
_2.3.4 Code in the book and code in the notebook
_2.3.5 Data Download
_2.3.6 Data Structure Overview
_2.3.7 Creating a test set
2.4 Exploration and Visualization for Data Understanding
_2.4.1 Visualizing Geographic Data
_2.4.2 Investigating Correlations
_2.4.3 Experimenting with trait combinations
2.5 Preparing Data for Machine Learning Algorithms
_2.5.1 Data Cleaning
_2.5.2 Handling Text and Categorical Features
_2.5.3 Feature Scales and Transforms
_2.5.4 Custom Converter
_2.5.5 Conversion Pipeline
2.6 Model Selection and Training
_2.6.1 Training and evaluating on the training set
_2.6.2 Evaluating with cross-validation
2.7 Model Fine Tuning
_2.7.1 Grid Search
_2.7.2 Random Search
_2.7.3 Ensemble Methods
_2.7.4 Best Model and Error Analysis
_2.7.5 Evaluating the System with a Test Set
2.8 Launching, Monitoring, and System Maintenance
2.9 Try it yourself!
Practice problems
Chapter 3 Classification
3.1 MNIST
3.2 Binary classifier training
3.3 Performance Measurement
_3.3.1 Measuring accuracy using cross-validation
_3.3.2 Error matrix
_3.3.3 Precision and Recall
_3.3.4 Precision/Recall Tradeoff
_3.3.5 ROC curve
3.4 Multi-classification
3.5 Error Analysis
3.6 Multi-label classification
3.7 Multi-output classification
Practice problems
Chapter 4 Model Training
4.1 Linear regression
_4.1.1 Normal equations
_4.1.2 Computational Complexity
4.2 Gradient descent
_4.2.1 Batch gradient descent
_4.2.2 Stochastic Gradient Descent
_4.2.3 Mini-batch gradient descent
4.3 Polynomial regression
4.4 Learning Curve
4.5 Linear model with regulation
_4.5.1 Ridge Regression
_4.5.2 Lasso Regression
_4.5.3 ElasticNet
_4.5.4 Early Termination
4.6 Logistic Regression
_4.6.1 Probability Estimation
_4.6.2 Training and Cost Functions
_4.6.3 Decision Boundary
_4.6.4 Softmax Regression
Practice problems
Chapter 5 Support Vector Machines
5.1 Linear SVM Classification
_5.1.1 Soft Margin Classification
5.2 Nonlinear SVM classification
_5.2.1 Polynomial Kernel
_5.2.2 Similarity characteristics
_5.2.3 Gaussian RBF kernel
_5.2.4 Computational Complexity
5.3 SVM regression
5.4 SVM theory
5.5 Dual Problem
_5.5.1 Kernel SVM
Practice problems
Chapter 6 Decision Trees
6.1 Decision Tree Learning and Visualization
6.2 Prediction
6.3 Class probability estimation
6.4 CART training algorithm
6.5 Computational Complexity
6.6 Gini impurity or entropy?
6.7 Regulatory Parameters
6.8 Regression
6.9 Sensitivity to axial direction
6.10 Distribution Problems in Decision Trees
Practice problems
Chapter 7: Ensemble Learning and Random Forests
7.1 Voting-based classifier
7.2 Bagging and Pasting
_7.2.1 Bagging and Pasting in Scikit-learn
_7.2.2 OOB Evaluation
7.3 Random Patches and Random Subspaces
7.4 Random Forest
_7.4.1 Extra Tree
_7.4.2 Feature Importance
7.5 Boosting
7.5.1 AdaBoost
_7.5.2 Gradient Boosting
_7.5.3 Histogram-based gradient boosting
_7.6 Stacking
Practice problems
Chapter 8 Dimensional Reduction
8.1 The Curse of Dimensions
8.2 Approaches to Dimensionality Reduction
_8.2.1 Projection
_8.2.2 Manifold Learning
8.3 Principal component analysis
_8.3.1 Distributed Preservation
_8.3.2 Main ingredients
_8.3.3 Projecting to d-dimension
_8.3.4 Using scikit-learn
_8.3.5 Proportion of Variance Explained
_8.3.6 Choosing the Appropriate Number of Dimensions
_8.3.7 PCA for Compression
_8.3.8 Random PCA
_8.3.9 Progressive PCA
8.4 Random projection
8.5 Local linear embedding
8.6 Other dimensionality reduction techniques
Practice problems
Chapter 9 Unsupervised Learning
9.1 Cluster
_9.1.1 k-means
__k-means algorithm
__How to initialize Centroid
__k-means speedup and mini-batch k-means
__Finding the optimal number of clusters
_9.1.2 Limitations of k-means
_9.1.3 Image segmentation using clusters
_9.1.4 Semi-supervised learning using clusters
_9.1.5 DBSCAN
_9.1.6 Other clustering algorithms
9.2 Gaussian Mixture
_9.2.1 Outlier Detection Using Gaussian Mixtures
_9.2.2 Selecting the number of clusters
_9.2.3 Bayesian Gaussian Mixture Model
_9.2.4 Algorithms for Outlier Detection and Outlier Detection
Practice problems
[Part 2: Neural Networks and Deep Learning]
Chapter 10: Introduction to Artificial Neural Networks Using Keras
10.1 From Biological Neurons to Artificial Neurons
_10.1.1 Biological Neurons
_10.1.2 Logical Operations Using Neurons
_10.1.3 Perceptron
_10.1.4 Multilayer Perceptron and Backpropagation
_10.1.5 Multilayer Perceptron for Regression
_10.1.6 Multilayer Perceptron for Classification
10.2 Implementing a Multilayer Perceptron with Keras
_10.2.1 Building an Image Classifier with the Sequential API
__Loading a Dataset with Keras
__Creating a model with the Sequential API
__Compile model
__Model training and evaluation
Making predictions with the __model
_10.2.2 Building a Multilayer Perceptron for Regression with the Sequential API
_10.2.3 Building Complex Models with the Functional API
_10.2.4 Creating Dynamic Models with the Subclassing API
_10.2.5 Saving and Restoring Models
_10.2.6 Using Callbacks
_10.2.7 Visualizing with TensorBoard
10.3 Tuning Neural Network Hyperparameters
_10.3.1 Number of hidden layers
_10.3.2 Number of neurons in the hidden layer
_10.3.3 Learning rate, batch size, and other hyperparameters
Practice problems
Chapter 11: Training Deep Neural Networks
11.1 Gradient Vanishing and Runaway Problems
_11.1.1 Glorot and He Initialization
_11.1.2 Advanced Activation Functions
__LeakyReLU
__ELU and SELU
__GELU, Swish, Mish
_11.1.3 Batch Normalization
__Implementing Batch Normalization with Keras
_11.1.4 Gradient Clipping
11.2 Reusing pretrained layers
_11.2.1 Transfer Learning with Keras
_11.2.2 Unsupervised Pretraining
_11.2.3 Pre-training in auxiliary tasks
11.3 High-Speed Optimizer
_11.3.1 Momentum Optimization
_11.3.2 Nesterov Acceleration Slope
_11.3.3 AdaGrad
_11.3.4 RMSProp
_11.3.5 Adam
_11.3.6 AdaMax
_11.3.7 Nadam
_11.3.8 AdamW
_11.3.9 Learning Rate Scheduling
11.4 Avoiding Overfitting Using Regularization
_11.4.1 l1 and l2 regulation
_11.4.2 Dropout
_11.4.3 Monte Carlo Dropout
_11.4.4 Max-norm regulation
11.5 Summary and Practical Guidelines
Practice problems
Chapter 12: Custom Models and Training with TensorFlow
12.1 Overview of TensorFlow
12.2 Using TensorFlow Like NumPy
_12.2.1 Tensors and Operations
_12.2.2 Tensors and NumPy
_12.2.3 Type Conversion
_12.2.4 Variables
_12.2.5 Other data structures
12.3 Custom Models and Training Algorithms
_12.3.1 User-defined loss functions
_12.3.2 Saving and Loading Models with Custom Elements
_12.3.3 Customizing the activation function, initialization, regulation, and limits
_12.3.4 Custom Metrics
_12.3.5 Custom Layers
_12.3.6 Custom Models
_12.3.7 Losses and metrics based on model components
_12.3.8 Computing Gradients with Automatic Differentiation
_12.3.9 Custom Training Iterations
12.4 TensorFlow Functions and Graphs
_12.4.1 Autograph and Tracing
_12.4.2 How to use TensorFlow functions
Practice problems
Chapter 13: Data Loading and Preprocessing with TensorFlow
13.1 Data API
_13.1.1 Chain transformation
_13.1.2 Data Shuffling
_13.1.3 Reading lines from multiple files one at a time
_13.1.4 Data Preprocessing
_13.1.5 Combining Data Loading and Preprocessing
_13.1.6 Prefetch
_13.1.7 Using Keras and Datasets
13.2 TFRecord Format
_13.2.1 Compressed TFRecord file
_13.2.2 Protocol Buffers Overview
_13.2.3 TensorFlow Protocol Buffers
_13.2.4 Example Reading and Parsing Protocol Buffer
_13.2.5 Handling Lists of Lists with SequenceExample Protocol Buffers
13.3 Preprocessing Layers in Keras
_13.3.1 Normalization layer
_13.3.2 Discretization layer
_13.3.3 CategoryEncoding layer
_13.3.4 StringLookup layer
_13.3.5 Hashing Layer
_13.3.6 Encoding categorical features using embeddings
_13.3.7 Text Preprocessing
_13.3.8 Using Pretrained Language Model Components
_13.3.9 Image Preprocessing Layer
13.5 TensorFlow Dataset Project
Practice problems
Chapter 14: Computer Vision Using Convolutional Neural Networks
14.1 Visual Cortex Structure
14.2 Convolutional Layer
_14.2.1 Filter
_14.2.2 Stacking Multiple Feature Maps
_14.2.3 Implementing a Convolutional Layer with Keras
_14.2.4 Memory Requirements
14.3 Pooling layer
14.4 Implementing a Pooling Layer in Keras
14.5 CNN Structure
_14.5.1 LeNet-5
_14.5.2 AlexNet
_14.5.3 GoogLeNet
_14.5.4 VGGNet
_14.5.5 ResNet
_14.5.6 Xception
_14.5.7 SENet
_14.5.8 Other notable structures
_14.5.9 Choosing the Right CNN Architecture
14.6 Implementing a ResNet-34 CNN with Keras
14.7 Using Pretrained Models in Keras
14.8 Transfer Learning Using Pretrained Models
14.9 Classification and Location Estimation
14.10 Object Detection
_14.10.1 Fully Convolutional Neural Networks
_14.10.2 YOLO
14.11 Object Tracking
14.12 Semantic Segmentation
Practice problems
Chapter 15 Sequence Processing Using RNNs and CNNs
15.1 Circular Neurons and Circular Layers
_15.1.1 Memory Cells
_15.1.2 Input and Output Sequences
15.2 Training the RNN
15.3 Forecasting Time Series
_15.3.1 ARMA Model
_15.3.2 Preparing Data for Machine Learning Models
_15.3.3 Predicting with a linear model
_15.3.4 Predicting with a Simple RNN
_15.3.5 Predicting with Deep RNNs
_15.3.6 Forecasting Multivariate Time Series
_15.3.7 Predicting Multiple Time Steps Ahead
_15.3.8 Predicting with a Sequence-to-Sequence Model
15.4 Handling Long Sequences
_15.4.1 Fighting the Unstable Gradient Problem
_15.4.2 Solving short-term memory problems
__LSTM cell
__GRU cell
Processing sequences with __1D convolutional layers
__WaveNet
Practice problems
Chapter 16: Natural Language Processing Using RNNs and Attention
16.1 Generating Shakespearean Styles with Char-RNN
_16.1.1 Creating a Training Dataset
_16.1.2 Building and Training a Char-RNN Model
_16.1.3 Generating fake Shakespeare text
_16.1.4 RNN with state
16.2 Sentiment Analysis
_16.2.1 Masking
_16.2.2 Reusing Pretrained Embeddings and Language Models
16.3 Encoder-Decoder Networks for Neural Machine Translation
_16.3.1 Bidirectional RNN
_16.3.2 Beam Search
16.4 Attention Mechanism
_16.4.1 Transformer Structure: All You Need Is Attention
__Position encoding
__Multi-head attention
16.5 Recent Innovations in Language Modeling
16.6 Vision Transformer
16.7 Hugging Face's Transformers Library
Practice problems
Chapter 17: Autoencoders, GANs, and Diffusion Models
17.1 Efficient Data Representation
17.2 Performing PCA with an Undercomplete Linear Autoencoder
17.3 Stacked Autoencoders
_17.3.1 Implementing a Stacked Autoencoder with Keras
_17.3.2 Reconstruction Visualization
_17.3.3 Visualizing the Fashion MNIST Dataset
_17.3.4 Unsupervised Pretraining Using Stacked Autoencoders
_17.3.5 Weight Binding
_17.3.6 Training Autoencoders One by One
17.4 Convolutional Autoencoder
17.5 Noise Reduction Autoencoder
17.6 Sparse Autoencoder
17.7 Variational Autoencoder
_17.7.1 Generating Fashion MNIST Images
17.8 Generative Adversarial Networks
_17.8.1 Difficulties in GAN Training
_17.8.2 Deep Convolutional GAN
_17.8.3 ProGAN
__Mini-batch standard deviation layer
__Same learning rate
__Pixel-wise normalization layer
_17.8.4 StyleGAN
__Mapping Network
__synthetic network
17.9 Diffusion Model
Practice problems
Chapter 18: Reinforcement Learning
18.1 Learning to Optimize Rewards
18.2 Policy Exploration
18.3 OpenAI Gym
18.4 Neural Network Policy
18.5 Behavioral Evaluation: The Credit Assignment Problem
18.6 Policy Gradient
18.7 Markov Decision Processes
18.8 Time difference learning
18.9 Q-Learning
_18.9.1 Exploration Policy
_18.9.2 Approximate Q-Learning and Deep Q-Learning
18.10 Implementing Deep Q-Learning
18.11 Variations of Deep Q-Learning
_18.11.1 Fixed Q-Value Target
_18.11.2 Double DQN
_18.11.3 Priority-based experience playback
_18.11.4 Dueling DQN
18.12 Other Reinforcement Learning Algorithms
Practice problems
Chapter 19: Training and Deploying Large-Scale TensorFlow Models
19.1 Serving TensorFlow Models
_19.1.1 Using TensorFlow Serving
Export to __SavedModel
__Installing and starting TensorFlow Serving
__Querying TF Serving with REST API
__Querying TF Serving with the gRPC API
__Deploying a new version of the model
_19.1.2 Creating a Prediction Service in Vertex AI
_19.1.3 Running Batch Prediction Jobs in Vertex AI
19.2 Deploying Models to Mobile or Embedded Devices
19.3 Running the Model on a Web Page
19.4 Using GPUs to Speed Up Computation
_19.4.1 Buy a GPU
_19.4.2 Managing GPU RAM
_19.4.3 Assigning Operations and Variables to Devices
_19.4.4 Running in Parallel on Multiple Devices
19.5 Training Models on Multiple Devices
_19.5.1 Model Parallelism
_19.5.2 Data Parallelism
Data parallelism using the mirrored strategy
__Data parallelism using centralized parameters
__bandwidth saturation
_19.5.3 Large-Scale Training Using the Distributed Strategy API
_19.5.4 Training a Model on a TensorFlow Cluster
_19.5.5 Running Large-Scale Training Jobs in Vertex AI
_19.5.6 Hyperparameter Tuning for Vertex AI
Practice problems
In conclusion
[Part 3 Appendix]
Appendix A: Practice Problem Answers
Appendix B Machine Learning Project Checklist
B.1 Define the problem and draw the big picture
B.2 Collect data
B.3 Explore the data
B.4 Prepare the data
B.5 Choose a few possible models
Fine-tuning the B.6 model
Launching the B.7 solution
Launching the B.8 system!
Appendix C Automatic Differentiation
C.1 Manual Differentiation
C.2 Finite difference approximation
C.3 Forward mode automatic differentiation
C.4 Automatic differentiation in reverse mode
Appendix D Special Data Structures
D.1 String
D.2 Ragged tensor
D.3 Sparse tensors
D.4 Tensor Arrays
D.5 Set
D.6 Queue
Appendix E TensorFlow Graph
E.1 TF functions and concrete functions
E.2 Exploring Function Definitions and Function Graphs
E.3 Tracing Details
E.4 Expressing Control Flow with Autographs
E.5 Handling Variables and Other Resources in TF Functions
E.6 Using (or Not Using) TF Functions with Keras
Detailed image
.jpg)
Publisher's Review
The world's #1 bestseller, satisfying beginners and experts alike.
This book covers both theory and practice, helping you paint a big picture across both machine learning and deep learning.
You'll learn how to easily train models and build neural networks, especially with diagrammatic explanations and up-to-date, practical code examples.
You can also review what you've learned and apply it to your own projects by solving practice problems provided for each chapter.
If you have any Python programming experience, get started right away.
Anyone can become a machine learning expert!
**Updated in 3rd Edition**
-Update the entire code to the latest library version
- Detailed model selection guidelines
-New features in scikit-learn and Keras
· Scikit-learn: Feature name tracking, histogram-based gradient boosting, label propagation, etc.
· Keras: preprocessing layers, data augmentation layers, etc.
-Added libraries not included in the 2nd edition
Keras Tuner library for hyperparameter tuning
· Hugging Face's Transformers library for natural language processing
- Diffusion model (stable diffusion)
-The latest trends and implementations in computer vision and natural language processing.
**Who is this book for?**
-Beginners with basic knowledge but little practical experience
-Intermediate level users who want to improve their practical skills
Developers and engineers who want to utilize machine learning in their projects.
-Data scientists and researchers working on machine learning research or data analysis.
** Advantages of this book **
- Explains in detail through practical examples rather than listing complex theories.
-You can develop practical problem-solving skills through hands-on experience and complete your own portfolio.
- Expand your knowledge of various machine learning and deep learning models, tools, and libraries.
- Reflects the latest trends in computer vision, natural language processing, and reinforcement learning, including stable diffusion.
Example source
https://github.com/rickiepark/handson-ml3
This book covers both theory and practice, helping you paint a big picture across both machine learning and deep learning.
You'll learn how to easily train models and build neural networks, especially with diagrammatic explanations and up-to-date, practical code examples.
You can also review what you've learned and apply it to your own projects by solving practice problems provided for each chapter.
If you have any Python programming experience, get started right away.
Anyone can become a machine learning expert!
**Updated in 3rd Edition**
-Update the entire code to the latest library version
- Detailed model selection guidelines
-New features in scikit-learn and Keras
· Scikit-learn: Feature name tracking, histogram-based gradient boosting, label propagation, etc.
· Keras: preprocessing layers, data augmentation layers, etc.
-Added libraries not included in the 2nd edition
Keras Tuner library for hyperparameter tuning
· Hugging Face's Transformers library for natural language processing
- Diffusion model (stable diffusion)
-The latest trends and implementations in computer vision and natural language processing.
**Who is this book for?**
-Beginners with basic knowledge but little practical experience
-Intermediate level users who want to improve their practical skills
Developers and engineers who want to utilize machine learning in their projects.
-Data scientists and researchers working on machine learning research or data analysis.
** Advantages of this book **
- Explains in detail through practical examples rather than listing complex theories.
-You can develop practical problem-solving skills through hands-on experience and complete your own portfolio.
- Expand your knowledge of various machine learning and deep learning models, tools, and libraries.
- Reflects the latest trends in computer vision, natural language processing, and reinforcement learning, including stable diffusion.
Example source
https://github.com/rickiepark/handson-ml3
GOODS SPECIFICS
- Date of issue: September 29, 2023
- Page count, weight, size: 1,044 pages | 2,005g | 183*235*60mm
- ISBN13: 9791169211475
- ISBN10: 116921147X
You may also like
카테고리
korean
korean