Skip to main content
CF

Machine Learning with Javascript

17h 42m 20s
English
Free

Machine Learning with Javascript is a 183-lesson 17 hours 42 minutes self-paced course by Stephen Grider, Udemy. If you're here, you already know the truth: Machine Learning is the future of everything.

Course facts

Lessons
183
Duration
17 hours 42 minutes
Level
All levels
Language
English
Updated
Instructor
Stephen Grider, Udemy
Price
Free

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

Requirements:
  • Basic understanding of terminal and command line usage
  • Ability to read basic math equations
Who this course is for:
  • Javascript developers interested in Machine Learning

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

Who teaches Machine Learning with Javascript?

Stephen Grider

Stephen Grider thumbnail

Stephen Grider is one of the longest-running and most prolific instructors on Udemy, with a catalog covering essentially every major JavaScript framework, plus Docker, Kubernetes, AWS, and the broader full-stack development landscape. His teaching style is patient and project-oriented — most of his courses are structured around building a substantial application from scratch rather than working through disconnected tutorial examples.

The catalog covers React, Redux, Next.js, Vue, Angular, GraphQL, Node.js, Docker / Kubernetes, AWS infrastructure, React Native and Flutter for mobile, the algorithm / data-structure interview prep track, and the modern TypeScript / Bun / Rust adjacent material that working JavaScript developers increasingly encounter. Few independent instructors have maintained Stephen's breadth this consistently for this long.

The CourseFlix listing under this source carries over 25 Stephen Grider courses spanning that range. Material is paid; Stephen Grider courses are typically sold individually on Udemy. Courses are aimed primarily at developers picking up a specific technology through working through a complete project.

Udemy

Udemy thumbnail

Udemy is the largest open marketplace for online courses on the internet. Founded in 2010 by Eren Bali, Oktay Caglar, and Gagan Biyani and headquartered in San Francisco, the company went public on the Nasdaq in 2021 under the ticker UDMY. The platform hosts well over two hundred thousand courses across software development, IT and cloud, data science, design, business, marketing, and creative skills, taught by tens of thousands of independent instructors. Roughly seventy million learners use it worldwide, and the corporate arm — Udemy Business — supplies a curated subset of that catalog to enterprise customers.

Because Udemy is a marketplace rather than a single editorial publisher, the catalog is uneven by design. The strongest material lives in the long-form, project-based courses authored by working engineers — full-stack JavaScript, React, Node.js, Python data science, AWS, Docker and Kubernetes, mobile development with Flutter and React Native, and cloud certification preparation. The CourseFlix listing under this source is the slice of that catalog that has been mirrored here for offline-friendly viewing, organized by topic and updated as new releases land. Pricing on Udemy itself swings dramatically with the site's near-permanent sales, which is why the platform is best treated as a deep reference catalog: pick instructors with strong reviews and a track record of updating their material rather than buying on the headline price alone.

What lessons are included in Machine Learning with Javascript?

  • Space or K: play or pause
  • J: rewind 10 seconds
  • L: forward 10 seconds
  • Left Arrow: rewind 5 seconds
  • Right Arrow: forward 5 seconds
  • Up Arrow: volume up
  • Down Arrow: volume down
  • M: mute or unmute
  • F: toggle fullscreen
  • T: toggle theater mode
  • I: toggle mini player
  • 0 to 9: seek to 0 to 90 percent of the video
  • Shift plus N: next video
  • Shift plus P: previous video
