Formula Used
The parameter vector moves opposite the local gradient. The learning rate controls each update distance. Optimiser rules can modify that direction and scale.
Adam update
v(t) = β₂v(t−1) + (1−β₂)g(t)²
θ(t+1) = θ(t) − α·m̂(t)/(√v̂(t)+ε)
How to Use
- Select an objective function.
- Choose a starting point and bounds.
- Set an optimiser and learning rate.
- Adjust stopping and display controls.
- Add comparison settings when needed.
- Press Calculate and Plot.
- Inspect paths, diagnostics, and iteration details.
- Export the required report or dataset.
Example Settings
| Objective | Start | Optimiser | Learning rate | Expected behaviour |
|---|---|---|---|---|
| Quadratic | (2.5, -1.5) | Momentum | 0.08 | Fast movement toward one minimum. |
| Rosenbrock | (-1.4, 1.6) | Adam | 0.002 | Curved progress through a narrow valley. |
| Himmelblau | (-3, -3) | RMSProp | 0.01 | Convergence toward one local minimum. |
| Linear MSE | (0, 0) | Batch gradient descent | 0.03 | Slope and intercept approach fitted values. |
Interpretation and Common Diagnostics
A smooth falling loss usually indicates stable optimisation. Repeated crossings often indicate an excessive learning rate. Very slow movement can indicate undersized updates.
Plateaus can occur near flat regions or saddle points. Exploding gradients create very large steps. Clipping can limit those unstable updates.
Different starting points may reach different local minima. Optimiser comparisons reveal sensitivity to update rules. Always inspect both loss and path geometry.
Frequently Asked Questions
What does the path represent?
It shows every parameter position visited during optimisation. Each segment represents one update.
Why can the path oscillate?
The learning rate may be too large. Momentum can also preserve excessive movement.
Why does gradient descent stop early?
A tolerance, patience limit, optimum distance, or divergence rule may have triggered.
What is a contour line?
It connects locations with equal objective values. Tight spacing indicates steeper surface regions.
Which optimiser should I choose?
Start with Adam for difficult surfaces. Compare it with simpler methods before deciding.
What does gradient clipping do?
It limits gradient magnitude before updating parameters. This can reduce unstable jumps.
Can custom functions be used?
Yes. Enter a supported expression using x and y. Numerical derivatives provide a fallback.
Why use several starting points?
Non-convex functions can contain multiple minima. Multiple starts expose different convergence outcomes.
What is the gradient norm?
It measures gradient magnitude. Small values often indicate a stationary region.