First order optimization, two classic variants

Mirror descent and Frank-Wolfe

Both methods start from projected gradient descent and change one piece of it. Mirror descent changes how distance is measured. Frank-Wolfe changes how the constraint is enforced.

The step they both modify

A projected gradient step solves a small problem at every iteration. Go downhill along the gradient g_k, stay close to the current point x_k, and stay inside the feasible set C.

x_{k+1} = \arg\min_{x \in C} \left\{ \langle g_k, x \rangle + \frac{1}{2\eta}\, \| x - x_k \|_2^2 \right\}
Mirror descentReplaces the squared Euclidean distance with a distance that fits the shape of the feasible set.
Frank-WolfeDrops the distance term, which leaves a linear problem over the feasible set and no projection.
Part one

Mirror descent changes the ruler

Projected gradient descent Mirror descent with entropy +Bottom of the bowl, drag it Start, drag it

The feasible set is the probability simplex in three dimensions, drawn as a triangle. Each corner puts all the weight on one coordinate. The loss is a bowl f(x) = \tfrac12 \|x - t\|_2^2 and you can drag its bottom t.

Each outline marks the points that a method treats as equally far from where it stands. The next iterate is the point on that outline that goes furthest downhill according to the current gradient.

Projected gradient descent draws a circle. A circle knows nothing about the edges, so the raw step can leave the triangle and must be projected back.

Mirror descent with the entropy ruler measures distance with KL divergence. Its outline flattens against nearby edges, because pushing a small coordinate toward zero counts as a long trip. The update multiplies each coordinate by a positive number, so the iterate can never leave.

Projected gradient descent
x_{k+1} = \Pi_C\!\left( x_k - \eta\, g_k \right)
Mirror descent with entropy, also called exponentiated gradient
x_{k+1,i} = \dfrac{x_{k,i}\, e^{-\eta g_{k,i}}}{\sum_j x_{k,j}\, e^{-\eta g_{k,j}}}
0.40
Steps taken0
Gap to best loss, projected GD0
Gap to best loss, mirror descent0

On a small smooth bowl like this one the circle often arrives in fewer steps. The entropy ruler pays off in high dimension, which the next chart shows.

The payoff appears as the dimension grows

A simulation run for this page. Every coordinate returns a random loss of 0 or 1. One coordinate has mean 0.3 and the other d-1 have mean 0.5. Both methods start from the uniform vector, take 1,000 steps with their textbook step sizes, and report the averaged iterate. Values are means over 5 seeds. Tuning both step sizes over a grid left the ordering unchanged.

The Euclidean guarantee scales with the 2-norm of the gradient, which grows like \sqrt{d} in this problem. The entropy guarantee scales with the largest single coordinate of the gradient and pays only a \sqrt{\log d} factor for the dimension.

Part two

Frank-Wolfe skips the projection

Projected gradient descent Frank-Wolfe +Bottom of the bowl, drag it Start, drag it

The feasible set is a polygon and the loss is the same kind of bowl. Its bottom sits outside the polygon, so the best feasible point lies on an edge.

Each step asks one question. Which point of C lies furthest in the downhill direction? Picture a line perpendicular to the gradient sliding across the set. The last point it touches is the answer, and for a polygon that point is always a corner. The dashed grey line shows that last contact.

Then move part of the way toward that corner. The fraction is \gamma_k = \frac{2}{k+2}, so the first step jumps all the way and later steps shrink. The new point is a weighted average of two feasible points, which makes it feasible with no projection.

Find the best corner
s_k = \arg\min_{s \in C}\ \langle \nabla f(x_k),\, s \rangle
Move part of the way there
x_{k+1} = (1-\gamma_k)\, x_k + \gamma_k\, s_k
Steps taken0
Fraction for the next step1.00
Gap to best loss, projected GD0
Gap to best loss, Frank-Wolfe0

Watch the zigzag. When the best point lies on an edge, the answer alternates between the two corners of that edge, and only the shrinking fraction settles it. The Frank-Wolfe gap bounces instead of falling steadily, and projected gradient descent with step size 0.5 pulls ahead within a few steps on this toy. Frank-Wolfe wins when projecting costs far more than the linear question. Under a nuclear norm constraint, projection needs a full SVD while the linear question needs only the top singular vector pair.

Side by side

Projected gradient descentMirror descentFrank-Wolfe
Work per stepA gradient and a Euclidean projection onto CA gradient and a projection in the chosen geometry, often available in closed formA gradient and one linear minimization over C
How it stays feasibleProjects back after each stepThe distance grows steeply near the boundaryAverages feasible points
Worst-case guarantee, convex f\dfrac{RG}{\sqrt{K}} with noisy gradientsThe same form, with R and G measured in the chosen geometry\dfrac{2LD^2}{K+2} for smooth f with exact gradients, where L is the smoothness constant and D is the diameter of C
Reach for it whenThe set is simple and Euclidean distance is naturalThe set has its own geometry, such as probability vectors in high dimensionProjection is expensive, or you want iterates built from few corners