Many machine learning algorithms require numerical optimization. For example, when training a neural network you have to find values of the weights and biases so that computed outputs closely match the outputs of your training data. In some situations numerical optimization problems can be solved exactly using calculus techniques but in many situations you must estimate the best solution. Some techniques to estimate the solution to difficult numerical optimization problems include simple gradient descent, particle swarm optimization, and genetic algorithms.
When experimenting with numerical optimization algorithms it’s useful to use some dummy function that has a known solution. One such function I sometimes use is f(x,y) = x * exp( -(x^2 + y^2) ). The function does not have a name that I’m aware of so I call it the double-dip function. The function has a (minimum) solution of f = -0.42888194248 at x = -0.707107 (negative square root of 2, divided by 2), and y = 0.0.
I used this double-dip function to demonstrate particle swarm optimization in an article I wrote for the November 2013 issue of Visual Studio Magazine.
To graph the function I use a program called SciLab which is a free program similar to the very pricey MatLab. Here are SciLab commands to plot the double-dip function:
-->[x,y]=meshgrid(-2:.15:2,-2:.15:2); -->z=x .*exp(-(x.^2+y.^2)); -->g=scf(); -->g.color_map=jetcolormap(64); -->surf(x,y,z);
The first command sets up a matrix of x-y values from -2 to +2, spaced 0.15 apart. The second command defines the function. Notice the use of the .* and .^ operators instead of * and ^. The correct use of these operators is tricky and for me at least, often boils down to trial and error. The third command creates a graph. The fourth command sets the graph's coloring scheme. And the final command plots ("surface plot") the graph.

.NET Test Automation Recipes
Software Testing
SciPy Programming Succinctly
Keras Succinctly
R Programming
2026 Visual Studio Live
2025 Summer MLADS Conference
2026 DevIntersection Conference
2025 Machine Learning Week
2025 Ai4 Conference
2026 G2E Conference
2026 iSC West Conference
You must be logged in to post a comment.