Machine Learning with Javascript
-
What is Machine Learning
-
Algorithm OverviewHow K-Nearest Neighbor Works0sLodash Review0sImplementing KNN0sFinishing KNN Implementation0sTesting the Algorithm0sInterpreting Bad Results0sTest and Training Data0sRandomizing Test Data0sGeneralizing KNN0sGauging Accuracy0sPrinting a Report0sRefactoring Accuracy Reporting0sInvestigating Optimal K Values0sUpdating KNN for Multiple Features0sMulti-Dimensional KNN0sN-Dimension Distance0sArbitrary Feature Spaces0sMagnitude Offsets in Features0sFeature Normalization0sNormalization with MinMax0sApplying Normalization0sFeature Selection with KNN0sObjective Feature Picking0sEvaluating Different Feature Values0s
-
Onwards to Tensorflow JS!Let’s Get Our Bearings0sA Plan to Move Forward0sTensor Shape and Dimension0sElementwise Operations0sTensor Dimension and ShapesBroadcasting Operations0sBroadcasting Elementwise OperationsLogging Tensor Data0sTensor Accessors0sCreating Slices of Data0sTensor Concatenation0sSumming Values Along an Axis0sMassaging Dimensions with ExpandDims0s
-
Applications of TensorflowKNN with Regression0sA Change in Data Structure0sKNN with Tensorflow0sMaintaining Order Relationships0sSorting Tensors0sAveraging Top Values0sMoving to the Editor0sLoading CSV Data0sRunning an Analysis0sReporting Error Percentages0sNormalization or Standardization?0sNumerical Standardization with Tensorflow0sApplying Standardization0sDebugging Calculations0sWhat Now?0s
-
Getting Started with Gradient DescentLinear Regression0sWhy Linear Regression?0sUnderstanding Gradient Descent0sGuessing Coefficients with MSE0sObservations Around MSE0sDerivatives!0sGradient Descent in Action0sQuick Breather and Review0sWhy a Learning Rate?0sAnswering Common Questions0sGradient Descent with Multiple Terms0sMultiple Terms in Action0s
-
Gradient Descent with TensorflowProject Overview0sData Loading0sDefault Algorithm Options0sFormulating the Training Loop0sInitial Gradient Descent Implementation0sCalculating MSE Slopes0sUpdating Coefficients0sInterpreting Results0sMatrix Multiplication0sMore on Matrix Multiplication0sMatrix Form of Slope Equations0sSimplification with Matrix Multiplication0sHow it All Works Together!0s
-
Increasing Performance with Vectorized SolutionsRefactoring the Linear Regression Class0sRefactoring to One Equation0sA Few More Changes0sSame Results? Or Not?0sCalculating Model Accuracy0sImplementing Coefficient of Determination0sDealing with Bad Accuracy0sReminder on Standardization0sData Processing in a Helper Method0sReapplying Standardization0sFixing Standardization Issues0sMassaging Learning Rates0sMoving Towards Multivariate Regression0sRefactoring for Multivariate Analysis0sLearning Rate Optimization0sRecording MSE History0sUpdating Learning Rate0s
-
Plotting Data with Javascript
-
Gradient Descent Alterations
-
Natural Binary ClassificationIntroducing Logistic Regression0sLogistic Regression in Action0sBad Equation Fits0sThe Sigmoid Equation0sDecision Boundaries0sChanges for Logistic Regression0sProject Setup for Logistic Regression0sProject DownloadImporting Vehicle Data0sEncoding Label Values0sUpdating Linear Regression for Logistic Regression0sThe Sigmoid Equation with Logistic Regression0sA Touch More Refactoring0sGauging Classification Accuracy0sImplementing a Test Function0sVariable Decision Boundaries0sMean Squared Error vs Cross Entropy0sRefactoring with Cross Entropy0sFinishing the Cost Refactor0sPlotting Changing Cost History0s
-
Multi-Value ClassificationMultinominal Logistic Regression0sA Smart Refactor to Multinominal Analysis0sA Smarter Refactor!0sA Single Instance Approach0sRefactoring to Multi-Column Weights0sA Problem to Test Multinominal Classification0sClassifying Continuous Values0sTraining a Multinominal Model0sMarginal vs Conditional Probability0sSigmoid vs Softmax0sRefactoring Sigmoid to Softmax0sImplementing Accuracy Gauges0sCalculating Accuracy0s
-
Image Recognition In Action
-
Performance OptimizationHanding Large Datasets0sMinimizing Memory Usage0sCreating Memory Snapshots0sThe Javascript Garbage Collector0sShallow vs Retained Memory Usage0sMeasuring Memory Usage0sReleasing References0sMeasuring Footprint Reduction0sOptimization Tensorflow Memory Usage0sTensorflow’s Eager Memory Usage0sCleaning up Tensors with Tidy0sImplementing TF Tidy0sTidying the Training Loop0sMeasuring Reduced Memory Usage0sOne More Optimization0sFinal Memory Report0sPlotting Cost History0sNaN in Cost History0sFixing Cost History0sMassaging Learning Parameters0sImproving Model Accuracy0s
-
Appendix Custom CSV Loader
-
Extras
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
What's included
- 17.5 hours on-demand video
- 4 articles
- 2 downloadable resources
- Access on mobile and TV
- Certificate of completion