Hands-On Learning with Jupyter Notebooks
Interactive notebooks provide practical coding examples and visualizations to complement the lecture slides. All notebooks are runnable in Google Colab or local Jupyter environments.
Fundamentals & Data Science Basics
- Anscombe’s Quartet - Why visualization matters
- Visualization Techniques - Comprehensive plotting guide
- NumPy & Pandas Basics - Essential data manipulation
- Binomial Distribution - Probability foundations
- Tips Dataset Analysis - Real-world data exploration
- Rule-Based vs ML - When to use ML
Mathematical Foundations
- Basis Functions - Linear algebra foundations
- Basis Functions II - Advanced basis concepts
- Contour Plots - Visualizing functions
- Meshgrid & Contours - Grid visualization
- Taylor Series - Mathematical approximations
- Polynomial Features - Feature engineering
- Curse of Dimensionality - High-dimensional problems
Optimization & Gradient Methods
- Gradient Descent - Core optimization
- Gradient Descent 2D - Visual optimization
- Cost vs Iterations - Convergence analysis
- Automatic Differentiation - Modern backpropagation
Supervised Learning Algorithms
Linear Models
- Linear Regression - Basic regression
- Linear Regression Tutorial - Step-by-step guide
- Geometric Linear Regression - Visual interpretation
- Ridge Regression - Regularized regression
- Lasso Regression - Sparse solutions
Classification Methods
- Logistic Regression - PyTorch implementation
- Logistic Regression Cost - Loss function analysis
- Logistic: Apples vs Oranges - Binary classification
- Logistic: Circular Data - Non-linear boundaries
- Logistic: Iris Dataset - Multi-class classification
- Logits Usage - Understanding logits
Tree-Based Methods
- Decision Trees: Discrete → Discrete
- Decision Trees: Real → Discrete
- Decision Trees: Real → Real
- Decision Tree Classes - Classification trees
- Weighted Decision Trees - Sample weighting
- Ensemble Feature Importance
- Boosting Explanation - AdaBoost mechanics
- Ensemble Representations
Instance-Based Learning
- KNN Variants - Different distance metrics
- Movie Recommendation - Collaborative filtering
Support Vector Machines
- SVM Basics - Introduction to SVMs
- SVM with CVXOPT - Optimization implementation
- SVM Kernel Understanding - Kernel trick
- SVM Kernels - Different kernel functions
- SVM Primal-Dual - Mathematical foundations
- SVM Soft Margin - Handling noise
Model Evaluation & Selection
- Bias-Variance Analysis - Fundamental tradeoff
- Bias-Variance Charts - Visual analysis
- Cross-Validation Diagrams - Validation strategies
- PR Curves - Precision-Recall analysis
- Dummy Baselines - Baseline comparisons
- Dummy Variables - Encoding issues
- Hyperparameter Optimization
- Hyperparameter Experiments
- Confusion Matrix: MNIST - Multi-class evaluation
Neural Networks & Deep Learning
- Perceptron Learning - Basic neural unit
- Convolutional Operations - CNN fundamentals
- Convolution with Stride - Parameter effects
- CNNs - Complete CNN implementation
- 1D CNNs - Sequence processing
- CNN Edge Detection - Feature visualization
- LeNet Architecture - Classic CNN
- VGG on MNIST - Modern CNN
- MNIST Digits - Digit classification
- Image Generation - Generative models
- Object Detection - Computer vision
- SIREN Networks - Implicit neural representations
- NN Vectorization - Efficient implementation
Unsupervised Learning
- Principal Component Analysis - Dimensionality reduction
- Tensor Factorization - Matrix decomposition
Advanced Topics
- Autoregressive Models - Time series prediction
- Q-Learning - Reinforcement learning basics
- Deep Q-Learning - Neural RL
- RL Gym Environments - Practice environments
- Feature Selection - Forward/backward selection
- Sklearn on GPU - Performance optimization
- Zero/Few Shot Learning - Modern ML paradigms
Special Applications
- Names Analysis - Text processing
- Audio Transcription - Speech processing
Other Notebooks
The following notebooks are available but not yet categorized:
Getting Started
Running Notebooks
- Google Colab: Click any notebook link above
- Local Jupyter: Clone the repository and run
jupyter notebook
- Binder: Launch interactive environment (link coming soon)
Prerequisites
- Basic Python knowledge
- Familiarity with NumPy, Pandas, Matplotlib
- Linear algebra and calculus basics
Tips for Success
- Start Sequential: Begin with Fundamentals before diving into advanced topics
- Practice Regularly: Code along with each notebook
- Experiment: Modify parameters and observe changes
- Visualize: Pay attention to plots and visual explanations