Scala for Machine Learning

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

Scala for Machine Learning

This ebook is included in a Mapt subscription
Patrick R. Nicolas

1 customer reviews
Leverage Scala and Machine Learning to construct and study systems that can learn from data
$10.00
$59.99
RRP $35.99
RRP $59.99
eBook
Print + eBook
Preview in Mapt

Book Details

ISBN 139781783558742
Paperback520 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 designs, biometrics, and trading strategies, to detection of genetic anomalies.

The book begins with an introduction 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.

Next, you'll learn about data preprocessing and filtering techniques. Following this, you'll move on to clustering and dimension reduction, Naïve Bayes, regression models, sequential data, regularization and kernelization, support vector machines, neural networks, generic algorithms, and re-enforcement learning. A review of the Akka framework and Apache Spark clusters concludes the tutorial.

Table of Contents

Chapter 1: Getting Started
Mathematical notation for the curious
Why machine learning?
Why Scala?
Model categorization
Taxonomy of machine learning algorithms
Don't reinvent the wheel!
Tools and frameworks
Source code
Let's kick the tires
Summary
Chapter 2: Hello World!
Modeling
Defining a methodology
Monadic data transformation
A 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
Clustering
Dimension reduction
Performance considerations
Summary
Chapter 5: Naïve Bayes Classifiers
Probabilistic graphical models
Naïve Bayes classifiers
The Multivariate Bernoulli classification
Naïve Bayes and text mining
Pros and cons
Summary
Chapter 6: Regression and Regularization
Linear regression
Regularization
Numerical optimization
Logistic regression
Summary
Chapter 7: Sequential Data Models
Markov decision processes
The hidden Markov model
Conditional random fields
Regularized CRFs and text analytics
Comparing CRF and HMM
Performance consideration
Summary
Chapter 8: Kernel Models and Support Vector Machines
Kernel functions
Support vector machines
Support vector classifiers – SVC
Anomaly detection with one-class SVC
Support vector regression
Performance considerations
Summary
Chapter 9: Artificial Neural Networks
Feed-forward neural networks
The multilayer perceptron
Evaluation
Convolution neural networks
Benefits and limitations
Summary
Chapter 10: Genetic Algorithms
Evolution
Genetic algorithms and machine learning
Genetic algorithm components
Implementation
GA for trading strategies
Advantages and risks of genetic algorithms
Summary
Chapter 11: Reinforcement Learning
Reinforcement learning
Learning classifier systems
Summary
Chapter 12: Scalable Frameworks
An overview
Scala
Scalability with Actors
Akka
Apache Spark
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
  • 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 notation for the curious
Why machine learning?
Why Scala?
Model categorization
Taxonomy of machine learning algorithms
Don't reinvent the wheel!
Tools and frameworks
Source code
Let's kick the tires
Summary
Chapter 2: Hello World!
Modeling
Defining a methodology
Monadic data transformation
A 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
Clustering
Dimension reduction
Performance considerations
Summary
Chapter 5: Naïve Bayes Classifiers
Probabilistic graphical models
Naïve Bayes classifiers
The Multivariate Bernoulli classification
Naïve Bayes and text mining
Pros and cons
Summary
Chapter 6: Regression and Regularization
Linear regression
Regularization
Numerical optimization
Logistic regression
Summary
Chapter 7: Sequential Data Models
Markov decision processes
The hidden Markov model
Conditional random fields
Regularized CRFs and text analytics
Comparing CRF and HMM
Performance consideration
Summary
Chapter 8: Kernel Models and Support Vector Machines
Kernel functions
Support vector machines
Support vector classifiers – SVC
Anomaly detection with one-class SVC
Support vector regression
Performance considerations
Summary
Chapter 9: Artificial Neural Networks
Feed-forward neural networks
The multilayer perceptron
Evaluation
Convolution neural networks
Benefits and limitations
Summary
Chapter 10: Genetic Algorithms
Evolution
Genetic algorithms and machine learning
Genetic algorithm components
Implementation
GA for trading strategies
Advantages and risks of genetic algorithms
Summary
Chapter 11: Reinforcement Learning
Reinforcement learning
Learning classifier systems
Summary
Chapter 12: Scalable Frameworks
An overview
Scala
Scalability with Actors
Akka
Apache Spark
Summary

Book Details

ISBN 139781783558742
Paperback520 pages
Read More
From 1 reviews

Read More Reviews