Learn Machine Learning
through code

Implement ML algorithms from scratch. From gradients to transformers — learn the math, write the code, climb the leaderboard.

Why OVERFIT?

Built for people who learn
by doing

Code-First Problems
Every concept is a coding problem. No slides — just you, NumPy, and the math.
Live Leaderboard
Earn points, watch yourself rise. Compete with friends and classmates in real time.
ML Math Track
Linear algebra, calculus, probability — all framed through ML applications.
From Scratch
No sklearn shortcuts. Implement backprop, attention, and optimizers from the ground up.
Visual Explanations
Every problem has interactive visualizations that make the intuition click first.
NumPy & PyTorch
Same problem, multiple frameworks. Same math, different abstractions — your choice.
Problem #001 · Easy

Implement Sigmoid
from scratch

The gateway to neural networks. Implement σ(x) in NumPy, understand saturation, and verify with real test cases.

Easy Activation Functions Neural Networks
Solve it now →
sigmoid.py
import numpy as np

def sigmoid(x):
    """
    σ(x) = 1 / (1 + e^(-x))
    Maps any real number → (0, 1)
    """
    x = np.array(x, dtype=float)
    return 1 / (1 + np.exp(-x))

# Test cases
print(sigmoid(0))    # → 0.5
print(sigmoid(1))    # → 0.7310...
print(sigmoid(-1))   # → 0.2689...