0:00 0:00
#Lesson TitleDuration
1Getting Started - How to Get Help 00:58
2Solving Machine Learning Problems 06:05
3A Complete Walkthrough 09:54
4App Setup 02:02
5Problem Outline 02:54
6Identifying Relevant Data 04:12
7Dataset Structures 05:48
8Recording Observation Data 04:00
9What Type of Problem? 04:36
10How K-Nearest Neighbor Works 08:24
11Lodash Review 09:57
12Implementing KNN 07:17
13Finishing KNN Implementation 05:54
14Testing the Algorithm 04:49
15Interpreting Bad Results 04:13
16Test and Training Data 04:06
17Randomizing Test Data 03:49
18Generalizing KNN 03:42
19Gauging Accuracy 05:19
20Printing a Report 03:30
21Refactoring Accuracy Reporting 05:14
22Investigating Optimal K Values 11:39
23Updating KNN for Multiple Features 06:37
24Multi-Dimensional KNN 03:57
25N-Dimension Distance 09:51
26Arbitrary Feature Spaces 08:28
27Magnitude Offsets in Features 05:37
28Feature Normalization 07:33
29Normalization with MinMax 07:15
30Applying Normalization 04:23
31Feature Selection with KNN 07:48
32Objective Feature Picking 06:11
33Evaluating Different Feature Values 02:54
34Let's Get Our Bearings 07:28
35A Plan to Move Forward 04:32
36Tensor Shape and Dimension 12:05
37Elementwise Operations 08:19
38Broadcasting Operations 06:48
39Logging Tensor Data 03:48
40Tensor Accessors 05:25
41Creating Slices of Data 07:47
42Tensor Concatenation 05:29
43Summing Values Along an Axis 05:14
44Massaging Dimensions with ExpandDims 07:48
45KNN with Regression 04:57
46A Change in Data Structure 04:05
47KNN with Tensorflow 09:19
48Maintaining Order Relationships 06:31
49Sorting Tensors 08:01
50Averaging Top Values 07:44
51Moving to the Editor 03:27
52Loading CSV Data 10:11
53Running an Analysis 06:11
54Reporting Error Percentages 06:27
55Normalization or Standardization? 07:34
56Numerical Standardization with Tensorflow 07:38
57Applying Standardization 04:02
58Debugging Calculations 08:15
59What Now? 04:01
60Linear Regression 02:40
61Why Linear Regression? 04:53
62Understanding Gradient Descent 13:05
63Guessing Coefficients with MSE 10:20
64Observations Around MSE 05:57
65Derivatives! 07:13
66Gradient Descent in Action 11:47
67Quick Breather and Review 05:47
68Why a Learning Rate? 17:06
69Answering Common Questions 03:49
70Gradient Descent with Multiple Terms 04:44
71Multiple Terms in Action 10:40
72Project Overview 06:02
73Data Loading 05:18
74Default Algorithm Options 08:33
75Formulating the Training Loop 03:19
76Initial Gradient Descent Implementation 09:25
77Calculating MSE Slopes 06:53
78Updating Coefficients 03:12
79Interpreting Results 10:08
80Matrix Multiplication 07:10
81More on Matrix Multiplication 06:41
82Matrix Form of Slope Equations 06:22
83Simplification with Matrix Multiplication 09:29
84How it All Works Together! 14:02
85Refactoring the Linear Regression Class 07:41
86Refactoring to One Equation 08:59
87A Few More Changes 06:14
88Same Results? Or Not? 03:20
89Calculating Model Accuracy 08:38
90Implementing Coefficient of Determination 07:45
91Dealing with Bad Accuracy 07:48
92Reminder on Standardization 04:37
93Data Processing in a Helper Method 03:39
94Reapplying Standardization 05:58
95Fixing Standardization Issues 05:37
96Massaging Learning Rates 03:16
97Moving Towards Multivariate Regression 11:45
98Refactoring for Multivariate Analysis 07:29
99Learning Rate Optimization 08:05
100Recording MSE History 05:22
101Updating Learning Rate 06:42
102Observing Changing Learning Rate and MSE 04:18
103Plotting MSE Values 05:22
104Plotting MSE History against B Values 04:23
105Batch and Stochastic Gradient Descent 07:18
106Refactoring Towards Batch Gradient Descent 05:07
107Determining Batch Size and Quantity 06:03
108Iterating Over Batches 07:49
109Evaluating Batch Gradient Descent Results 05:42
110Making Predictions with the Model 07:38
111Introducing Logistic Regression 02:28
112Logistic Regression in Action 06:32
113Bad Equation Fits 05:32
114The Sigmoid Equation 04:32
115Decision Boundaries 07:48
116Changes for Logistic Regression 01:12
117Project Setup for Logistic Regression 05:52
118Importing Vehicle Data 04:28
119Encoding Label Values 04:19
120Updating Linear Regression for Logistic Regression 07:09
121The Sigmoid Equation with Logistic Regression 04:28
122A Touch More Refactoring 07:47
123Gauging Classification Accuracy 03:28
124Implementing a Test Function 05:17
125Variable Decision Boundaries 07:17
126Mean Squared Error vs Cross Entropy 05:47
127Refactoring with Cross Entropy 05:09
128Finishing the Cost Refactor 04:37
129Plotting Changing Cost History 03:25
130Multinominal Logistic Regression 02:20
131A Smart Refactor to Multinominal Analysis 05:08
132A Smarter Refactor! 03:46
133A Single Instance Approach 09:51
134Refactoring to Multi-Column Weights 04:40
135A Problem to Test Multinominal Classification 04:38
136Classifying Continuous Values 04:42
137Training a Multinominal Model 06:20
138Marginal vs Conditional Probability 09:57
139Sigmoid vs Softmax 06:09
140Refactoring Sigmoid to Softmax 04:43
141Implementing Accuracy Gauges 02:37
142Calculating Accuracy 03:16
143Handwriting Recognition 02:11
144Greyscale Values 05:12
145Many Features 03:30
146Flattening Image Data 06:07
147Encoding Label Values 05:45
148Implementing an Accuracy Gauge 07:27
149Unchanging Accuracy 01:56
150Debugging the Calculation Process 08:13
151Dealing with Zero Variances 06:16
152Backfilling Variance 02:37
153Handing Large Datasets 04:15
154Minimizing Memory Usage 04:51
155Creating Memory Snapshots 05:15
156The Javascript Garbage Collector 06:50
157Shallow vs Retained Memory Usage 05:51
158Measuring Memory Usage 08:30
159Releasing References 03:15
160Measuring Footprint Reduction 03:51
161Optimization Tensorflow Memory Usage 01:32
162Tensorflow's Eager Memory Usage 04:41
163Cleaning up Tensors with Tidy 02:49
164Implementing TF Tidy 03:32
165Tidying the Training Loop 03:58
166Measuring Reduced Memory Usage 01:35
167One More Optimization 02:36
168Final Memory Report 02:45
169Plotting Cost History 04:04
170NaN in Cost History 04:19
171Fixing Cost History 04:47
172Massaging Learning Parameters 01:41
173Improving Model Accuracy 04:28
174Loading CSV Files 02:07
175A Test Dataset 02:01
176Reading Files from Disk 03:09
177Splitting into Columns 02:55
178Dropping Trailing Columns 02:31
179Parsing Number Values 03:37
180Custom Value Parsing 04:20
181Extracting Data Columns 05:36
182Shuffling Data via Seed Phrase 05:14
183Splitting Test and Training 07:45

