Professional Documents
Culture Documents
A First Look at Duality
A First Look at Duality
A First Look at Duality
It is time for our first look at one of the most important concepts in
convex optimization (and all of convex analysis in general): duality.
With the separating and supporting hyperplane theorems, we have
had a glimpse of how hyperplanes and halfspaces interact with convex
sets. In this section, we will take this even further, and show that for
our closest point problem, the search for the optimal vector (points in
RN ) can be equivalently written as a search for a hyperplane (linear
functional on RN ).
25
Georgia Tech ECE 8823c notes by M. A. Davenport and J. Romberg. Last updated 23:45, January 27, 2019
A general closed convex set is the intersection of a possibly infinite
number of halfspaces:
where
A(z) = {set of supporting hyperplanes at z}
= {(a, b) : {aTx = b} is a supporting hyperplane at z}.
If x ∈ C, then x is also in every halfspace in the intersection above,
simply by the definition of “supporting hyperplane”, thus x ∈ C ⇒
x ∈ HC . If x 6∈ C, then there is at least one halfspace which does not
contain x; in particular, we can choose the hyperplane that supports
C at PC (x) with normal vector x − PC (x). Thus x 6∈ C ⇒ x 6∈ HC .
26
Georgia Tech ECE 8823c notes by M. A. Davenport and J. Romberg. Last updated 23:45, January 27, 2019
To continue, it will be critical for you to appreciate that vectors play
two distinct roles when we talk about convexity. The usual role (the
“primal” role, if you will) is as a point (set of coordinates) in RN . The
other role (the “dual” role) is as a linear functional: any a ∈ RN
defines a functional f (v) = hv, ai = aTv over v ∈ RN . When
coupled with a scalar, these functionals can be used to define subsets
of RN (hyperplanes and halfspaces).
This is a function that takes linear functionals (which again are just
vectors) as arguments, and returns the maximum1 value of that linear
functional over C. Geometrically, we take the halfspace {x : hx, ai ≤
b} and see how large we need to make b so that it contains C (of
course, b might be negative).
Note that scaling a scales h(a) by the same amount; for all β ≥ 0,
we can see that h(βa) = β h(a).
1
We are writing sup instead of max here since if C is not bounded, it very
well may be that h(a) is ∞. If C is closed and h(a) is finite, then there
is at least one point in C which achieves the maximum.
27
Georgia Tech ECE 8823c notes by M. A. Davenport and J. Romberg. Last updated 23:45, January 27, 2019
Examples:
{x : hx, ai = 3.89}
3
1 1
a=√
2 C 2 1
1 h(a) = 3.89
a
1 2 3
{x : hx, ai = 3}
3
0
a=
2 C 1
1 h(a) = 3
a
1 2 3
3
1 1
a = −√
2 C
2 1
1 h(a) = −1.41
{x : hx, ai = 1.41}
a 1 2 3
28
Georgia Tech ECE 8823c notes by M. A. Davenport and J. Romberg. Last updated 23:45, January 27, 2019
Problem: Find h(a) = supx∈C hx, ai for the following sets:
1. C = {x : kxk2 ≤ 1}
2. C = {x : kxk1 ≤ 1}
3. C = {x : kxk∞ ≤ 1}
29
Georgia Tech ECE 8823c notes by M. A. Davenport and J. Romberg. Last updated 23:45, January 27, 2019
We can use the support functional to recast the closest point problem
as a search for a linear functional (i.e. hyperplane or halfspace). We
will see that the projection of x0 onto C can be found by searching
over the hyperplanes which separate x0 from C and choosing the one
which is the maximum distance from x0:
x0
We will show this first for the case where x0 = 0; the result for
general x0 will then follow easily just by shifting everything relative
to x0. We want to show that the distance from C to the origin,
d := min kxk2,
x∈C
30
Georgia Tech ECE 8823c notes by M. A. Davenport and J. Romberg. Last updated 23:45, January 27, 2019
can also be computed as
d = max −h(a).
kak2 ≤1
Note that the last inequality follows from the fact that, from the
definition of h(a), we have that for all x ∈ C, hx, ai ≤ h(a), which
implies that hx, −ai ≥ −h(a). In words, this means that x is a
distance of at least −h(a) from the origin. This holds for every point
in C, so
d ≥ −h(a).
The inequality above holds uniformly over all unit norm a, thus
d ≥ max −h(a).
kak2 =1
We will now show that there exists an ab such that d ≤ h(a b ), and
thus, when combined with the result above, shows that d = −h(a b ).
We know by the projection theorem that there is a unique close
point to the origin, which we call x
b . Moreover, recall that this x b
must satisfy the obtuseness property:
hx − x
b , x0 − x
b i ≤ 0 for all x ∈ C.
31
Georgia Tech ECE 8823c notes by M. A. Davenport and J. Romberg. Last updated 23:45, January 27, 2019
In our case, x0 = 0, which yields
x
hx − x
b , −x
bi ≤ 0 ⇒ x, − ≤ − kx
b k2 = −d,
b
kx
b k2
b ) = suphx, a
h(a b i ≤ −d,
x∈C
The following picture might help you visualize the argument above:
{x : hx, a⇤ i = d}
C
x̂
Bd
d
â = a⇤ 0
32
Georgia Tech ECE 8823c notes by M. A. Davenport and J. Romberg. Last updated 23:45, January 27, 2019
We have shown that we can write the “closest point to the origin”
problem in two ways:
b = arg min kx − x0 k2 ,
x b = arg maxhx0 , ai − h(a),
a
x∈C kak2 ≤1
we have
x0 − x
b
a
b= .
kx0 − x
b k2
Note that for this problem, the uniqueness of the primal solution x
b
also implies the uniqueness of the dual solution a
b.
33
Georgia Tech ECE 8823c notes by M. A. Davenport and J. Romberg. Last updated 23:45, January 27, 2019
Summary: Closest Point Duality
Let C be a closed convex set, and let x0 ∈ RN be a fixed point.
On the previous pages, we have established:
1. For all x ∈ C and a with kak2 ≤ 1,
kx − x0k2 ≥ hx0, ai − h(a),
where
h(a) = suphy, ai.
y∈C
34
Georgia Tech ECE 8823c notes by M. A. Davenport and J. Romberg. Last updated 23:45, January 27, 2019
Let’s take one more look at the dual problem,
hx0, ai − h(a)
C C
x0
x0
35
Georgia Tech ECE 8823c notes by M. A. Davenport and J. Romberg. Last updated 23:45, January 27, 2019
1
Problem: Let C = {x ∈ R2 : kxk1 ≤ 1}. Set x0 = . Find
3
b ∈ C to x0 — you can do this by inspection after
the closest point x
sketching C and x0. Calculate a
b above, and verify that
kx0 − x
b k2 = hx0 , a
b i − h(a
b ).
36
Georgia Tech ECE 8823c notes by M. A. Davenport and J. Romberg. Last updated 23:45, January 27, 2019
Problem: Given x0, describe how to solve
37
Georgia Tech ECE 8823c notes by M. A. Davenport and J. Romberg. Last updated 23:45, January 27, 2019
Problem: Given x0, describe how to solve
38
Georgia Tech ECE 8823c notes by M. A. Davenport and J. Romberg. Last updated 23:45, January 27, 2019