Mastering Machine Learning Algorithms

Book description

Explore and master the most important algorithms for solving complex machine learning problems.

About This Book
  • Discover high-performing machine learning algorithms and understand how they work in depth.
  • One-stop solution to mastering supervised, unsupervised, and semi-supervised machine learning algorithms and their implementation.
  • Master concepts related to algorithm tuning, parameter optimization, and more
Who This Book Is For

This book is an ideal and relevant source of content for data science professionals who want to delve into complex machine learning algorithms, calibrate models, and improve the predictions of the trained model. A basic knowledge of machine learning is preferred to get the best out of this guide.

What You Will Learn
  • Explore how a ML model can be trained, optimized, and evaluated
  • Understand how to create and learn static and dynamic probabilistic models
  • Successfully cluster high-dimensional data and evaluate model accuracy
  • Discover how artificial neural networks work and how to train, optimize, and validate them
  • Work with Autoencoders and Generative Adversarial Networks
  • Apply label spreading and propagation to large datasets
  • Explore the most important Reinforcement Learning techniques
In Detail

Machine learning is a subset of AI that aims to make modern-day computer systems smarter and more intelligent. The real power of machine learning resides in its algorithms, which make even the most difficult things capable of being handled by machines. However, with the advancement in the technology and requirements of data, machines will have to be smarter than they are today to meet the overwhelming data needs; mastering these algorithms and using them optimally is the need of the hour.

Mastering Machine Learning Algorithms is your complete guide to quickly getting to grips with popular machine learning algorithms. You will be introduced to the most widely used algorithms in supervised, unsupervised, and semi-supervised machine learning, and will learn how to use them in the best possible manner. Ranging from Bayesian models to the MCMC algorithm to Hidden Markov models, this book will teach you how to extract features from your dataset and perform dimensionality reduction by making use of Python-based libraries such as scikit-learn. You will also learn how to use Keras and TensorFlow to train effective neural networks.

If you are looking for a single resource to study, implement, and solve end-to-end machine learning problems and use-cases, this is the book you need.

Style and approach

A hands-on guide filled with real-world examples of popular algorithms used for data science and machine learning

