Machine Learning Roadmap

Jul 9, 2024

Lecture Notes on Machine Learning Roadmap

Introduction

  • Excitement about sharing the roadmap for machine learning (ML).
  • Key resources will be provided in the description: mind map, GitHub repository, slides, timestamps.
  • Features a visual interactive mind map for ML.

Exploring the Roadmap

  • Covers topics such as ML problems, processes, resources, and tools.
  • Emphasis on mathematics underlying ML algorithms.
  • Encouragement to playfully explore the roadmap using the Whimsical tool.
  • Overview of main topics:
    • ML problems
    • ML process
    • Learning resources
    • Tools
    • Mathematics

What is Machine Learning?

  • Definition: ML converts data into numbers and finds patterns in those numbers.
  • Arthur Samuel's definition: "ML gives computers the ability to learn without being explicitly programmed."
  • Contrast between traditional programming (Software 1.0) and ML (Software 2.0).
  • ML requires traditional programming for implementation.

ML vs Traditional Programming

  • Traditional programming: manually coding steps to achieve a task.
  • Example: Coding a recipe vs. using ML to find optimal steps by learning from data.
  • ML uses data inputs and desired outputs to learn patterns, unlike manually writing every rule.

Benefits and Use Cases of ML

  • Benefits of using ML:
    • Problems with long lists of rules (e.g., self-driving cars).
    • Continually changing environments.
    • Discovering insights within large collections of data.
  • Example: Tesla's use of ML for self-driving cars – collecting data from cameras and using it to improve driving algorithms.

Key Topics Covered

  1. Machine Learning Problems

    • Categories: Supervised, Unsupervised, Transfer Learning, Reinforcement Learning.
    • Problem Domains: Classification, Regression, Clustering, Dimensionality Reduction.
  2. ML Process Steps

    • Data Collection: Where to get data, privacy, structure, storage.
    • Data Preparation: Exploratory Data Analysis (EDA), data preprocessing, feature engineering.
    • Model Training: Choosing an algorithm, training, reducing overfitting.
    • Analysis & Evaluation: Metrics, model performance.
    • Serving Models: Deployment, inference time, retraining models as needed.
  3. ML Tools

    • Libraries: TensorFlow, PyTorch, scikit-learn, etc.
    • Experiment Tracking: TensorBoard, Weights & Biases.
    • Pre-trained Models: TensorFlow Hub, Hugging Face Transformers, Detectron2.
    • Data & Model Tracking: DVC, Weights & Biases Artifacts.
    • Cloud Compute Services: Google Colab, AWS, GCP, Azure.
    • AutoML & Hyperparameter Tuning: Teapot, Google Cloud AutoML, etc.
    • Explainability: What-If Tool, SHAP Values.
    • ML Lifecycle & Deployment: MLflow, Kubeflow, Streamlit.
  4. Mathematics in ML

    • Topics to understand: Linear Algebra, Matrix Multiplication, Multivariate Calculus, Chain Rule, Probability, Optimization.
    • Recommended approach: Start with coding, learn math as needed.
  5. Learning Resources

    • Beginner Path: Concepts, tools, Python, NumPy, pandas, scikit-learn; milestones projects.
    • Advanced Path: Fastai, TensorFlow, Full Stack Deep Learning, milestone projects.
    • Supplementary Resources: Courses, books, articles, communities for ongoing learning.

Summary

  • Reviewed important aspects of ML: problems, processes, tools, mathematics, and resources.
  • Emphasized practical exploration and project-based learning.
  • Encouraged to customize learning paths and continually seek new understanding.