Machine Learning Notebook
  • Introduction
  • Supervised Learning
    • Basic Overview
      • Numpy Basics
      • Loss Functions
      • Evaluation Metrics
    • Convolutional Neural Network
      • Convolution Operation
      • Transpose Convolution Operation
      • Batch Normalization
      • Weight Initialization
      • Segmentation
    • Diffusion
      • KL Divergence
      • Variational Inference
      • Variational Autoencoder
      • Stable Diffusion Overview
      • Stable Diffusion Deep Dive
    • Naive Bayes
    • Decision Tree
      • Random Forest
      • Gradient Boosting
    • Natural Language Processing
      • Word2Vec
    • Search
      • Nearest Neighbor Search
    • Recommender
      • Singular Value Decomposition
      • Low Rank Matrix Factorization
      • Neural Collaborative Filtering
      • Sampling Bias Corrected Neural Modeling for Large Corpus Item Recommendations
      • Real-time Personalization using Embeddings for Search Ranking
      • Wide and Deep Learning for Recommender Systems
    • Recurrent Neural Network
      • Vanilla Recurrent Neural Network
      • LSTM Recurrent Neural Network
  • Unsupervised Learning
    • Clustering
      • Spectral Clustering
    • Reinforcement Learning
      • Deep Q Learning
      • Policy Gradients
  • SageMaker
    • Population Segmentation with PCA and KMeans
    • Fraud Detection with Linear Learner
    • Time Series Forecast with DeepAR
    • PyTorch Non-linear Classifier
Powered by GitBook
On this page
  • Introduction
  • Python 2 vs Python 3
  • Table of Contents
  • Export Notebook
  • Jupyter Convert
  • Latex

Introduction

NextBasic Overview

Last updated 2 years ago

Introduction

This is my personal notebook for documenting knowledge I picked up as I progress through my career in machine learning. I like to write things down to reinforce my understanding of a topic. Although I strive to provide the best explanation, I don't do this full time. I don't recommend this notebook as a learning resource for beginners.

If you are reading this, I recommend the following resources for you. They are written by people in the research communities.

Python 2 vs Python 3

I wrote majority of the content in Python 2.7 in 2018. Now it's 2023, Python 2 has been long deprecated, I am switching to Python 3.8 with TensorFlow 2.x and PyTorch.

My current system setup

  • Ubuntu 20.04

  • Tensorflow 2.8 or PyTorch 1.13

  • Python 3.8.*

  • CUDA 11.2

  • cuDNN 8.4

  • Matplotlib 3.5.*

Some older code will be running on

  • Tensorflow 1.15

  • Python 2.7.*

PyTorch 2.0 is coming out in March 2023. I will switch to that soon.

Table of Contents

  • Clustering

  • Simple Neural Networks

  • Convolutional Neural Networks

  • Generative Adversial Networks

  • Recurrent Neural Networks

  • Random Forest

  • Reinforcement Learning

  • Natural Language Processing

  • Naive Bayesian Networks

  • Recommender System

  • Transferred Learning

  • Machine Learning in Production

Export Notebook

Jupyter Convert

If my notebook does not contain any matplotlib.pyplot then I can export it as simple text.

jupyter nbconvert --to markdown loss_function_overview.ipynb --stdout

Otherwise, I'd need to export differently.

jupyter nbconvert --to markdown loss_function_overview.ipynb

Latex

Jupyter notebook uses single dollar sign for inline equations but GitBook uses double dollar sign for inline equations. I need a RegExp that capture and convert.

? means once or none.

\$.?\$

+ means one or more.

\$.+\$

The following will capture all $<some text>$.

^\$.+\$$
Dive Into Deep Learning
Deep Learning
labml.ai Annotated PyTorch Paper Implementations