Machine Learning with Javascript
4.6 (1,893 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
18,775 students enrolled

Machine Learning with Javascript

Master Machine Learning from scratch using Javascript and TensorflowJS with hands-on projects.
4.6 (1,893 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
18,775 students enrolled
Created by Stephen Grider
Last updated 5/2020
English
English [Auto-generated], Indonesian [Auto-generated]
Current price: $93.99 Original price: $144.99 Discount: 35% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 17.5 hours on-demand video
  • 2 articles
  • 1 downloadable resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Assemble machine learning algorithms from scratch!
  • Build interesting applications using Javascript and ML techniques
  • Understand how ML works without relying on mysterious libraries
  • Optimize your algorithms with advanced performance and memory usage profiling
  • Use the low-level features of Tensorflow JS to supercharge your algorithms
  • Grow a strong intuition of ML best practices
Course content
Expand all 185 lectures 17:39:34
+ What is Machine Learning?
9 lectures 40:20
A Complete Walkthrough
09:53
App Setup
02:01
Problem Outline
02:53
Recording Observation Data
03:59
What Type of Problem?
04:35
+ Algorithm Overview
24 lectures 02:28:02
How K-Nearest Neighbor Works
08:23
Lodash Review
09:56
Finishing KNN Implementation
05:53
Interpreting Bad Results
04:12
Test and Training Data
04:05
Randomizing Test Data
03:48
Gauging Accuracy
05:18
Refactoring Accuracy Reporting
05:13
Investigating Optimal K Values
11:38
Updating KNN for Multiple Features
06:36
Multi-Dimensional KNN
03:56
N-Dimension Distance
09:50
Arbitrary Feature Spaces
08:27
Magnitude Offsets in Features
05:36
Feature Normalization
07:32
Normalization with MinMax
07:14
Applying Normalization
04:22
Feature Selection with KNN
07:47
Objective Feature Picking
06:10
Evaluating Different Feature Values
02:53
+ Onwards to Tensorflow JS!
11 lectures 01:14:32
Let's Get Our Bearings
07:27
A Plan to Move Forward
04:31
Tensor Shape and Dimension
12:04
Tensor Dimension and Shapes
9 questions
Elementwise Operations
08:18
Broadcasting Operations
06:47
Broadcasting Elementwise Operations
3 questions
Logging Tensor Data
03:47
Tensor Accessors
05:24
Creating Slices of Data
07:46
Tensor Concatenation
05:28
Summing Values Along an Axis
05:13
Massaging Dimensions with ExpandDims
07:47
+ Applications of Tensorflow
15 lectures 01:38:08
KNN with Regression
04:56
A Change in Data Structure
04:04
KNN with Tensorflow
09:18
Maintaining Order Relationships
06:30
Sorting Tensors
08:00
Averaging Top Values
07:43
Moving to the Editor
03:26
Loading CSV Data
10:10
Running an Analysis
06:10
Reporting Error Percentages
06:26
Normalization or Standardization?
07:33
Numerical Standardization with Tensorflow
07:37
Applying Standardization
04:01
Debugging Calculations
08:14
What Now?
04:00
+ Getting Started with Gradient Descent
12 lectures 01:37:49
Linear Regression
02:39
Why Linear Regression?
04:52
Understanding Gradient Descent
13:04
Guessing Coefficients with MSE
10:19
Observations Around MSE
05:56
Derivatives!
07:12
Gradient Descent in Action
11:46
Quick Breather and Review
05:46
Why a Learning Rate?
17:05
Answering Common Questions
03:48
Gradient Descent with Multiple Terms
04:43
Multiple Terms in Action
10:39
+ Gradient Descent with Tensorflow
13 lectures 01:36:21
Project Overview
06:01
Data Loading
05:17
Default Algorithm Options
08:32
Formulating the Training Loop
03:18
Initial Gradient Descent Implementation
09:24
Calculating MSE Slopes
06:52
Updating Coefficients
03:11
Interpreting Results
10:07
Matrix Multiplication
07:09
More on Matrix Multiplication
06:40
Matrix Form of Slope Equations
06:21
Simplification with Matrix Multiplication
09:28
How it All Works Together!
14:01
+ Increasing Performance with Vectorized Solutions
17 lectures 01:52:38
Refactoring the Linear Regression Class
07:40
Refactoring to One Equation
08:58
A Few More Changes
06:13
Same Results? Or Not?
03:19
Calculating Model Accuracy
08:37
Implementing Coefficient of Determination
07:44
Dealing with Bad Accuracy
07:47
Reminder on Standardization
04:36
Data Processing in a Helper Method
03:38
Reapplying Standardization
05:57
Fixing Standardization Issues
05:36
Massaging Learning Rates
03:15
Moving Towards Multivariate Regression
11:44
Refactoring for Multivariate Analysis
07:28
Learning Rate Optimization
08:04
Recording MSE History
05:21
Updating Learning Rate
06:41
+ Plotting Data with Javascript
3 lectures 14:00
Observing Changing Learning Rate and MSE
04:17
Plotting MSE Values
05:21
Plotting MSE History against B Values
04:22
+ Gradient Descent Alterations
6 lectures 39:31
Batch and Stochastic Gradient Descent
07:17
Refactoring Towards Batch Gradient Descent
05:06
Determining Batch Size and Quantity
06:02
Iterating Over Batches
07:48
Evaluating Batch Gradient Descent Results
05:41
Making Predictions with the Model
07:37
+ Natural Binary Classification
20 lectures 01:36:58
Introducing Logistic Regression
02:27
Logistic Regression in Action
06:31
Bad Equation Fits
05:31
The Sigmoid Equation
04:31
Decision Boundaries
07:47
Changes for Logistic Regression
01:11
Project Setup for Logistic Regression
05:51
Project Download
00:10
Importing Vehicle Data
04:27
Encoding Label Values
04:18
Updating Linear Regression for Logistic Regression
07:08
The Sigmoid Equation with Logistic Regression
04:27
A Touch More Refactoring
07:46
Gauging Classification Accuracy
03:27
Implementing a Test Function
05:16
Variable Decision Boundaries
07:16
Mean Squared Error vs Cross Entropy
05:46
Refactoring with Cross Entropy
05:08
Finishing the Cost Refactor
04:36
Plotting Changing Cost History
03:24
Requirements
  • Basic understanding of terminal and command line usage
  • Ability to read basic math equations
Description

If you're here, you already know the truth: Machine Learning is the future of everything.

In the coming years, there won't be a single industry in the world untouched by Machine Learning.  A transformative force, you can either choose to understand it now, or lose out on a wave of incredible change.  You probably already use apps many times each day that rely upon Machine Learning techniques.  So why stay in the dark any longer?

There are many courses on Machine Learning already available.  I built this course to be the best introduction to the topic.  No subject is left untouched, and we never leave any area in the dark.  If you take this course, you will be prepared to enter and understand any sub-discipline in the world of Machine Learning.


A common question - Why Javascript?  I thought ML was all about Python and R?

The answer is simple - ML with Javascript is just plain easier to learn than with Python.  Although it is immensely popular, Python is an 'expressive' language, which is a code-word that means 'a confusing language'.  A single line of Python can contain a tremendous amount of functionality; this is great when you understand the language and the subject matter, but not so much when you're trying to learn a brand new topic.

Besides Javascript making ML easier to understand, it also opens new horizons for apps that you can build.  Rather than being limited to deploying Python code on the server for running your ML code, you can build single-page apps, or even browser extensions that run interesting algorithms, which can give you the possibility of developing a completely novel use case!


Does this course focus on algorithms, or math, or Tensorflow, or what?!?!

Let's be honest - the vast majority of ML courses available online dance around the confusing topics.  They encourage you to use pre-build algorithms and functions that do all the heavy lifting for you.  Although this can lead you to quick successes, in the end it will hamper your ability to understand ML.  You can only understand how to apply ML techniques if you understand the underlying algorithms.

That's the goal of this course - I want you to understand the exact math and programming techniques that are used in the most common ML algorithms.  Once you have this knowledge, you can easily pick up new algorithms on the fly, and build far more interesting projects and applications than other engineers who only understand how to hand data to a magic library.

Don't have a background in math?  That's OK! I take special care to make sure that no lecture gets too far into 'mathy' topics without giving a proper introduction to what is going on.


A short list of what you will learn:

  • Advanced memory profiling to enhance the performance of your algorithms

  • Build apps powered by the powerful Tensorflow JS library

  • Develop programs that work either in the browser or with Node JS

  • Write clean, easy to understand ML code, no one-name variables or confusing functions

  • Pick up the basics of Linear Algebra so you can dramatically speed up your code with matrix-based operations. (Don't worry, I'll make the math easy!)

  • Comprehend how to twist common algorithms to fit your unique use cases

  • Plot the results of your analysis using a custom-build graphing library

  • Learn performance-enhancing strategies that can be applied to any type of Javascript code

  • Data loading techniques, both in the browser and Node JS environments

Who this course is for:
  • Javascript developers interested in Machine Learning