Let us help you find the training program you are looking for.

If you can't find what you are looking for, contact us, we'll help you find it. We have over 800 training programs to choose from.

Scala for Machine Learning

  • Course Code: Artificial Intelligence - Scala for Machine Learning
  • Course Dates: Contact us to schedule.
  • Course Category: AI / Machine Learning Duration: 4 Days Audience: This course is geared for those who wants Leverage Scala and Machine Learning to study and construct systems that can learn from data.

Course Snapshot 

  • Duration: 4 days 
  • Skill-level: Foundation-level Machine Learning skills for Intermediate skilled team members. This is not a basic class. 
  • Targeted Audience: This course is geared for those who wants Leverage Scala and Machine Learning to study and construct systems that can learn from data. 
  • Hands-on Learning: This course is approximately 50% hands-on lab to 50% lecture ratio, combining engaging lecture, demos, group activities and discussions with machine-based student labs and exercises. Student machines are required. 
  • Delivery Format: This course is available for onsite private classroom presentation. 
  • Customizable: This course may be tailored to target your specific training skills objectives, tools of choice and learning goals. 

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 course 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 course 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. 

Working in a hands-on learning environment, led by our Machine Learning instructor, students will learn about and explore: 

  • Explore a broad variety of data processing, machine learning, and genetic algorithms through diagrams, mathematical formulation, and updated source code in Scala 
  • Take your expertise in Scala programming to the next level by creating and customizing AI applications 
  • Experiment with different techniques and evaluate their benefits and limitations using real-world applications in a tutorial style 

Topics Covered: This is a high-level list of topics covered in this course. Please see the detailed Agenda below 

  • 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 

Audience & Pre-Requisites 

This course is geared for attendees with basic Linux and computing skills who wish to Learn leverage Scala and Machine Learning to study and construct systems that can learn from data. 

Pre-Requisites:  Students should have  

  • Basic to Intermediate IT Skills and Machine Learning knowledge 
  • Good foundational mathematics or logic skills 
  • Basic Linux skills, including familiarity with command-line options such as ls, cd, cp, and su 

Course Agenda / Topics 

  1. Getting Started 
  • 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 
  1. Data Pipelines 
  • Data Pipelines 
  • Modeling 
  • Defining a methodology 
  • Monadic data transformation 
  • Workflow computational model 
  • Profiling data 
  • Assessing a model 
  1. Data Preprocessing 
  • Data Preprocessing 
  • Time series in Scala 
  • Moving averages 
  • Fourier analysis 
  • The discrete Kalman filter 
  • Alternative preprocessing techniques 
  1. Unsupervised Learning 
  • Unsupervised Learning 
  • K-mean clustering 
  • Expectation-Maximization (EM) 
  1. Dimension Reduction 
  • Dimension Reduction 
  • Challenging model complexity 
  • The divergences 
  • Principal components analysis (PCA) 
  • Nonlinear models 
  1. Naïve Bayes Classifiers 
  • Naïve Bayes Classifiers 
  • Probabilistic graphical models 
  • Naïve Bayes classifiers 
  • Multivariate Bernoulli classification 
  • Naïve Bayes and text mining 
  • Pros and cons 
  1. Sequential Data Models 
  • 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 
  1. Monte Carlo Inference 
  • Monte Carlo Inference 
  • The purpose of sampling 
  • Gaussian sampling 
  • Monte Carlo approximation 
  • Bootstrapping with replacement 
  • Markov Chain Monte Carlo (MCMC) 
  1. Regression and Regularization 
  • Regression and Regularization 
  • Linear regression 
  • Regularization 
  • Numerical optimization 
  • Logistic regression 
  1. Multilayer Perceptron 
  • Multilayer Perceptron 
  • Feed-forward neural networks (FFNN) 
  • The multilayer perceptron (MLP) 
  • Evaluation 
  • Benefits and limitations 
  1. Deep Learning 
  • Deep Learning 
  • Sparse autoencoder 
  • Restricted Boltzmann Machines (RBMs) 
  • Convolution neural network 
  1. Kernel Models and SVM 
  • Kernel Models and SVM 
  • Kernel functions 
  • The support vector machine (SVM) 
  • Performance considerations 
  1. Evolutionary Computing 
  • Evolutionary Computing 
  • Evolution 
  • Genetic algorithms and machine learning 
  • Genetic algorithm components 
  • Implementation 
  • GA for trading strategies 
  • Advantages and risks of genetic algorithms 
  1. Multiarmed Bandits 
  • Multiarmed Bandits 
  • K-armed bandit 
  • Thompson sampling 
  • Upper bound confidence 
  1. Reinforcement Learning 
  • Reinforcement Learning 
  • Reinforcement learning 
  • Learning classifier systems 
  1. Parallelism in Scala and Akka 
  • Parallelism in Scala and Akka 
  • Overview 
  • Scala 
  • Scalability with Actors 
  • Akka 
  1. Apache Spark MLlib 
  • Apache Spark MLlib 
  • Overview 
  • Apache Spark core 
  • MLlib library 
  • Reusable ML pipelines 
  • Extending Spark 
  • Streaming engine 
  • Performance evaluation 
  • Pros and cons 
View All Courses

    Course Inquiry

    Fill in the details below and we will get back to you as quickly as we can.

    Interested in any of these related courses?