Minimize Objective example with Simple Python
Problem:
We want to predict y = 2 * x. Our model starts with a random weight and learns through repeated updates to minimize the squared error.
Python Simulation: Gradient Descent Minimization
# Simulate: Learning y = 2 * x # Training data x_data = [1, 2, 3, 4, 5] y_true = [2 * x for x in x_data] # Initial weight (random guess) w = 0.5 # Learning rate (small steps) lr = 0.01 # Training loop for epoch in range(50): total_loss = 0 for x, y in zip(x_data, y_true): # Step 1: Forward pass (prediction) y_pred = w * x # Step 2: Compute loss (Mean Squared Error) loss = (y_pred - y) ** 2 total_loss += loss # Step 3: Compute gradient of loss w.r.t weight grad = 2 * (y_pred - y) * x # Step 4: Update weight to minimize loss w = w - lr * grad print(f"Epoch {epoch+1}: Weight = {w:.4f}, Loss = {total_loss:.4f}")
What Happens?
Each loop (epoch):
- The model makes a guess using the current weight.
- It compares the guess with the true value (via squared error).
- It calculates how to correct the weight.
- It updates the weight slightly in the right direction.
- The loss keeps decreasing — that’s minimization!
Output (sample):
Epoch 1: Weight = 1.0200, Loss = 55.0000
Epoch 2: Weight = 1.3040, Loss = 26.3456
Epoch 3: Weight = 1.5133, Loss = 12.6288
…
Epoch 50: Weight = 1.9973, Loss = 0.0051
See how the weight converges toward 2 (the correct multiplier)? And the loss keeps decreasing — mission accomplished!
Minimize objective in Neural Network – Basic Math Concepts