Scala for Machine Learning - Second Edition

Leverage Scala and Machine Learning to study and construct systems that can learn from data

Scala for Machine Learning - Second Edition

Patrick R. Nicolas

Leverage Scala and Machine Learning to study and construct systems that can learn from data
Mapt Subscription
FREE
€29.98/m after trial
eBook
€38.64
RRP €55.18
Save 29%
Print + eBook
€56.99
RRP €56.99
What do I get with a Mapt Pro subscription?
  • Unlimited access to all Packt’s 5,000+ eBooks and Videos
  • Early Access content, Progress Tracking, and Assessments
  • 1 Free eBook or Video to download and keep every month after trial
What do I get with an eBook?
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with Print & eBook?
  • Get a paperback copy of the book delivered to you
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with a Video?
  • Download this Video course in MP4 format
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
€0.00
€38.64
€56.99
€29.98p/m after trial
RRP €55.18
RRP €56.99
Subscription
eBook
Print + eBook
Start 30 Day Trial
Subscribe and access every Packt eBook & Video.
 
  • 5,000+ eBooks & Videos
  • 50+ New titles a month
  • 1 Free eBook/Video to keep every month
Start Free Trial
 
Preview in Mapt

Book Details

ISBN 139781787122383
Paperback740 pages

Book Description

The discovery of information through data clustering and classification is becoming a key differentiator for competitive organizations. Machine learning applications are everywhere, from self-driving cars, engineering design, logistics, manufacturing, and trading strategies, to detection of genetic anomalies.

The book is your one stop guide that introduces you to the functional capabilities of the Scala programming language that are critical to the creation of machine learning algorithms such as dependency injection and implicits. You start by learning data preprocessing and filtering techniques. Following this, you'll move on to unsupervised learning techniques such as clustering and dimension reduction, followed by probabilistic graphical models such as Naïve Bayes, hidden Markov models and Monte Carlo inference. Further, it covers the discriminative algorithms such as linear, logistic regression with regularization, kernelization, support vector machines, neural networks, and deep learning. You’ll move on to evolutionary computing, multibandit algorithms, and reinforcement learning.

Finally, the book includes a comprehensive overview of parallel computing in Scala and Akka followed by a description of Apache Spark and its ML library. With updated codes based on the latest version of Scala and comprehensive examples, this book will ensure that you have more than just a solid fundamental knowledge in machine learning with Scala.

Table of Contents

Chapter 1: Getting Started
Mathematical notations for the curious
Why machine learning?
Why Scala?
Model categorization
Taxonomy of machine learning algorithms
Leveraging Java libraries
Tools and frameworks
Source code
Let's kick the tires
Summary
Chapter 2: Data Pipelines
Modeling
Defining a methodology
Monadic data transformation
Workflow computational model
Profiling data
Assessing a model
Summary
Chapter 3: Data Preprocessing
Time series in Scala
Moving averages
Fourier analysis
The discrete Kalman filter
Alternative preprocessing techniques
Summary
Chapter 4: Unsupervised Learning
K-mean clustering
Expectation-Maximization (EM)
Summary
Chapter 5: Dimension Reduction
Challenging model complexity
The divergences
Principal components analysis (PCA)
Nonlinear models
Summary
Chapter 6: Naïve Bayes Classifiers
Probabilistic graphical models
Naïve Bayes classifiers
Multivariate Bernoulli classification
Naïve Bayes and text mining
Pros and cons
Summary
Chapter 7: Sequential Data Models
Markov decision processes
The hidden Markov model (HMM)
Conditional random fields
Regularized CRF and text analytics
Comparing CRF and HMM
Performance consideration
Summary
Chapter 8: Monte Carlo Inference
The purpose of sampling
Gaussian sampling
Monte Carlo approximation
Bootstrapping with replacement
Markov Chain Monte Carlo (MCMC)
Summary
Chapter 9: Regression and Regularization
Linear regression
Regularization
Numerical optimization
Logistic regression
Summary
Chapter 10: Multilayer Perceptron
Feed-forward neural networks (FFNN)
The multilayer perceptron (MLP)
Evaluation
Benefits and limitations
Summary
Chapter 11: Deep Learning
Sparse autoencoder
Restricted Boltzmann Machines (RBMs)
Convolution neural networks
Chapter 12: Kernel Models and SVM
Kernel functions
The support vector machine (SVM)
Performance considerations
Summary
Chapter 13: Evolutionary Computing
Evolution
Genetic algorithms and machine learning
Genetic algorithm components
Implementation
GA for trading strategies
Advantages and risks of genetic algorithms
Summary
Chapter 14: Multiarmed Bandits
K-armed bandit
Thompson sampling
Upper bound confidence
Summary
Chapter 15: Reinforcement Learning
Reinforcement learning
Learning classifier systems
Summary
Chapter 16: Parallelism in Scala and Akka
Overview
Scala
Scalability with Actors
Akka
Summary
Chapter 17: Apache Spark MLlib
Overview
Apache Spark core
MLlib library
Reusable ML pipelines
Extending Spark
Streaming engine
Performance evaluation
Pros and cons
Summary