Table of contents

  1. Title Page
  2. Copyright and Credits
    1. Mastering Machine Learning Algorithms
  3. Dedication
  4. Packt Upsell
    1. Why subscribe?
    2. PacktPub.com
  5. Contributors
    1. About the author
    2. About the reviewer
    3. Packt is searching for authors like you
  6. Preface
    1. Who this book is for
    2. What this book covers
    3. To get the most out of this book
      1. Download the example code files
      2. Download the color images
      3. Conventions used
    4. Get in touch
      1. Reviews
  7. Machine Learning Model Fundamentals
    1. Models and data
      1. Zero-centering and whitening
      2. Training and validation sets
        1. Cross-validation
    2. Features of a machine learning model
      1. Capacity of a model
        1. Vapnik-Chervonenkis capacity
      2. Bias of an estimator
        1. Underfitting
      3. Variance of an estimator
        1. Overfitting
        2. The Cramér-Rao bound
    3. Loss and cost functions
      1. Examples of cost functions
        1. Mean squared error
        2. Huber cost function
        3. Hinge cost function
        4. Categorical cross-entropy
      2. Regularization
        1. Ridge
        2. Lasso
        3. ElasticNet
        4. Early stopping
    4. Summary
  8. Introduction to Semi-Supervised Learning
    1. Semi-supervised scenario
      1. Transductive learning
      2. Inductive learning
      3. Semi-supervised assumptions
        1. Smoothness assumption
        2. Cluster assumption
        3. Manifold assumption
    2. Generative Gaussian mixtures
      1. Example of a generative Gaussian mixture
        1. Weighted log-likelihood
    3. Contrastive pessimistic likelihood estimation
      1. Example of contrastive pessimistic likelihood estimation
    4. Semi-supervised Support Vector Machines (S3VM)
      1. Example of S3VM
    5. Transductive Support Vector Machines (TSVM)
      1. Example of TSVM
    6. Summary
  9. Graph-Based Semi-Supervised Learning
    1. Label propagation
      1. Example of label propagation
      2. Label propagation in Scikit-Learn
    2. Label spreading
      1. Example of label spreading
    3. Label propagation based on Markov random walks
      1. Example of label propagation based on Markov random walks
    4. Manifold learning
      1. Isomap
        1. Example of Isomap
      2. Locally linear embedding
        1. Example of locally linear embedding
      3. Laplacian Spectral Embedding
        1. Example of Laplacian Spectral Embedding
      4. t-SNE
        1. Example of t-distributed stochastic neighbor embedding 
    5. Summary
  10. Bayesian Networks and Hidden Markov Models
    1. Conditional probabilities and Bayes' theorem
    2. Bayesian networks
      1. Sampling from a Bayesian network
        1. Direct sampling
          1. Example of direct sampling
        2. A gentle introduction to Markov chains
        3. Gibbs sampling
        4. Metropolis-Hastings sampling
          1. Example of Metropolis-Hastings sampling
      2. Sampling example using PyMC3
    3. Hidden Markov Models (HMMs)
      1. Forward-backward algorithm
        1. Forward phase
        2. Backward phase
        3. HMM parameter estimation
          1. Example of HMM training with hmmlearn
      2. Viterbi algorithm
        1. Finding the most likely hidden state sequence with hmmlearn
    4. Summary
  11. EM Algorithm and Applications
    1. MLE and MAP learning
    2. EM algorithm
      1. An example of parameter estimation
    3. Gaussian mixture
      1. An example of Gaussian Mixtures using Scikit-Learn
    4. Factor analysis
      1. An example of factor analysis with Scikit-Learn
    5. Principal Component Analysis
      1. An example of PCA with Scikit-Learn
    6. Independent component analysis
      1. An example of FastICA with Scikit-Learn
    7. Addendum to HMMs
    8. Summary
  12. Hebbian Learning and Self-Organizing Maps
    1. Hebb's rule
      1. Analysis of the covariance rule
        1. Example of covariance rule application
      2. Weight vector stabilization and Oja's rule
    2. Sanger's network
      1. Example of Sanger's network
    3. Rubner-Tavan's network
      1. Example of Rubner-Tavan's network
    4. Self-organizing maps
      1. Example of SOM
    5. Summary
  13. Clustering Algorithms
    1. k-Nearest Neighbors
      1. KD Trees
      2. Ball Trees
      3. Example of KNN with Scikit-Learn
    2. K-means
      1. K-means++
      2. Example of K-means with Scikit-Learn
        1. Evaluation metrics
          1. Homogeneity score
          2. Completeness score
          3. Adjusted Rand Index
          4. Silhouette score
    3. Fuzzy C-means
      1. Example of fuzzy C-means with Scikit-Fuzzy
    4. Spectral clustering
      1. Example of spectral clustering with Scikit-Learn
    5. Summary
  14. Ensemble Learning
    1. Ensemble learning fundamentals
    2. Random forests
      1. Example of random forest with Scikit-Learn
    3. AdaBoost
      1. AdaBoost.SAMME
      2. AdaBoost.SAMME.R
      3. AdaBoost.R2
      4. Example of AdaBoost with Scikit-Learn
    4. Gradient boosting
      1. Example of gradient tree boosting with Scikit-Learn
    5. Ensembles of voting classifiers
      1. Example of voting classifiers with Scikit-Learn
    6. Ensemble learning as model selection
    7. Summary
  15. Neural Networks for Machine Learning
    1. The basic artificial neuron
    2. Perceptron
      1. Example of a perceptron with Scikit-Learn
    3. Multilayer perceptrons
      1. Activation functions
        1. Sigmoid and hyperbolic tangent
        2. Rectifier activation functions
        3. Softmax
      2. Back-propagation algorithm
        1. Stochastic gradient descent
        2. Weight initialization
      3. Example of MLP with Keras
    4. Optimization algorithms
      1. Gradient perturbation
      2. Momentum and Nesterov momentum
        1. SGD with momentum in Keras
      3. RMSProp
        1. RMSProp with Keras
      4. Adam
        1. Adam with Keras
      5. AdaGrad
        1. AdaGrad with Keras
      6. AdaDelta
        1. AdaDelta with Keras
    5. Regularization and dropout
      1. Dropout
        1. Example of dropout with Keras
    6. Batch normalization
      1. Example of batch normalization with Keras
    7. Summary
  16. Advanced Neural Models
    1. Deep convolutional networks
      1. Convolutions
        1. Bidimensional discrete convolutions
          1. Strides and padding
        2. Atrous convolution
        3. Separable convolution
        4. Transpose convolution
      2. Pooling layers
      3. Other useful layers
      4. Examples of deep convolutional networks with Keras
        1. Example of a deep convolutional network with Keras and data augmentation
    2. Recurrent networks
      1. Backpropagation through time (BPTT)
      2. LSTM
      3. GRU
      4. Example of an LSTM network with Keras
    3. Transfer learning
    4. Summary
  17. Autoencoders
    1. Autoencoders
      1. An example of a deep convolutional autoencoder with TensorFlow
      2. Denoising autoencoders
        1. An example of a denoising autoencoder with TensorFlow
      3. Sparse autoencoders
        1. Adding sparseness to the Fashion MNIST deep convolutional autoencoder
    2. Variational autoencoders
      1. An example of a variational autoencoder with TensorFlow
    3. Summary
  18. Generative Adversarial Networks
    1. Adversarial training
      1. Example of DCGAN with TensorFlow
    2. Wasserstein GAN (WGAN)
      1. Example of WGAN with TensorFlow
    3. Summary
  19. Deep Belief Networks
    1. MRF
    2. RBMs
    3. DBNs
      1. Example of unsupervised DBN in Python
      2. Example of Supervised DBN with Python
    4. Summary
  20. Introduction to Reinforcement Learning
    1. Reinforcement Learning fundamentals
      1. Environment
        1. Rewards
        2. Checkerboard environment in Python
      2. Policy
    2. Policy iteration
      1. Policy iteration in the checkerboard environment
    3. Value iteration
      1. Value iteration in the checkerboard environment
    4. TD(0) algorithm
      1. TD(0) in the checkerboard environment
    5. Summary
  21. Advanced Policy Estimation Algorithms
    1. TD(λ) algorithm
      1. TD(λ) in a more complex Checkerboard environment
      2. Actor-Critic TD(0) in the checkerboard environment
    2. SARSA algorithm
      1. SARSA in the checkerboard environment
    3. Q-learning
      1. Q-learning in the checkerboard environment
      2. Q-learning using a neural network
    4. Summary
  22. Other Books You May Enjoy
    1. Leave a review - let other readers know what you think

Product information

  • Title: Mastering Machine Learning Algorithms
  • Author(s): Giuseppe Bonaccorso
  • Release date: May 2018
  • Publisher(s): Packt Publishing
  • ISBN: 9781788621113