AI by Hand ✍️

AI by Hand ✍️

SVM by Hand ✍️

Calculating AI by Hand: 4 of 28

Prof. Tom Yeh's avatar
Prof. Tom Yeh
Mar 18, 2024
∙ Paid

Library › Calculating AI by Hand ✍️

  1. Matrix Multiplication by Hand ✍️

  2. Multi Layer Perceptron (MLP) by Hand ✍️

  3. Backpropagation by Hand ✍️

  4. SVM by Hand ✍️

  5. Batch Normalization by Hand ✍️

  6. Dropout by Hand ✍️

  7. Recurrent Neural Network (RNN) by Hand ✍️

  8. LSTM by Hand ✍️

  9. Deep RNN by Hand ✍️

  10. Self Attention by Hand ✍️

  11. Transformer by Hand ✍️

  12. Autoencoder by Hand ✍️

  13. Variational Auto Encoder (VAE) by Hand ✍️

  14. Sparse Auto Encoder (SAE) by Hand ✍️

  15. Generative Adversarial Network (GAN) by Hand ✍️

  16. Sampling a Sentence by Hand ✍️

  17. Residual Network by Hand ✍️

  18. U-Net by Hand ✍️

  19. Discrete Fourier Transform by Hand ✍️

  20. Graph Convolutional Network (GCN) by Hand ✍️

  21. CLIP by Hand ✍️

  22. Vector Database by Hand ✍️

  23. Mixture of Experts (MoE) by Hand ✍️

  24. Switch Transformer by Hand ✍️

  25. Mamba's S6 by Hand ✍️

  26. Sora's Diffusion Transformer (DiT) by Hand ✍️

  27. BitNet by Hand ✍️

  28. Reinforcement Learning with Human Feedback (RLHF) by Hand ✍️

Support Vector Machines (SVMs) reigned supreme in machine learning before the deep learning revolution.

In every model so far, both the forward and backward passes are matrix multiplications, which is exactly what GPUs accelerate. An SVM is different: its prediction is still built on matrix multiplication (dot products between vectors), but it is trained by convex optimization rather than backpropagation, so there is no matrix-multiplication backward pass to hand to a GPU. That is a big reason SVMs never rode the GPU and big-data wave that powered deep learning.

I took great effort to lay out this SVM exactly like an MLP, using the same matrix-multiplication format, so you can visually compare and see how similar the prediction step looks.

This exercise compares Linear and RBF SVMs: how each classifies two test vectors, using support vectors learned from six training vectors.

Setup

Step 1 of 19: Given

xi: Six training vectors (blue rows 🟦) yi: Labels

Using xi and yi, we learned ai and b (red borders):

  • ai: coefficient for each training vector i.

  • Non-zero: A Support Vector that defines the decision boundary

  • Zero: Too far from the decision boundary, ignored

  • b: bias (how much the decision boundary should be shifted)

x’j: Two test vectors (yellow columns 🟨)

(To simplify hand calculation, training and test vectors are not normalized.)

Linear SVM

Kernel Matrix

Step 2 of 19: Test Vector 1

  • Take dot product between the test vector 🟨 and every training vector 🟦

  • The dot product approximates the “cosine similarity” between two vectors

  • Output: 1st column of K

Step 3 of 19: Test Vector 2

  • Similar to [2]

  • Output: 2nd column of K

This post is for paid subscribers

Already a paid subscriber? Sign in
© 2026 Tom Yeh · Privacy ∙ Terms ∙ Collection notice
Start your SubstackGet the app
Substack is the home for great culture