What You Will Learn

  • Build dynamic workflows for scientific computing
  • Leverage open source libraries to extract patterns from time series
  • Write your own classification, clustering, or evolutionary algorithm
  • Perform relative performance tuning and evaluation of Spark
  • Master probabilistic models for sequential data
  • Experiment with advanced techniques such as regularization and kernelization
  • Dive into neural networks and some deep learning architecture
  • Apply some basic multiarm-bandit algorithms
  • Solve big data problems with Scala parallel collections, Akka actors, and Apache Spark clusters
  • Apply key learning strategies to a technical analysis of financial markets

Authors

Table of Contents

Chapter 1: Getting Started
Mathematical notations for the curious
Why machine learning?
Why Scala?
Model categorization
Taxonomy of machine learning algorithms
Leveraging Java libraries
Tools and frameworks
Source code
Let's kick the tires
Summary
Chapter 2: Data Pipelines
Modeling
Defining a methodology
Monadic data transformation
Workflow computational model
Profiling data
Assessing a model
Summary
Chapter 3: Data Preprocessing
Time series in Scala
Moving averages
Fourier analysis
The discrete Kalman filter
Alternative preprocessing techniques
Summary
Chapter 4: Unsupervised Learning
K-mean clustering
Expectation-Maximization (EM)
Summary
Chapter 5: Dimension Reduction
Challenging model complexity
The divergences
Principal components analysis (PCA)
Nonlinear models
Summary
Chapter 6: Naïve Bayes Classifiers
Probabilistic graphical models
Naïve Bayes classifiers
Multivariate Bernoulli classification
Naïve Bayes and text mining
Pros and cons
Summary
Chapter 7: Sequential Data Models
Markov decision processes
The hidden Markov model (HMM)
Conditional random fields
Regularized CRF and text analytics
Comparing CRF and HMM
Performance consideration
Summary
Chapter 8: Monte Carlo Inference
The purpose of sampling
Gaussian sampling
Monte Carlo approximation
Bootstrapping with replacement
Markov Chain Monte Carlo (MCMC)
Summary
Chapter 9: Regression and Regularization
Linear regression
Regularization
Numerical optimization
Logistic regression
Summary
Chapter 10: Multilayer Perceptron
Feed-forward neural networks (FFNN)
The multilayer perceptron (MLP)
Evaluation
Benefits and limitations
Summary
Chapter 11: Deep Learning
Sparse autoencoder
Restricted Boltzmann Machines (RBMs)
Convolution neural networks
Chapter 12: Kernel Models and SVM
Kernel functions
The support vector machine (SVM)
Performance considerations
Summary
Chapter 13: Evolutionary Computing
Evolution
Genetic algorithms and machine learning
Genetic algorithm components
Implementation
GA for trading strategies
Advantages and risks of genetic algorithms
Summary
Chapter 14: Multiarmed Bandits
K-armed bandit
Thompson sampling
Upper bound confidence
Summary
Chapter 15: Reinforcement Learning
Reinforcement learning
Learning classifier systems
Summary
Chapter 16: Parallelism in Scala and Akka
Overview
Scala
Scalability with Actors
Akka
Summary
Chapter 17: Apache Spark MLlib
Overview
Apache Spark core
MLlib library
Reusable ML pipelines
Extending Spark
Streaming engine
Performance evaluation
Pros and cons
Summary

Book Details

ISBN 139781787122383
Paperback740 pages
Read More

Read More Reviews

Recommended for You

Mastering Machine Learning with R - Second Edition Book Cover
Mastering Machine Learning with R - Second Edition
€ 45.58
€ 31.92
Learning Concurrent Programming in Scala - Second Edition Book Cover
Learning Concurrent Programming in Scala - Second Edition
€ 41.98
€ 29.40
Mastering Machine Learning with scikit-learn - Second Edition Book Cover
Mastering Machine Learning with scikit-learn - Second Edition
€ 41.98
€ 29.40
Machine Learning with R Cookbook - Second Edition Book Cover
Machine Learning with R Cookbook - Second Edition
€ 45.58
€ 31.92
Python Machine Learning - Second Edition Book Cover
Python Machine Learning - Second Edition
€ 37.18
€ 26.04
Machine Learning with Spark - Second Edition Book Cover
Machine Learning with Spark - Second Edition
€ 45.58
€ 31.92