What courses are similar to Machine Learning with Javascript?

More courses by Stephen Grider

Frequently asked questions

What prerequisites are necessary for this course?
To get the most out of this course, it's beneficial to have a basic understanding of JavaScript as the course primarily uses this language to implement machine learning algorithms. Familiarity with basic programming concepts such as loops, functions, and data structures will help you follow along more effectively. While the course covers the necessary tools and libraries, prior experience with JavaScript libraries like Lodash might be helpful, as there's a review on it included in the lessons.
What will I build during the course?
Throughout the course, you will implement a variety of machine learning algorithms, with a major focus on the K-Nearest Neighbor (KNN) algorithm. You will learn to handle datasets, implement the KNN algorithm, and refine it to work with multiple features and dimensions. The course also guides you in applying normalization techniques and using Tensorflow for more advanced implementations, culminating in a project involving KNN with regression.
Who is the target audience for this course?
This course is designed for developers who have a foundational knowledge of JavaScript and are interested in applying machine learning techniques within their applications. It's suitable for those who want to gain hands-on experience with implementing algorithms like KNN and using libraries such as Tensorflow in a JavaScript environment. Anyone looking to understand machine learning concepts through practical JavaScript applications will find this course valuable.
What specific tools or platforms will I learn to use?
The course focuses on using JavaScript to implement machine learning algorithms, with particular emphasis on the K-Nearest Neighbor (KNN) method. It covers tools and libraries such as Lodash for data manipulation and Tensorflow for handling more complex machine learning tasks. You'll also learn how to work with CSV data and apply techniques like normalization and standardization using these tools.
What topics are not covered in this course?
This course does not cover advanced machine learning topics such as neural networks, deep learning, or reinforcement learning. It focuses primarily on understanding and implementing the K-Nearest Neighbor algorithm and basic linear regression. Other advanced techniques or algorithms are not within the scope of this course, making it more suitable for learners interested in foundational machine learning concepts using JavaScript.
How much time will I need to commit to this course?
The course consists of 183 lessons, but the total runtime is not provided. However, given the breadth of topics covered, such as implementing KNN, understanding dataset structures, and using Tensorflow, you should be prepared to invest a significant amount of time to thoroughly understand each section. Allocating consistent weekly hours for study and practice will be essential to keep pace and absorb the material effectively.
How can the knowledge from this course be applied to other fields or careers?
The machine learning concepts and skills gained in this course are highly transferable to various fields where data analysis and predictive algorithms are valuable. Understanding how to implement algorithms like KNN using JavaScript can be beneficial in web development, data science, and software engineering roles. Additionally, the experience with Tensorflow and data manipulation techniques will be advantageous if you decide to explore more advanced machine learning courses or careers in data-driven industries.