What I Built
Implemented 15+ classical machine learning algorithms from scratch using pure NumPy - no scikit-learn or high-level ML libraries. Covered supervised learning (regression, classification, ensemble methods), unsupervised learning (clustering), and custom linear algebra utilities including PCA, SVD, and Jacobi eigenvalue decomposition.
What I Learned
Mathematics is the foundation. Building algorithms from first principles taught me the underlying math behind gradient descent, backpropagation, and optimization. Implementing custom matrix operations and understanding why “ikj” loop ordering outperforms “ijk” for matrix multiplication revealed the importance of computational efficiency.
Also learned that different optimization approaches (closed-form vs iterative) have distinct trade-offs in accuracy, speed, and numerical stability.
Project
Algorithms Implemented: Linear/Logistic Regression, SVM (3 variants), KNN, Naive Bayes, Decision Trees, Random Forest, Gradient Boosting, K-Means, PCA/SVD
Citation
@online{prasanna_koppolu,
author = {Prasanna Koppolu, Bhanu},
title = {Machine {Learning} from {Scratch}},
url = {https://bhanuprasanna2001.github.io/projects/ml_from_scratch.html},
langid = {en}
}