Mastering Machine Learning Algorithms - Second Edition

Giuseppe Bonaccorso



Mastering Machine Learning Algorithms, Second Edition helps you harness the real power of machine learning algorithms in order to implement smarter ways of meeting today's overwhelming data needs. This newly updated and revised guide will help you master algorithms used widely in semi-supervised learning, reinforcement learning, supervised learning, and unsupervised learning domains.


You will use all the modern libraries from the Python ecosystem – including NumPy and Keras – to extract features from varied complexities of data. Ranging from Bayesian models to the Markov chain Monte Carlo algorithm to Hidden Markov models, this machine learning book teaches you how to extract features from your dataset, perform complex dimensionality reduction, and train supervised and semi-supervised models by making use of Python-based libraries such as scikit-learn. You will also discover practical applications for complex techniques such as maximum likelihood estimation, Hebbian learning, and ensemble learning, and how to use TensorFlow 2.x to train effective deep neural networks.


By the end of this book, you will be ready to implement and solve end-to-end machine learning problems and use case scenarios

  • Understand the characteristics of a machine learning algorithm
  • Implement algorithms from supervised, semi-supervised, unsupervised, and RL domains
  • Learn how regression works in time-series analysis and risk prediction
  • Create, model, and train complex probabilistic models
  • Cluster high-dimensional data and evaluate model accuracy
  • Discover how artificial neural networks work – train, optimize, and validate them
  • Work with autoencoders, Hebbian networks, and GANs
  • Updated to include new algorithms and techniques
  • Code updated to Python 3.8 & TensorFlow 2.x
  • New coverage of regression analysis, time series analysis, deep learning models, and cutting-edge applications


Giuseppe Bonaccorso is Head of Data Science in a large multinational company. He received his M.Sc.Eng. in Electronics in 2005 from University of Catania, Italy, and continued his studies at University of Rome Tor Vergata, and University of Essex, UK. His main interests include machine/deep learning, reinforcement learning, big data, and bio-inspired adaptive systems. He is author of several publications including Machine Learning Algorithms and Hands-On Unsupervised Learning with Python, published by Packt.


  1. Machine Learning Model Fundamentals
  2. Loss functions and Regularization
  3. Introduction to Semi-Supervised Learning
  4. Advanced Semi-Supervised Classifiation
  5. Graph-based Semi-Supervised Learning
  6. Clustering and Unsupervised Models
  7. Advanced Clustering and Unsupervised Models
  8. Clustering and Unsupervised Models for Marketing
  9. Generalized Linear Models and Regression
  10. Introduction to Time-Series Analysis
  11. Bayesian Networks and Hidden Markov Models
  12. The EM Algorithm
  13. Component Analysis and Dimensionality Reduction
  14. Hebbian Learning
  15. Fundamentals of Ensemble Learning
  16. Advanced Boosting Algorithms
  17. Modeling Neural Networks
  18. Optimizing Neural Networks
  19. Deep Convolutional Networks
  20. Recurrent Neural Networks
  21. Auto-Encoders
  22. Introduction to Generative Adversarial Networks
  23. Deep Belief Networks
  24. Introduction to Reinforcement Learning
  25. Advanced Policy Estimation Algorithms