Implement linear regression from scratch using gradient descent (no sklearn). Steps: (1) Initialize weights to 0, (2) Compute predictions: y_pred = X @ w + b, (3) Compute MSE loss, (4) Compute gradients, (5) Update weights: w -= lr * dw, (6) Iterate until convergence. Plot loss curve. Test on synthetic data y = 3x + 5 + noise.